Native Client

pp::Rect Class Reference

A 2 dimensional rectangle. More...

List of all members.

Public Functions

 Rect ()
 Rect (const PP_Rect &rect)
 Rect (int32_t w, int32_t h)
 Rect (int32_t x, int32_t y, int32_t w, int32_t h)
 Rect (const Size &s)
 Rect (const Point &origin, const Size &size)
 ~Rect ()
 operator PP_Rect () const
const PP_Rect & pp_rect () const
PP_Rect & pp_rect ()
int32_t x () const
void set_x (int32_t in_x)
int32_t y () const
void set_y (int32_t in_y)
int32_t width () const
void set_width (int32_t w)
int32_t height () const
void set_height (int32_t h)
Point point () const
void set_point (const Point &origin)
Size size () const
void set_size (const Size &s)
int32_t right () const
int32_t bottom () const
void SetRect (int32_t x, int32_t y, int32_t w, int32_t h)
void SetRect (const PP_Rect &rect)
void Inset (int32_t horizontal, int32_t vertical)
void Inset (int32_t left, int32_t top, int32_t right, int32_t bottom)
void Offset (int32_t horizontal, int32_t vertical)
void Offset (const Point &point)
bool IsEmpty () const
bool Contains (int32_t point_x, int32_t point_y) const
bool Contains (const Point &point) const
bool Contains (const Rect &rect) const
bool Intersects (const Rect &rect) const
Rect Intersect (const Rect &rect) const
Rect Union (const Rect &rect) const
Rect Subtract (const Rect &rect) const
Rect AdjustToFit (const Rect &rect) const
Point CenterPoint () const
bool SharesEdgeWith (const Rect &rect) const

Detailed Description

A 2 dimensional rectangle.

A rectangle is represented by x and y (which identifies the upper-left corner of the rectangle), width, and height.


Constructor and Destructor Details

pp::Rect::Rect ( ) [inline]

The default constructor.

Creates a Rect in the upper-left at 0,0 with height and width of 0.

pp::Rect::Rect ( const PP_Rect &  rect) [inline]

A constructor accepting a reference to a PP_Rect and converting the PP_Rect to a Rect.

This is an implicit conversion constructor.

Parameters:
[in]rectA PP_Rect.
pp::Rect::Rect ( int32_t  w,
int32_t  h 
) [inline]

A constructor accepting two int32_t values for width and height and converting them to a Rect in the upper-left starting coordinate of 0,0.

Parameters:
[in]wAn int32_t value representing a width.
[in]hAn int32_t value representing a height.
pp::Rect::Rect ( int32_t  x,
int32_t  y,
int32_t  w,
int32_t  h 
) [inline]

A constructor accepting four int32_t values for width, height, x, and y.

Parameters:
[in]xAn int32_t value representing a horizontal coordinate of a point, starting with 0 as the left-most coordinate.
[in]yAn int32_t value representing a vertical coordinate of a point, starting with 0 as the top-most coordinate.
[in]wAn int32_t value representing a width.
[in]hAn int32_t value representing a height.
pp::Rect::Rect ( const Size s) [inline, explicit]

A constructor accepting a pointer to a Size and converting the Size to a Rect in the upper-left starting coordinate of 0,0.

Parameters:
[in]sA pointer to a Size.
pp::Rect::Rect ( const Point origin,
const Size size 
) [inline]

A constructor accepting a pointer to a Point representing the origin of the rectangle and a pointer to a Size representing the height and width.

Parameters:
[in]originA pointer to a Point representing the upper-left starting coordinate.
[in]sizeA pointer to a Size representing the height and width.
pp::Rect::~Rect ( ) [inline]

Destructor.


Function Details

Rect pp::Rect::AdjustToFit ( const Rect rect) const

AdjustToFit() fits as much of the receiving rectangle within the supplied rectangle as possible, returning the result.

