Jump to content

GreOutlinePath

From EDM2

GreOutlinePath draws the boundary of the path indicated by idPath. GreOutlinePath is also used to draw area boundaries.

This function can be hooked by the presentation driver.

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

Syntax

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

Parameters

hdc (HDC) - input
Device context handle.
idPath (LONG) - input
Path ID. It must be 1.
flOptions (ULONG) - input
Outline path flags.
Possible values are:
OPTH_NO_CLIPPING_REQD: The graphics engine will outline the path without clipping and line attributes set. This value can be used for devices that have hardware support for area fills with at least simple clipping. This output will be sent to the presentation driver via GreDrawLinesInPath for each subpath. This flag should only be used with the graphics engine version number 0x202 or later (see GreQueryEngineVersion).
OPTH_QRY_PATH_POINTS: Returns the number of points in a path. The path is not deleted. This flag should only be used with the graphics engine version number 0x202 or later (see GreQueryEngineVersion).
pInstance (PVOID) - input
Pointer to instance data.
lFunction (ULONG) - input
High-order WORD=flags; low-order WORD=NGreOutlinePath.

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_INV_COLOR_DATA
  • PMERR_INV_COLOR_INDEX
  • PMERR_INV_COORD_SPACE
  • PMERR_INV_FILL_PATH_OPTIONS
  • PMERR_INV_HDC
  • PMERR_INV_IN_AREA
  • PMERR_INV_IN_PATH
  • PMERR_INV_LENGTH_OR_COUNT
  • PMERR_INV_PATH_ID
  • PMERR_INV_PICK_APERTURE_POSN
  • PMERR_INV_RECT
  • PMERR_PATH_UNKNOWN
Refer to the "Error Explanations" section in the Presentation Manager Programming Reference for further explanation.

Sample Code

#define INCL_GRE_PATHS
#include <os2.h>

HDC      hdc;        /*  Device context handle. */
LONG     idPath;     /*  Path ID. It must be 1. */
ULONG    flOptions;  /*  Outline path flags. */
PVOID    pInstance;  /*  Pointer to instance data. */
ULONG    lFunction;  /*  High-order WORD=flags; low-order WORD=NGreOutlinePath. */
LONG     rc;         /*  Return codes. */

rc = GreOutlinePath(hdc, idPath, flOptions, pInstance, lFunction);