Jump to content

GreGetPel

From EDM2
Revision as of 12:23, 20 January 2020 by Ak120 (talk | contribs)

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.

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.