For example, if the receiver had a x-location of 2 and a width of 4, and the supplied rectangle had an x-location of 0 with a width of 5, the returned rectangle would have an x-location of 1 with a width of 4.

Parameters:
[in]rectA pointer to a Rect.
Returns:
A Rect representing the difference between this rectangle and the receiving rectangle.
int32_t pp::Rect::bottom ( ) const [inline]

Getter function to get the upper-bound for the y-coordinates of the rectangle.

Note that this coordinate value is one past the highest xy value of pixels in the rectangle. This loop will access all the pixels in a horizontal line in the rectangle: for (int32_t y = rect.y(); y < rect.bottom(); ++y) {}

Returns:
The value of y + height for this point.
Point pp::Rect::CenterPoint ( ) const

CenterPoint() determines the center of this rectangle.

Returns:
A Point representing the center of this rectangle.
bool pp::Rect::Contains ( int32_t  point_x,
int32_t  point_y 
) const

Contains() determines if the point identified by point_x and point_y falls inside this rectangle.

The point (x, y) is inside the rectangle, but the point (x + width, y + height) is not.

Parameters:
[in]point_xAn int32_t value representing a x value.
[in]point_yAn int32_t value representing a y value.
Returns:
true if the point_x and point_y fall inside the rectangle.
bool pp::Rect::Contains ( const Point point) const [inline]

Contains() determines if the specified point is contained by this rectangle.

Parameters:
[in]pointA pointer to a Point representing a 2D coordinate.
Returns:
true if the point_x and point_y fall inside the rectangle.
bool pp::Rect::Contains ( const Rect rect) const

Contains() determines if this rectangle contains the specified rectangle.

Parameters:
[in]rectA pointer to a Rect.
Returns:
true if the rectangle fall inside this rectangle.
int32_t pp::Rect::height ( ) const [inline]

Getter function for returning the value of height.

Returns:
The value of height for this Rect.
void pp::Rect::Inset ( int32_t  horizontal,
int32_t  vertical 
) [inline]

Inset() shrinks the rectangle by a horizontal and vertical distance on all sides.

Parameters:
[in]horizontalAn int32_t value representing a horizontal shrinking distance.
[in]verticalAn int32_t value representing a vertical shrinking distance.
void pp::Rect::Inset ( int32_t  left,
int32_t  top,
int32_t  right,
int32_t  bottom 
)

Inset() shrinks the rectangle by the specified amount on each side.

Parameters:
[in]leftAn int32_t value representing a left shrinking distance.
[in]topAn int32_t value representing a top shrinking distance.
[in]rightAn int32_t value representing a right shrinking distance.
[in]bottomAn int32_t value representing a bottom shrinking distance.
Rect pp::Rect::Intersect ( const Rect rect) const

Intersect() computes the intersection of this rectangle with the given rectangle.

Parameters:
[in]rectA pointer to a Rect.
Returns:
A Rect representing the intersection.
bool pp::Rect::Intersects ( const Rect rect) const

Intersects() determines if this rectangle intersects the specified rectangle.

Parameters:
[in]rectA pointer to a Rect.
Returns:
true if the rectangle intersects this rectangle.
bool pp::Rect::IsEmpty ( ) const [inline]

IsEmpty() determines if the area of a rectangle is zero.

Returns true if the area of the rectangle is zero.

Returns:
true if the area of the rectangle is zero.
void pp::Rect::Offset ( int32_t  horizontal,
int32_t  vertical 
)

Offset() moves the rectangle by a horizontal and vertical distance.

Parameters:
[in]horizontalAn int32_t value representing a horizontal move distance.
[in]verticalAn int32_t value representing a vertical move distance.
void pp::Rect::Offset ( const Point point) [inline]

Offset() moves the rectangle by a horizontal and vertical distance.

Parameters:
[in]pointA pointer to a Point representing the horizontal and vertical move distances.
pp::Rect::operator PP_Rect ( ) const [inline]

