Rect, S_Rect, F_Rect, SF_Rect, Polygon, S_Polygon, F_Polygon,
SF_Polygon - structured graphics classes for rectangles and polygons
#include <Unidraw/Graphic/polygons.h>
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.
- 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.
- 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.
Graphic(3U), Vertices(3U), geomobjs(3U), pspaint(3U)