GreDeviceSetCursor

From EDM2
Jump to: navigation, search

GreDeviceSetCursor sets the cursor bit map that defines the cursor shape.

Simulation support
This function is mandatory for display drivers. For other drivers, it is simulated by a handling routine in the graphics engine.

Syntax

GreDeviceSetCursor(hdc, pptlHotSpot, hbm, pInstance, lFunction)

Parameters

hdc (HDC) - input
The device context handle.
pptlHotSpot (PPOINTL) - input
A pointer to hot spot coordinates.
x : X-position of the hotspot within the cursor bit map
y : Y-position of the hotspot within the cursor bit map.
hbm (ULONG) - input
Bit-map handle used for the cursor image.
pInstance (PVOID) - input
A pointer to instance data.
lFunction (ULONG) - input
High-order WORD=flags; low-order WORD=NGreDeviceSetCursor.

Return Code

fSuccess (BOOL) - returns
Return codes.
On completion, the handling routine must return BOOLEAN (fSuccess).
  • TRUE Successful
  • FALSE Error
Possible Errors Detected: When an error is detected, the handling routine must call WinSetErrorInfo to post the condition. Error codes for conditions that the handling routine is expected to check include:
  • PMERR_DEV_FUNC_NOT_INSTALLED
  • PMERR_INV_COORDINATE
  • PMERR_INV_CURSOR_BITMAP
  • PMERR_INV_HDC

Remarks

GreDeviceSetCursor is subject to all clipping.

The handling routine takes the previous cursor bit map and replaces it with the one indicated by hbm. If hbm is NULL, the cursor has no shape and its image is removed from the display screen.

Sample Code

#define INCL_GRE_BITMAPS
#include <os2.h>

HDC        hdc;          /*  The device context handle. */
PPOINTL    pptlHotSpot;  /*  A pointer to hot spot coordinates. */
ULONG      hbm;          /*  Bit-map handle used for the cursor image. */
PVOID      pInstance;    /*  A pointer to instance data. */
ULONG      lFunction;    /*  High-order WORD=flags; low-order WORD=NGreDeviceSetCursor. */
BOOL       fSuccess;     /*  Return codes. */

fSuccess = GreDeviceSetCursor(hdc, pptlHotSpot, hbm, pInstance, lFunction);