Rect, S_Rect, F_Rect, SF_Rect, Polygon, S_Polygon, F_Polygon, SF_Polygon - structured graphics classes
Contents
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.
Name
Rect, S_Rect, F_Rect, SF_Rect, Polygon, S_Polygon, F_Polygon, SF_Polygon - structured graphics classes
for rectangles and polygons
Polygon Protected Operations
Polygon(Coord*x,Coord*y,intcount,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,intcount,Graphic*=nil)F_Polygon(Coord*x,Coord*y,intcount,Graphic*=nil)SF_Polygon(Coord*x,Coord*y,intcount,Graphic*=nil)
Constructors for the various predefined Rect subclasses.
Rect Protected Operations
Rectangle(Coordx0,Coordy0,Coordx1,Coordy1,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.
voids_getExtent(float&,float&,float&,float&,float&,Graphic*)voidf_getExtent(float&,float&,float&,float&,float&,Graphic*)booleans_contains(PointObj&,Graphic*)booleanf_contains(PointObj&,Graphic*)booleans_intersects(BoxObj&,Graphic*)booleanf_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 Public Operations
voidGetOriginal(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 Subclass Public Operations
S_Rect(Coordx0,Coordy0,Coordx1,Coordy1,Graphic*=nil)F_Rect(Coordx0,Coordy0,Coordx1,Coordy1,Graphic*=nil)SF_Rect(Coordx0,Coordy0,Coordx1,Coordy1,Graphic*=nil)
Constructors for the various predefined Rect subclasses.
See Also
Graphic(3U), Vertices(3U), geomobjs(3U), pspaint(3U) Unidraw 2 February 1991 polygons(3U)
Synopsis
#include<Unidraw/Graphic/polygons.h>
