ClanSoft logo
ClanSoft logo
Entire Class Index Main Class Index Cross Index Global Index

Class CL_ClipRect

Clipping rectangle class in ClanLib.
Contained in: global
Derived from: none
Derived by: none
Group: Display (Display 2D)

#include <ClanLib/display.h>


public function member index:

Construction:

CL_ClipRect();
CL_ClipRect(const CL_ClipRect& rect);
CL_ClipRect(int x1, int y1, int x2, int y2);

Attributes:

bool test_clipped(const CL_ClipRect& rect) const;
bool test_unclipped(const CL_ClipRect& rect) const;
bool test_all_clipped(const CL_ClipRect& rect) const;

Operations:

CL_ClipRect clip(const CL_ClipRect& rect) const;

Operators:

bool operator == (const CL_ClipRect& rect) const;
 

Description:

This class is used to define clipping regions when drawing graphics to the backbufffer. This is useful if it is too expensive to update the entire screen each time - instead you can define a limited area where everything outside the rectangle should be discarded.

The clipping rectangle is used together with the clipping rect functions in CL_Display and CL_DisplayCard.
See also: CL_Display - The DisplayCard wrapper class.
See also: CL_DisplayCard - The DisplayCard class.


Function Member Descriptions:

CL_ClipRect::CL_ClipRect - Constructs an uninitialized clip rectangle.
(x1, y1) and (x2, y2) contain random values, and should be manually initialized before usage of the clip rect.
CL_ClipRect();


CL_ClipRect::CL_ClipRect - Copy constructor.
CL_ClipRect(const CL_ClipRect& rect);


CL_ClipRect::CL_ClipRect - Constructs a clipping rectangle from (x1,y1) to (x2,y2).
(x1,y1) - Upper left corner of the rectangle.
(x2,y2) - Lower right corner of the rectangle (not included)
CL_ClipRect(int x1, int y1, int x2, int y2);


CL_ClipRect::clip - Clips the given rectangle and returns the result.
CL_ClipRect clip(const CL_ClipRect& rect) const;
rect - The rectangle to be clipped.
Returns - The clipped rectangle.



CL_ClipRect::operator == - Standard C++ == operator.
bool operator == (const CL_ClipRect& rect) const;
Returns - True if specified rectangle equals this rectangle.



CL_ClipRect::test_all_clipped - Tests whether all of the specified rectangle is outside this rectangle.
bool test_all_clipped(const CL_ClipRect& rect) const;
rect - The rectangle to be tested.
Returns - True if the entire specified rect is outside this rectangle.



CL_ClipRect::test_clipped - Tests if the specified rectangle needs to be clipped with this clip rect.
bool test_clipped(const CL_ClipRect& rect) const;
rect - The rectangle to be tested.
Returns - True if the passed rectangle needs to be clipped.



CL_ClipRect::test_unclipped - Tests whether the specified rectangle is entirely contained within this clip rect.
bool test_unclipped(const CL_ClipRect& rect) const;
rect - The rectangle to be tested.
Returns - True if the passed rectangle is contained within this rectangle.




Variable Member Descriptions:

CL_ClipRect::m_x1 - Min x-coordinate of the rectangle.
int m_x1;

CL_ClipRect::m_x2 - Max x-coordinate of the rectangle - NOT included in clipping area
int m_x2;

CL_ClipRect::m_y1 - Min y-coordinate of the rectangle.
int m_y1;

CL_ClipRect::m_y2 - Max y-coordinate of the rectangle - NOT included in clipping area
int m_y2;