Share via


DrvMovePointer (Compact 2013)

3/26/2014

This function moves the pointer to a new position and ensures that GDI does not interfere with the display of the pointer.

Syntax

VOID DrvMovePointer(
  SURFOBJ* pso,
  LONG x,
  LONG y,
  RECTL* prcl
);

Parameters

  • pso
    [in] Pointer to a SURFOBJ structure that describes the surface of a display device.
  • x
    [in] X coordinate on the display where the driver should position the hot spot of the pointer. A negative x value indicates that the driver should remove the pointer 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 driver should restore the pointer.
  • y
    [in] Y coordinate on the display where the driver should position the hot spot of the pointer. When the driver has set the GCAPS_PANNING flag in the DEVINFO structure, a negative y value indicates that GDI is calling this function only to notify the driver of the cursor's current position. You can compute the current position as x + pso->sizlBitmap.cy. A driver that does not set the GCAPS_PANNING flag will never receive a negative y coordinate
  • prcl
    [in] Pointer 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. You can compute the current position y + pso->sizlBitmap.cy. This parameter can be NULL.

Return Value

None.

Remarks

DrvMovePointer is not called while any thread is drawing in the display driver.

If a driver has registered the specified pointer using DrvSetPointerShape, DrvMovePointer must not fail.

Requirements

Header

winddi.h

Library

Ddi_ati_lib.lib,
Ddi_flat_lib.lib,
Ddi_gx_lib.lib,
Ddi_mq200_lib.lib,
Ddi_nop_lib.lib,
Ddi_rflat_lib.lib,
Ddi_rgx_lib.lib,
Ddi_tvia5_lib.lib

See Also

Reference

Display Driver Functions
DrvSetPointerShape

Other Resources

RECTL