NAME¶
Rect, S_Rect, F_Rect, SF_Rect, Polygon, S_Polygon, F_Polygon, SF_Polygon -
  structured graphics classes for rectangles and polygons
SYNOPSIS¶
#include <Unidraw/Graphic/polygons.h>
DESCRIPTION¶
Rect and Polygon serve as abstract base classes for rectangle and polygon
  structured graphics. They are derived from Graphic and Vertices, respectively.
  Predefined subclasses include S_Rect, F_Rect, and SF_Rect, which draw stroked,
  filled, and stroked-filled rectangles, respectively; and S_Polygon, F_Polygon,
  and SF_Polygon, which draw stroked, filled, and stroked-filled polygons,
  respectively. The stroked subclasses store a PSBrush, the filled subclasses
  store a PSPattern, and the stroked-filled subclasses store one of each.
RECT PUBLIC OPERATIONS¶
  - void GetOriginal(Coord& x0, Coord& y0, Coord& x1,
    Coord& y1)
 
  - Return the rectangle's geometry, as specified in the constructor. ( x0,
      y0) defines one corner of the rectangle, while ( x1, y1)
      defines the opposing corner.
 
RECT PROTECTED OPERATIONS¶
  - Rectangle(Coord x0, Coord y0, Coord x1, Coord y1, Graphic* =
    nil)
 
  - The constructor is protected to disallow instantiation of the abstract
      base class. A rectangle's geometry is defined by two points, corresponding
      to opposing corners of the rectangle. The constructor also takes an
      optional graphic from which to obtain an initial set of graphics
    state.
 
  - void s_getExtent(
 
  
  -  float&, float&, float&, float&, float&,
    Graphic*
 
  
  - )
 
  
  - void f_getExtent(
 
  
  -  float&, float&, float&, float&, float&,
    Graphic*
 
  
  - )
 
  
  - boolean s_contains(PointObj&, Graphic*)
 
  
  - boolean f_contains(PointObj&, Graphic*)
 
  
  - boolean s_intersects(BoxObj&, Graphic*)
 
  
  - boolean f_intersects(BoxObj&, Graphic*)
 
  - Helper functions that return extent and hit detection information based on
      the bounding box that the rectangle defines. s_getExtent, s_contains, and
      s_intersects return information that accounts for the width of a brush, as
      would be necessary if the rectangle is stroked, while f_getExtent,
      f_contains, and f_intersects assumes that the rectangle is filled.
      Subclasses can use the operations to help implement their getExtent,
      contains, and intersects operations.
 
RECT SUBCLASS PUBLIC OPERATIONS¶
  - S_Rect(Coord x0, Coord y0, Coord x1, Coord y1, Graphic* = nil)
 
  
  - F_Rect(Coord x0, Coord y0, Coord x1, Coord y1, Graphic* = nil)
 
  
  - SF_Rect(Coord x0, Coord y0, Coord x1, Coord y1, Graphic* =
    nil)
 
  - Constructors for the various predefined Rect subclasses.
 
POLYGON PROTECTED OPERATIONS¶
  - Polygon(Coord* x, Coord* y, int count, Graphic* = nil)
 
  - Polygon's constructor is protected to prevent instantiation of the
      abstract base class. The parameters are passed directly to the Vertices
      constructor.
 
POLYGON SUBCLASS PUBLIC OPERATIONS¶
  - S_Polygon(Coord* x, Coord* y, int count, Graphic* = nil)
 
  
  - F_Polygon(Coord* x, Coord* y, int count, Graphic* = nil)
 
  
  - SF_Polygon(Coord* x, Coord* y, int count, Graphic* = nil)
 
  - Constructors for the various predefined Rect subclasses.
 
SEE ALSO¶
Graphic(3U), Vertices(3U), geomobjs(3U), pspaint(3U)