GreSaveXform: Difference between revisions
Appearance
Created page with "GreSaveXform is called during SaveDC and OpenDC to allow simulations to save their local data structures. A Save with a count of one more than the current save level generates..." |
mNo edit summary |
||
Line 1: | Line 1: | ||
GreSaveXform is called during SaveDC and OpenDC to allow simulations to save their local data structures. A Save with a count of one more than the current save level generates intervening levels. When a new DC is created, GreSaveXform is called with a count of 1 to initialize its local data. | GreSaveXform is called during SaveDC and OpenDC to allow simulations to save their local data structures. A Save with a count of one more than the current save level generates intervening levels. When a new DC is created, GreSaveXform is called with a count of 1 to initialize its local data. | ||
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== | ||
GreSaveXform(hdc, cSave, pInstance, lFunction) | GreSaveXform(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=NGreSaveXform. | ||
: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=NGreSaveXform. | |||
==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. | ||
:*TRUE Successful | :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: | ||
:*FALSE Error. | :*PMERR_HDC_BUSY | ||
:*PMERR_INSUFFICIENT_MEMORY | |||
:Possible Errors Detected: | :*PMERR_INV_HDC. | ||
:*PMERR_HDC_BUSY | :Refer to the "Error Explanations" section in the ''Presentation Manager Programming Reference'' for further explanation. | ||
:*PMERR_INSUFFICIENT_MEMORY | |||
:*PMERR_INV_HDC. | |||
:Refer to the "Error Explanations" section in the Presentation Manager Programming Reference for further explanation. | |||
==Remarks== | ==Remarks== | ||
When initializing a new DC, the default transform must be set. | When initializing a new DC, the default transform must be set. | ||
==Sample Code== | ==Sample Code== |
Latest revision as of 23:17, 23 March 2020
GreSaveXform is called during SaveDC and OpenDC to allow simulations to save their local data structures. A Save with a count of one more than the current save level generates intervening levels. When a new DC is created, GreSaveXform is called with a count of 1 to initialize its local data.
This function can be hooked by the presentation driver.
- Simulation support
- This function is simulated by a handling routine in the graphics engine.
Syntax
GreSaveXform(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=NGreSaveXform.
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_HDC.
- Refer to the "Error Explanations" section in the Presentation Manager Programming Reference for further explanation.
Remarks
When initializing a new DC, the default transform must be set.
Sample Code
#define INCL_GRE_XFORMS #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=NGreSaveXform. */ BOOL fSuccess; /* Return codes. */ fSuccess = GreSaveXform(hdc, cSave, pInstance, lFunction);