PtSurfaceCalcBoundingBox(), PtSurfaceCalcBoundingBoxById()

Calculate the bounding box for a control surface

Synopsis:

PhRect_t *PtSurfaceCalcBoundingBox(
              PtSurface_t *surface );

PhRect_t *PtSurfaceCalcBoundingBoxById(
              PtWidget_t *widget,
              unsigned char surface_id );

Library:

ph

Description:

These functions calculate the bounding box for a control surface. They differ in the way they identify the control surface:

PtSurfaceCalcBoundingBox()
Uses the surface argument, which points to a PtSurface_t structure that describes the control surface. This pointer must not be NULL.
PtSurfaceCalcBoundingBoxById()
Searches the control surfaces belonging to the given widget for the one with an ID of surface_id.

You should call one of these functions whenever you modify the points defining a surface. Although these functions are mainly targeted as a convenience function for polygonal surfaces, they also ensure that the upper-left/lower-right corners of a rectangular or elliptical surface never get inverted.

Returns:

A pointer to a PhRect_t structure that defines the bounding rectangle of the surface. PtSurfaceCalcBoundingBoxById() returns NULL if it couldn't find the control surface with the given ID.

Classification:

Photon

Safety:
Interrupt handler No
Signal handler No
Thread No

See also:

PhRect_t, PtCalcSurface(), PtCalcSurfaceByAction(), PtCalcSurfaceById(), PtSurfaceExtent(), PtSurfaceExtentById(), PtSurfaceRect(), PtSurfaceRectById()

Control Surfaces chapter of the Photon Programmer's Guide