<?xml version="1.0" encoding="UTF-8"?>

<?xml-stylesheet type="text/xsl" href="../style/class_view.xsl"?>
<Rect>
===============================================
  Rect - base class to represent rectangle
===============================================
Integer or float values are accepted as coordinates

<CONSTRUCTOR>
  Rect() - generic constructor, creates a Rect with zero coordinates
  Rect(Rect r) - copy constructor
  Rect(<cl>Point</cl> p) - creates rectangle with one corner at (0, 0) and
                           another - at coordinates defined by p
  Rect(<cl>Point</cl> p0, <cl>Point</cl> p1) - creates rectangle defined by the corner points
  Rect(x0, y0, x1, y1) - creates a rectangle defined by the coordinates of the corner points

</CONSTRUCTOR>
	<ATTRIBUTES>
  ll (<cl>Point</cl>) - position of the left/bottom corner
  ur (<cl>Point</cl>) - position of the right/top corner
  x (integer or float) - horizontal position of the left corner
  y (integer or float) - vertical position of the bottom corner
  width (integer or float) - width of the rectangle
  height (integer or float) - height of the rectangle

</ATTRIBUTES>
	<OPERATIONS>
  add - <cl>Point</cl> or Rect must be second operand, rectangle is expanded to include 
        this point or rectange
  multiply - second operand must be <cl>Matrix</cl>. Matrix transformation is applied 
        to the rectangle

</OPERATIONS>
	<METHODS>
  Assign(Rect r) | (Point p0, Point p1) | (x0, y0, x1, y1) - assigns new values
        to a Rect, the same as constructor
  Shift(<cl>Point</cl> p) | (x, y) - shifts Rect on a position defined by p or x
        and y values
  Transform(<cl>Matrix</cl> m) - applies Matrix transformation to the Rect (see <cl>Matrix</cl>().__doc__)
  Resize(width, height) - resizes rectangle to new width and height
  Include(Rect r) | (<cl>Point</cl> p) | (x, y)  - expands rectangle to include
        new rectangle or point
  Check(Rect r) - returns True if r overlaps current rectangle
  Check(<cl>Point</cl> p) - returns True if p is insude current rectangle
  Validate() - corrents rectangle's orientation

</METHODS>
</Rect>

