GreGetPel
GreGetPel returns the color of a pel at a specified position.
This function must be supported by the presentation driver, and is called by GpiQueryPel. GreGetPel is used to query the value of a pel at a specified (X,Y) coordinate within the DC. This function can be handled by bit-map simulation.
- Simulation support
- None. This function is mandatory for all drivers.
Syntax
GreGetPel(hdc, pptlPel, pInstance, lFunction);
Parameters
- hdc (HDC) - input
- Device context handle.
- pptlPel (PPOINTL) - input
- Pointer to the coordinate (X, Y) pair structure.
- pInstance (PVOID) - input
- Pointer to instance data.
- lFunction (ULONG) - input
- High-order WORD=flags; low-order WORD=NGreGetPel.
Returns
- rc (LONG) - returns
Return Code.
This function must return the color index value for the pel, or CLR_NOINDEX if there is no index corresponding to the color. In addition, the handling routine must raise an error when the point is subject to any clipping.
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_BITMAP_NOT_SELECTED
- PMERR_COORDINATE_OVERFLOW
- PMERR_DEV_FUNC_NOT_INSTALLED
- PMERR_HDC_BUSY
- PMERR_INV_COORD_SPACE
- PMERR_INV_COORDINATE
- PMERR_INV_HDC
- PMERR_INV_LENGTH_OR_COUNT
- PMERR_INV_RECT
- PMERR_PEL_IS_CLIPPED
- PMERR_PEL_NOT_AVAILABLE
Refer to the "Error Explanations" section in the Presentation Manager Programming Reference for further explanation.
Sample
#define INCL_GRE_BITMAPS #include <os2.h> HDC hdc; /* Device context handle. */ PPOINTL pptlPel; /* Pointer to the coordinate (X, Y) pair structure. */ PVOID pInstance; /* Pointer to instance data. */ ULONG lFunction; /* High-order WORD=flags; low-order WORD=NGreGetPel. */ LONG rc; /* Return Code. */ rc = GreGetPel(hdc, pptlPel, pInstance, lFunction);
Remarks
If COM_TRANSFORM is set, this position is in world coordinates. If not set, the position is in screen coordinates. The return value of this function is either the color index of the pel or its RGB value depending on the color mode of the device.