DrvSetPointerShape (Windows Embedded CE 6.0)

1/6/2010

This function requests the driver to take the pointer off the display if the driver has drawn it there, and to attempt to set a new pointer shape, and put the new pointer on the display at a specified position.

Syntax

ULONG DrvSetPointerShape(
  SURFOBJ* pso,
  SURFOBJ* psoMask,
  SURFOBJ* psoColor,
  XLATEOBJ* pxlo,
  LONG xHot,
  LONG yHot,
  LONG x,
  LONG y,
  RECTL* prcl,
  FLONG fl
);

Parameters

  • pso
    [in] Pointer to a SURFOBJ structure that describes the surface on which to draw.
  • psoMask
    [in] Pointer to a SURFOBJ structure that defines the AND-XOR mask. The dimensions of this bitmap determine the size of the pointer. There are no implicit constraints on pointer sizes, but optimal pointer pixel sizes are 32 x 32, 48 x 48, and 64 x 64. If this parameter is NULL, the pointer is transparent.
  • psoColor
    [in] Pointer to a SURFOBJ structure that defines the colors for a color pointer. If this parameter is NULL, the pointer is monochrome. The pointer bitmap has the same width as psoMask and half the height.
  • pxlo
    [in] Pointer to a XLATEOBJ structure that defines the colors in psoColor.
  • xHot
    [in] X position of the pointer's hot spot relative to its upper-left pixel. The pixel indicated by the hot spot should be positioned at the new pointer position.
  • yHot
    [in] Y position of the pointer's hot spot relative to its upper-left pixel. The pixel indicated by the hot spot should be positioned at the new pointer position.
  • x
    [in] X coordinate of the new pointer position.
  • y
    [in] Y coordinate of the new pointer position.
  • prcl
    [in] Location where the driver should write a rectangle that specifies a tight bound for the visible portion of the pointer.
  • fl
    [in] Ignored, set to NULL.

Return Value

The following table shows the possible return values. The return value can be one of these values.

Value Description

SPS_ACCEPT_NOEXCLUDE

Driver accepts the shape. There is in-hardware support for the shape, and GDI is not concerned about other drawings overwriting the pointer.

SPS_ERROR

Driver normally supports this shape, but failed for unspecified reasons.

Remarks

The iUniq members of the SURFOBJ structures to which psoMask and psoColor point are unique for unique pointers. The driver can use this information in conjunction with these structures' unique dhsurf handles as cache keys for cursor caching.

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
Windows Embedded CE Windows CE 1.0 and later

See Also

Reference

Display Driver Functions
DrvEnablePDEV
DrvMovePointer
XLATEOBJ

Other Resources

Display Drivers