GreAccumulateBounds

From EDM2
Jump to: navigation, search

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.