VOID DrvMovePointer(
IN SURFOBJ *pso, | |
IN LONG x, | |
IN LONG y, | |
IN RECTL *prcl | |
); |
DrvMovePointer moves the pointer to a new position and ensures that GDI does not interfere with the display of the pointer.
Parameters
pso
Points to a SURFOBJ structure that describes the surface of a display device.
x,y
Specify the x and y coordinates on the display where the hot spot of the pointer should be positioned. An x value of –1 indicates that the pointer should be removed from the display because drawing is about to occur where it is presently located. If the pointer has been removed from the display and the x value is nonnegative, the pointer should be restored.
prcl
Points to a RECTL structure defining an area that bounds all pixels affected by the pointer on the display. GDI will not draw in this rectangle without first removing the pointer from the screen. This parameter can be null.
Comments
DrvMovePointer will not be called while any thread is drawing in the display driver unless the GCAPS_ASYNCMOVE flag is set in the flGraphicsCaps member of the DEVINFO structure.
DrvMovePointer is required for display drivers only if DrvSetPointerShape is also supported.
If a driver has registered the specified pointer using DrvSetPointerShape, DrvMovePointer must not fail.
See Also