Jump to content

GreStrokePath: Difference between revisions

From EDM2
Created page with "GreStrokePath converts a path to the envelope of a wide line. This function can be hooked by the presentation driver. ;Simulation support: This function is simulated by a ..."
 
Ak120 (talk | contribs)
mNo edit summary
 
Line 1: Line 1:
GreStrokePath converts a path to the envelope of a wide line.  
GreStrokePath converts a path to the envelope of a wide line.


This function can be hooked by the presentation driver.  
This function can be hooked by the presentation driver.


;Simulation support: This function is simulated by a handling routine in the graphics engine.  
;Simulation support: This function is simulated by a handling routine in the graphics engine.


==Syntax==
==Syntax==
  GreStrokePath(hdc, idPath, flOptions, pInstance, lFunction);
  GreStrokePath(hdc, idPath, flOptions, pInstance, lFunction)


==Parameters==
==Parameters==
;hdc (HDC) - input  
;hdc (HDC) - input:Device context handle.
:Device context handle.  
;idPath (LONG) - input:Path ID. The only valid value is 1.
 
;flOptions (ULONG) - input:Reserved. Must be 0.
;idPath (LONG) - input  
;pInstance (PVOID) - input:Pointer to instance data.
:Path ID. The only valid value is 1.  
;lFunction (ULONG) - input:High-order WORD=flags; low-order WORD=NGreStrokePath.
 
;flOptions (ULONG) - input  
:Reserved. Must be 0.  
 
;pInstance (PVOID) - input  
:Pointer to instance data.  
 
;lFunction (ULONG) - input  
:High-order WORD=flags; low-order WORD=NGreStrokePath.  


==Return Code==
==Return Code==
;rc (LONG) - returns  
;rc (LONG) - returns:Return codes.  
:Return codes.  
:This function returns an integer (cHits) indicating, where appropriate, whether correlation hits were detected:
 
:*GPI_OK Successful
:This function returns an integer (cHits) indicating, where appropriate, whether correlation hits were detected:  
:*GPI_HITS Successful with correlate hit (returned by display drivers when the correlate flag is ON, and a hit is detected)
 
:*GPI_ERROR Error
:*GPI_OK Successful  
: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:
:*GPI_HITS Successful with correlate hit (returned by display drivers when the correlate flag is ON, and a hit is detected)  
:*PMERR_BASE_ERROR
:*GPI_ERROR Error  
:*PMERR_BITMAP_NOT_SELECTED
 
:*PMERR_COORDINATE_OVERFLOW
: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_HDC_BUSY
:*PMERR_BASE_ERROR  
:*PMERR_HRGN_BUSY
:*PMERR_BITMAP_NOT_SELECTED  
:*PMERR_INSUFFICIENT_MEMORY
:*PMERR_COORDINATE_OVERFLOW  
:*PMERR_INV_COLOR_DATA
:*PMERR_DEV_FUNC_NOT_INSTALLED  
:*PMERR_INV_COLOR_INDEX
:*PMERR_HDC_BUSY  
:*PMERR_INV_COORD_SPACE
:*PMERR_HRGN_BUSY  
:*PMERR_INV_COORDINATE
:*PMERR_INSUFFICIENT_MEMORY  
:*PMERR_INV_FILL_PATH_OPTIONS
:*PMERR_INV_COLOR_DATA  
:*PMERR_INV_HDC
:*PMERR_INV_COLOR_INDEX  
:*PMERR_INV_HRGN
:*PMERR_INV_COORD_SPACE  
:*PMERR_INV_IN_AREA
:*PMERR_INV_COORDINATE  
:*PMERR_INV_IN_PATH
:*PMERR_INV_FILL_PATH_OPTIONS  
:*PMERR_INV_LENGTH_OR_COUNT
:*PMERR_INV_HDC  
:*PMERR_INV_MATRIX_ELEMENT
:*PMERR_INV_HRGN  
:*PMERR_INV_MODIFY_PATH_MODE
:*PMERR_INV_IN_AREA  
:*PMERR_INV_PATH_ID
:*PMERR_INV_IN_PATH  
:*PMERR_INV_PATTERN_REF_PT_ATTR
:*PMERR_INV_LENGTH_OR_COUNT  
:*PMERR_INV_PICK_APERTURE_POSN
:*PMERR_INV_MATRIX_ELEMENT  
:*PMERR_INV_RECT
:*PMERR_INV_MODIFY_PATH_MODE  
:*PMERR_INV_REGION_CONTROL
:*PMERR_INV_PATH_ID  
:*PMERR_INV_TRANSFORM_TYPE
:*PMERR_INV_PATTERN_REF_PT_ATTR  
:*PMERR_PATH_LIMIT_EXCEEDED
:*PMERR_INV_PICK_APERTURE_POSN  
:*PMERR_PATH_UNKNOWN
:*PMERR_INV_RECT  
:*PMERR_REGION_IS_CLIP_REGION
:*PMERR_INV_REGION_CONTROL  
:Refer to the "Error Explanations" section in the ''Presentation Manager Programming Reference'' for further explanation.
:*PMERR_INV_TRANSFORM_TYPE  
:*PMERR_PATH_LIMIT_EXCEEDED  
:*PMERR_PATH_UNKNOWN  
:*PMERR_REGION_IS_CLIP_REGION  
 
