GreSaveRegion: Difference between revisions
Appearance
Created page with "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 w..." |
mNo edit summary |
||
Line 1: | Line 1: | ||
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. | 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. | 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== | ||
GreSaveRegion(hdc, cSave, pInstance, lFunction) | |||
==Parameters== | ==Parameters== | ||
;hdc (HDC) - input | ;hdc (HDC) - input:Device context handle. | ||
:Device context handle. | ;cSave (LONG) - input:DC save level. This must not be a negative value. | ||
;pInstance (PVOID) - input:Pointer to instance data. | |||
;cSave (LONG) - input | ;lFunction (ULONG) - input:High-order WORD=flags; low-order WORD=NGreSaveRegion. | ||
: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== | ==Return Code== | ||
;fSuccess (BOOL) - returns | ;fSuccess (BOOL) - returns:Return codes. | ||
:Return codes. | :This function returns BOOLEAN (fSuccess). | ||
:*TRUE Successful | |||
:This function returns BOOLEAN (fSuccess). | :*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: | |||
:*TRUE Successful | :*PMERR_HDC_BUSY | ||
:*FALSE Error | :*PMERR_INSUFFICIENT_MEMORY | ||
:*PMERR_INV_COORDINATE | |||
:Possible Errors Detected: | :*PMERR_INV_HDC | ||
:*PMERR_INV_HRGN | |||
:*PMERR_HDC_BUSY | :*PMERR_INV_RECT | ||
:*PMERR_INSUFFICIENT_MEMORY | :Refer to the "Error Explanations" section in the ''Presentation Manager Programming Reference'' for further explanation. | ||
:*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== | ==Remarks== | ||
This function is required to ensure that the region data is saved. | This function is required to ensure that the region data is saved. | ||
==Declaration== | ==Declaration== | ||
Line 56: | Line 43: | ||
fSuccess = GreSaveRegion(hdc, cSave, pInstance, lFunction); | fSuccess = GreSaveRegion(hdc, cSave, pInstance, lFunction); | ||
</PRE> | </PRE> | ||
[[Category:Gre]] | [[Category:Gre]] |
Latest revision as of 23:27, 23 March 2020
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);