GreStrokePath

From EDM2
Jump to: navigation, search

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.