:Refer to the "Error Explanations" section in the Presentation Manager Programming Reference for further explanation.  


==Remarks==
==Remarks==
This function converts a path to the envelope of a wide line by using the current geometric line attribute (see Line Attributes). The converted path is filled by using winding mode and the current area attributes (see Area (Pattern) Attributes), and is then drawn. When the path has been drawn, it is deleted. Note that GreStrokePath is equivalent to GreModifyPath followed by GreFillPath. It is provided to allow the presentation driver to optimize its storage.  
This function converts a path to the envelope of a wide line by using the current geometric line attribute (see Line Attributes). The converted path is filled by using winding mode and the current area attributes (see Area (Pattern) Attributes), and is then drawn. When the path has been drawn, it is deleted. Note that GreStrokePath is equivalent to [[GreModifyPath]] followed by [[GreFillPath]]. It is provided to allow the presentation driver to optimize its storage.
 
;Note: GreModifyPath and GreStrokePath are the only functions that can construct geometric wide lines.
 
==Sample Code==
<PRE>
#define INCL_GRE_PATHS
#include <os2.h>
 
HDC      hdc;        /*  Device context handle. */
LONG    idPath;    /*  Path ID. The only valid value is 1. */
ULONG    flOptions;  /*  Reserved. Must be 0. */
PVOID    pInstance;  /*  Pointer to instance data. */
ULONG    lFunction;  /*  High-order WORD=flags; low-order WORD=NGreStrokePath. */
LONG    rc;        /*  Return codes. */


rc = GreStrokePath(hdc, idPath, flOptions, pInstance, lFunction);
;Note: GreModifyPath and GreStrokePath are the only functions that can construct geometric wide lines.
</PRE>


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

Latest revision as of 23:25, 17 January 2020

GreStrokePath converts a path to the envelope of a wide line.

This function can be hooked by the presentation driver.

Simulation support
This function is simulated by a handling routine in the graphics engine.

Syntax

GreStrokePath(hdc, idPath, flOptions, pInstance, lFunction)

Parameters

hdc (HDC) - input
Device context handle.
idPath (LONG) - input
Path ID. The only valid value is 1.
flOptions (ULONG) - input
Reserved. Must be 0.
pInstance (PVOID) - input
Pointer to instance data.
lFunction (ULONG) - input
High-order WORD=flags; low-order WORD=NGreStrokePath.

Return Code

rc (LONG) - returns
Return codes.
This function returns 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_BITMAP_NOT_SELECTED
  • PMERR_COORDINATE_OVERFLOW
  • PMERR_DEV_FUNC_NOT_INSTALLED
  • PMERR_HDC_BUSY
  • PMERR_HRGN_BUSY
  • PMERR_INSUFFICIENT_MEMORY
  • PMERR_INV_COLOR_DATA
  • PMERR_INV_COLOR_INDEX
  • PMERR_INV_COORD_SPACE
  • PMERR_INV_COORDINATE
  • PMERR_INV_FILL_PATH_OPTIONS
  • PMERR_INV_HDC
  • PMERR_INV_HRGN
  • PMERR_INV_IN_AREA
  • PMERR_INV_IN_PATH
  • PMERR_INV_LENGTH_OR_COUNT
  • PMERR_INV_MATRIX_ELEMENT
  • PMERR_INV_MODIFY_PATH_MODE
  • PMERR_INV_PATH_ID
  • PMERR_INV_PATTERN_REF_PT_ATTR
  • PMERR_INV_PICK_APERTURE_POSN
  • PMERR_INV_RECT
  • PMERR_INV_REGION_CONTROL
  • PMERR_INV_TRANSFORM_TYPE
  • PMERR_PATH_LIMIT_EXCEEDED
  • PMERR_PATH_UNKNOWN
  • PMERR_REGION_IS_CLIP_REGION
Refer to the "Error Explanations" section in the Presentation Manager Programming Reference for further explanation.

Remarks

This function converts a path to the envelope of a wide line by using the current geometric line attribute (see Line Attributes). The converted path is filled by using winding mode and the current area attributes (see Area (Pattern) Attributes), and is then drawn. When the path has been drawn, it is deleted. Note that GreStrokePath is equivalent to GreModifyPath followed by GreFillPath. It is provided to allow the presentation driver to optimize its storage.

Note
GreModifyPath and GreStrokePath are the only functions that can construct geometric wide lines.