Jump to content

GreRestoreRegion: Difference between revisions

From EDM2
Created page with "GreRestoreRegion is called during RestoreDC and CloseDC to allow the region handling routines to restore their local data structures. When a DC is closed, GreRestoreRegion is ..."
 
Ak120 (talk | contribs)
mNo edit summary
 
Line 1: Line 1:
GreRestoreRegion is called during RestoreDC and CloseDC to allow the region handling routines to restore their local data structures. When a DC is closed, GreRestoreRegion is called with a count of 0 to free its local data. The clip region currently selected into the DC is deleted by this function.  
GreRestoreRegion is called during RestoreDC and CloseDC to allow the region handling routines to restore their local data structures. When a DC is closed, GreRestoreRegion is called with a count of 0 to free its local data. The clip region currently selected into the DC is deleted by this function.


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==
  GreRestoreRegion(hdc, cSave, pInstance, lFunction);
GreRestoreRegion(hdc, cSave, pInstance, lFunction)


==Parameters==
==Parameters==
;hdc (HDC) - input  
;hdc (HDC) - input:Device context handle.
:Device context handle.  
;cSave (LONG) - input:DC save level.
 
:Indicates the saved DC state, which the handling routine uses to restore the region. When this is passed as -1, the handling routine resets the region to its initial state (-1 is passed to this routine from [[GreResetDC]] and is the only valid negative value). A value of 0 indicates that the region is restored to its initial state. Other positive values identify which saved level is restored. See RestoreDCState.
;cSave (LONG) - input  
;pInstance (PVOID) - input:Pointer to instance data.
:DC save level.  
;lFunction (ULONG) - input:High-order WORD=flags; low-order WORD=NGreRestoreRegion.
 
:Indicates the saved DC state, which the handling routine uses to restore the region. When this is passed as -1, the handling routine resets the region to its initial state (-1 is passed to this routine from GreResetDC and is the only valid negative value). A value of 0 indicates that the region is restored to its initial state. Other positive values identify which saved level is restored. See RestoreDCState.  
 
;pInstance (PVOID) - input  
:Pointer to instance data.  
 
;lFunction (ULONG) - input  
:High-order WORD=flags; low-order WORD=NGreRestoreRegion.  


==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_DEV_FUNC_NOT_INSTALLED
:*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_COORDINATE
 
:*PMERR_INV_HDC
:*PMERR_DEV_FUNC_NOT_INSTALLED  
:*PMERR_INV_HRGN
:*PMERR_HDC_BUSY  
:*PMERR_INV_RECT
:*PMERR_INSUFFICIENT_MEMORY  
:*PMERR_INV_REGION_CONTROL
:*PMERR_INV_COORDINATE  
:Refer to the "Error Explanations" section in the ''Presentation Manager Programming Reference'' for further explanation.
:*PMERR_INV_HDC  
:*PMERR_INV_HRGN  
:*PMERR_INV_RECT  
:*PMERR_INV_REGION_CONTROL  
 
:Refer to the "Error Explanations" section in the Presentation Manager Programming Reference for further explanation.  


==Remarks==
==Remarks==
This function is required to ensure that memory is freed.  
This function is required to ensure that memory is freed.


==Declaration==
==Declaration==

Latest revision as of 23:20, 23 March 2020

GreRestoreRegion is called during RestoreDC and CloseDC to allow the region handling routines to restore their local data structures. When a DC is closed, GreRestoreRegion is called with a count of 0 to free its local data. The clip region currently selected into the DC is deleted by this function.

This function can be hooked by the presentation driver.

Simulation support
This function is simulated by a handling routine in the graphics engine.

Syntax

GreRestoreRegion(hdc, cSave, pInstance, lFunction)

Parameters

hdc (HDC) - input
Device context handle.
cSave (LONG) - input
DC save level.
Indicates the saved DC state, which the handling routine uses to restore the region. When this is passed as -1, the handling routine resets the region to its initial state (-1 is passed to this routine from GreResetDC and is the only valid negative value). A value of 0 indicates that the region is restored to its initial state. Other positive values identify which saved level is restored. See RestoreDCState.
pInstance (PVOID) - input
Pointer to instance data.
lFunction (ULONG) - input
High-order WORD=flags; low-order WORD=NGreRestoreRegion.

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_DEV_FUNC_NOT_INSTALLED
  • PMERR_HDC_BUSY
  • PMERR_INSUFFICIENT_MEMORY
  • PMERR_INV_COORDINATE
  • PMERR_INV_HDC
  • PMERR_INV_HRGN
  • PMERR_INV_RECT
  • PMERR_INV_REGION_CONTROL
Refer to the "Error Explanations" section in the Presentation Manager Programming Reference for further explanation.

Remarks

This function is required to ensure that memory is freed.

Declaration

#define INCL_GRE_CLIP
#include <os2.h>

HDC      hdc;        /*  Device context handle. */
LONG     cSave;      /*  DC save level. */
PVOID    pInstance;  /*  Pointer to instance data. */
ULONG    lFunction;  /*  High-order WORD=flags; low-order WORD=NGreRestoreRegion. */
BOOL     fSuccess;   /*  Return codes. */

fSuccess = GreRestoreRegion(hdc, cSave, pInstance, lFunction);