Jump to content

GrePolyMarker: Difference between revisions

From EDM2
Created page with "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 t..."
 
Ak120 (talk | contribs)
mNo edit summary
 
Line 1: Line 1:
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.  
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.  
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.  
;Simulation support: None. This function is mandatory for all drivers.


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


==Parameters==
==Parameters==
;hdc (HDC) - input  
;hdc (HDC) - input:Device context handle.
: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.
;paptlPoint (PPOINTL) - input  
;cPoints (LONG) - input:Number of markers to be drawn.
:Pointer to points array.  
:When this is passed as NULL, the handling routine takes no action except to return Successful.
 
;pInstance (PVOID) - input:Pointer to instance data.
:An array of (cPoints) (X,Y) pairs that contain the (X,Y) coordinates of the markers.  
;lFunction (ULONG) - input:High-order WORD=flags; low-order WORD=NGrePolyMarker.
 
;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==
==Return Code==
;rc (LONG) - returns : 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:
: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_OK Successful  
:*GPI_ERROR Error
:*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
: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_COORDINATE_OVERFLOW
 
:*PMERR_EXCEEDS_MAX_SEG_LENGTH
:*PMERR_BASE_ERROR  
:*PMERR_HDC_BUSY
:*PMERR_COORDINATE_OVERFLOW  
:*PMERR_HRGN_BUSY
:*PMERR_EXCEEDS_MAX_SEG_LENGTH  
:*PMERR_HUGE_FONTS_NOT_SUPPORTED
:*PMERR_HDC_BUSY  
:*PMERR_INSUFFICIENT_MEMORY
:*PMERR_HRGN_BUSY  
:*PMERR_INV_IN_AREA
:*PMERR_HUGE_FONTS_NOT_SUPPORTED  
:*PMERR_INV_MARKER_SYMBOL_ATTR
:*PMERR_INSUFFICIENT_MEMORY  
:*PMERR_PATH_LIMIT_EXCEEDED
:*PMERR_INV_IN_AREA  
:*PMERR_UNSUPPORTED_ATTR
:*PMERR_INV_MARKER_SYMBOL_ATTR  
:*PMERR_UNSUPPORTED_ATTR_VALUE
:*PMERR_PATH_LIMIT_EXCEEDED  
:Refer to the "Error Explanations" section in the ''Presentation Manager Programming Reference'' for further explanation.
:*PMERR_UNSUPPORTED_ATTR  
:*PMERR_UNSUPPORTED_ATTR_VALUE  
 
:Refer to the "Error Explanations" section in the Presentation Manager Programming Reference for further explanation.  
 


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


;Note: [[GrePolyMarker]] has no related functions.  
;Note: [[GrePolyMarker]] has no related functions.


==Sample Code==
==Sample Code==
Line 73: Line 57:
rc = GrePolyMarker(hdc, paptlPoint, cPoints, pInstance, lFunction);
rc = GrePolyMarker(hdc, paptlPoint, cPoints, pInstance, lFunction);
</PRE>
</PRE>


[[Category:Gre]]
[[Category:Gre]]

Latest revision as of 23:10, 24 March 2020

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

#define INCL_GRE_MARKERS
#include <os2.h>

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);