GrePolyMarker

GrePolyMarker draws a sequence of one or more markers. The first marker is drawn at the current (X,Y) position. Subsequent markers are drawn at the specified (X,Y) positions that indicate the centers of the markers. Upon completion, the current (X,Y) position is the center of the last marker.

This function must be supported by the presentation driver. GrePolyMarker is called by GpiPolyMarker and GpiMarker. GrePolyMarker is used to render one or more markers. The first marker is drawn at the current position and the positions of any subsequent markers must be specified.


 * Simulation support: None. This function is mandatory for all drivers.

Syntax
GrePolyMarker(hdc, paptlPoint, cPoints, pInstance, lFunction);

Parameters

 * hdc (HDC) - input
 * Device context handle.


 * paptlPoint (PPOINTL) - input
 * Pointer to points array.


 * An array of (cPoints) (X,Y) pairs that contain the (X,Y) coordinates of the markers.


 * cPoints (LONG) - input
 * Number of markers to be drawn.


 * When this is passed as NULL, the handling routine takes no action except to return Successful.


 * pInstance (PVOID) - input
 * Pointer to instance data.


 * lFunction (ULONG) - input
 * High-order WORD=flags; low-order WORD=NGrePolyMarker.

Return Code

 * rc (LONG) - returns : Return Code.


 * On completion, the handling routine must return an integer (cHits) indicating, where appropriate, whether correlation hits were detected:


 * GPI_OK Successful
 * GPI_HITS Successful with correlate hit (returned by display drivers when the correlate flag is ON, and a hit is detected) :*GPI_ERROR 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_BASE_ERROR
 * PMERR_COORDINATE_OVERFLOW
 * PMERR_EXCEEDS_MAX_SEG_LENGTH
 * PMERR_HDC_BUSY
 * PMERR_HRGN_BUSY
 * PMERR_HUGE_FONTS_NOT_SUPPORTED
 * PMERR_INSUFFICIENT_MEMORY
 * PMERR_INV_IN_AREA
 * PMERR_INV_MARKER_SYMBOL_ATTR
 * PMERR_PATH_LIMIT_EXCEEDED
 * PMERR_UNSUPPORTED_ATTR
 * PMERR_UNSUPPORTED_ATTR_VALUE


 * Refer to the "Error Explanations" section in the Presentation Manager Programming Reference for further explanation.

Remarks
When COM_TRANSFORM is not set, the function expects the array of points to be in screen coordinates.


 * Note: GrePolyMarker has no related functions.

Sample Code

 * 1) define INCL_GRE_MARKERS
 * 2) include 

HDC       hdc;         /*  Device context handle. */ PPOINTL   paptlPoint;  /*  Pointer to points array. */ LONG      cPoints;     /*  Number of markers to be drawn. */ PVOID     pInstance;   /*  Pointer to instance data. */ ULONG     lFunction;   /*  High-order WORD=flags; low-order WORD=NGrePolyMarker. */ LONG      rc;          /*  Return Code. */

rc = GrePolyMarker(hdc, paptlPoint, cPoints, pInstance, lFunction); 