Jump to content

GreSaveXform: Difference between revisions

From EDM2
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..."
 
Ak120 (talk | contribs)
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:   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_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);