GreFillPath
- Simulation support
- This function is simulated by a handling routine in the graphics engine.
GreFillPath fills the interior of the closed figure defined in the path by using the current pattern attributes. Before filling the path, the handling routine must close any open figures in the path definition. On completion, it must delete the path. All of the boundaries of the area are considered to be part of the interior and are filled.
This function can be hooked by the presentation driver.
Syntax
rc = GreFillPath(hdc, idPath, flOptions, pInstance, lFunction);
Parameters
- hdc (HDC) - input
- Device context handle.
- idPath (LONG) - input
- Path ID. It must be 1.
- flOptions (ULONG) - input
- Option flags.
These flags determine how the path is to be filled:
FPATH_ALTERNATE Fill is performed by using the odd/even (alternate) rule. FPATH_WINDING Fill is performed by using the winding rule. FPATH_EXCL Fill exclusive of bottom and right border in device coordinate.
- pInstance (PVOID) - input
- Pointer to instance data.
- lFunction (ULONG) - input
- High-order WORD=flags; low-order WORD=NGreFillPath.
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_PATH_ID
- PMERR_INV_PICK_APERTURE_POSN
- PMERR_INV_RECT
- PMERR_INV_REGION_CONTROL
- 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
There is an alternate method of filling the interior of closed figures for devices that have their own hardware filling; see GreOutlinePath for more information.
Example Code
#define INCL_GRE_PATHS #include <os2.h> HDC hdc; /* Device context handle. */ LONG idPath; /* Path ID. It must be 1. */ ULONG flOptions; /* Option flags. */ PVOID pInstance; /* Pointer to instance data. */ ULONG lFunction; /* High-order WORD=flags; low-order WORD=NGreFillPath. */ LONG rc; /* Return codes. */ rc = GreFillPath(hdc, idPath, flOptions, pInstance, lFunction);