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)