PP_Rect() allows implicit conversion of a Rect to a PP_Rect.

Returns:
A Point.
Point pp::Rect::point ( ) const [inline]

Getter function for returning the Point.

Returns:
A Point.
const PP_Rect& pp::Rect::pp_rect ( ) const [inline]

Getter function for returning the internal PP_Rect struct.

Returns:
A const reference to the internal PP_Rect struct.
PP_Rect& pp::Rect::pp_rect ( ) [inline]

Getter function for returning the internal PP_Rect struct.

Returns:
A mutable reference to the PP_Rect struct.
int32_t pp::Rect::right ( ) const [inline]

Getter function to get the upper-bound for the x-coordinates of the rectangle.

Note that this coordinate value is one past the highest x value of pixels in the rectangle. This loop will access all the pixels in a horizontal line in the rectangle: for (int32_t x = rect.x(); x < rect.right(); ++x) {}

Returns:
The value of x + width for this point.
void pp::Rect::set_height ( int32_t  h) [inline]

Setter function for setting the value of height.

Parameters:
[in]hA new width height.
void pp::Rect::set_point ( const Point origin) [inline]

Setter function for setting the value of the Point.

Parameters:
[in]originA Point representing the upper-left starting coordinate.
void pp::Rect::set_size ( const Size s) [inline]

Setter function for setting the Size.

Parameters:
[in]sA pointer to a Size representing the height and width.
void pp::Rect::set_width ( int32_t  w) [inline]

Setter function for setting the value of width.

Parameters:
[in]wA new width value.
void pp::Rect::set_x ( int32_t  in_x) [inline]

Setter function for setting the value of x.

Parameters:
[in]in_xA new x value.
void pp::Rect::set_y ( int32_t  in_y) [inline]

Setter function for setting the value of y.

Parameters:
[in]in_yA new y value.
void pp::Rect::SetRect ( const PP_Rect &  rect) [inline]

Setter function for setting the value of the Rect.

Parameters:
[in]rectA pointer to a PP_Rect.
void pp::Rect::SetRect ( int32_t  x,
int32_t  y,
int32_t  w,
int32_t  h 
) [inline]

Setter function for setting the value of the Rect.

Parameters:
[in]xA new x value.
[in]yA new y value.
[in]wA new width value.
[in]hA new height value.
bool pp::Rect::SharesEdgeWith ( const Rect rect) const

SharesEdgeWith() determines if this rectangle shares an entire edge (same width or same height) with the given rectangle, and the rectangles do not overlap.

Parameters:
[in]rectA pointer to a Rect.
Returns:
true if this rectangle and supplied rectangle share an edge.
Size pp::Rect::size ( ) const [inline]

Getter function for returning the Size.

Returns:
The size of the rectangle.
Rect pp::Rect::Subtract ( const Rect rect) const

Subtract() computes the rectangle resulting from subtracting rect from this Rect.

If rectdoes not intersect completely in either the x or y direction, then *this is returned. If rect contains this, then an empty Rect is returned.

Parameters:
[in]rectA pointer to a Rect.
Returns:
A Rect representing the subtraction.
Rect pp::Rect::Union ( const Rect rect) const

Union() computes the union of this rectangle with the given rectangle.

The union is the smallest rectangle containing both rectangles.

Parameters:
[in]rectA pointer to a Rect.
Returns:
A Rect representing the union.
int32_t pp::Rect::width ( ) const [inline]

Getter function for returning the value of width.

Returns:
The value of width for this Rect.
int32_t pp::Rect::x ( ) const [inline]

Getter function for returning the value of x.

Returns:
The value of x for this Point.
int32_t pp::Rect::y ( ) const [inline]

Getter function for returning the value of y.

Returns:
The value of y for this Point.

The documentation for this class was generated from the following file:

Authentication required

You need to be signed in with Google+ to do that.

Signing you in...

Google Developers needs your permission to do that.