GreSaveRegion
Appearance
GreSaveRegion is called during SaveDC and OpenDC to allow the region handling routines to save their local data structures. When a new DC is created, GreSaveRegion is called with a save level of 1 to initialize its local data. A Save with a count of one more than the current save level generates intervening levels. A negative save value is invalid. When initializing a new DC, a valid visible region handle must be created.
This function can be hooked by the presentation driver.
- Simulation support
- This function is simulated by a handling routine in the graphics engine.
Syntax
GreSaveRegion(hdc, cSave, pInstance, lFunction);
Parameters
- hdc (HDC) - input
- Device context handle.
- cSave (LONG) - input
- DC save level. This must not be a negative value.
- pInstance (PVOID) - input
- Pointer to instance data.
- lFunction (ULONG) - input
- High-order WORD=flags; low-order WORD=NGreSaveRegion.
Return Code
- fSuccess (BOOL) - returns
- Return codes.
- This function returns BOOLEAN (fSuccess).
- TRUE Successful
- FALSE 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_HDC_BUSY
- PMERR_INSUFFICIENT_MEMORY
- PMERR_INV_COORDINATE
- PMERR_INV_HDC
- PMERR_INV_HRGN
- PMERR_INV_RECT
- Refer to the "Error Explanations" section in the Presentation Manager Programming Reference for further explanation.
Remarks
This function is required to ensure that the region data is saved.
Declaration
#define INCL_GRE_CLIP #include <os2.h> HDC hdc; /* Device context handle. */ LONG cSave; /* DC save level. This must not be a negative value. */ PVOID pInstance; /* Pointer to instance data. */ ULONG lFunction; /* High-order WORD=flags; low-order WORD=NGreSaveRegion. */ BOOL fSuccess; /* Return codes. */ fSuccess = GreSaveRegion(hdc, cSave, pInstance, lFunction);