Jump to content

GreAccumulateBounds: Difference between revisions

From EDM2
Created page with "GreAccumulateBounds is called to merge bounds into the total bounds held by the presentation driver. This function must be supported by the presentation driver. GreAccumula..."
 
Ak120 (talk | contribs)
mNo edit summary
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
GreAccumulateBounds is called to merge bounds into the total bounds held by the presentation driver.  
GreAccumulateBounds is called to merge bounds into the total bounds held by the presentation driver.


This function must be supported by the presentation driver. GreAccumulateBounds is used when a drawing is created to maintain a rectangle that forms the bounding box for the entire drawing. This rectangle is used in transforms and other functions that manipulate the entire drawing at once. GreAccumulateBounds can be handled by bit-map emulation.  
This function must be supported by the presentation driver. GreAccumulateBounds is used when a drawing is created to maintain a rectangle that forms the bounding box for the entire drawing. This rectangle is used in transforms and other functions that manipulate the entire drawing at once. GreAccumulateBounds can be handled by bit-map emulation.


== Syntax ==  
== Syntax ==  
   
  GreAccumulateBounds(hdc, prclRect, pInstance, lFunction)
 
== Parameters ==
== Parameters ==
; hdc (HDC) - input : Device context handle.  
;hdc ([[HDC]]) - input: Device context handle.
 
;prclRect ([[PRECTL]]) - input: Pointer to rectangle, defined as a RECTL structure in device coordinates.
; prclRect (PRECTL) - input : Pointer to rectangle.
;pInstance (PVOID) - input: Pointer to instance data.
Pointer to rectangle, defined as a RECTL structure in device coordinates.  
;lFunction(ULONG) - input:
 
:High-order WORD=flags
; pInstance (PVOID) - input : Pointer to instance data.  
:low-order WORD=NGreAccumulateBounds
 
; lFunction(ULONG) - input:  
::High-order WORD=flags
::low-order WORD=NGreAccumulateBounds
 
== Constants ==
None. {list of used constants}


== Returns ==
== Returns ==
;rc (BOOL) - returns : Return codes.
On completion, the handling routine must return a BOOLEAN value to indicate success or an error.
TRUE Successful.
FALSE An error occurred.
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_COORDINATE_OVERFLOW
PMERR_DEV_FUNC_NOT_INSTALLED
PMERR_HDC_BUSY
PMERR_INV_COORD_SPACE
PMERR_INV_HDC
PMERR_INV_LENGTH_OR_COUNT
PMERR_INV_RECT
Refer to the "Error Explanations" section of the Presentation Manager Programming Reference for further explanation.


== Remarks ==
== Remarks ==
The presentation driver does bound calculations for all drawing primitives. It must convert the bounds to model space as they are accumulated before merging with the GPI bounds. This can be done with GreConvert. GreAccumulateBounds is related to GreResetBounds  
The presentation driver does bound calculations for all drawing primitives. It must convert the bounds to model space as they are accumulated before merging with the GPI bounds. This can be done with GreConvert. GreAccumulateBounds is related to [[GreResetBounds]] and [[GreGetBoundsData]].
and GreGetBoundsData.
 
== Example Code ==
<PRE>
#define INCL_GRE_DEVMISC3
#include <os2.h>
HDC hdc;        /*  Device context handle. */
PRECTL prclRect;  /*  Pointer to rectangle. */
PVOID
pInstance
;  /*  Pointer to instance data. */
ULONG
lFunction
;
BOOL
rc
;        /*  Return codes. */
rc = GreAccumulateBounds(hdc, prclRect, pInstance,
      lFunction);
</PRE>
 
== Related Functions ==
* [[]]
 


[[Category:Gre]]
[[Category:Gre]]

Latest revision as of 20:19, 17 January 2020

GreAccumulateBounds is called to merge bounds into the total bounds held by the presentation driver.

This function must be supported by the presentation driver. GreAccumulateBounds is used when a drawing is created to maintain a rectangle that forms the bounding box for the entire drawing. This rectangle is used in transforms and other functions that manipulate the entire drawing at once. GreAccumulateBounds can be handled by bit-map emulation.

Syntax

GreAccumulateBounds(hdc, prclRect, pInstance, lFunction)

Parameters

hdc (HDC) - input
Device context handle.
prclRect (PRECTL) - input
Pointer to rectangle, defined as a RECTL structure in device coordinates.
pInstance (PVOID) - input
Pointer to instance data.
lFunction(ULONG) - input
High-order WORD=flags
low-order WORD=NGreAccumulateBounds

Returns

rc (BOOL) - returns
Return codes.

On completion, the handling routine must return a BOOLEAN value to indicate success or an error.

TRUE Successful.
FALSE An error occurred.

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_COORDINATE_OVERFLOW
PMERR_DEV_FUNC_NOT_INSTALLED
PMERR_HDC_BUSY
PMERR_INV_COORD_SPACE
PMERR_INV_HDC
PMERR_INV_LENGTH_OR_COUNT
PMERR_INV_RECT

Refer to the "Error Explanations" section of the Presentation Manager Programming Reference for further explanation.

Remarks

The presentation driver does bound calculations for all drawing primitives. It must convert the bounds to model space as they are accumulated before merging with the GPI bounds. This can be done with GreConvert. GreAccumulateBounds is related to GreResetBounds and GreGetBoundsData.