Ellipse, S_Ellipse, F_Ellipse, SF_Ellipse, S_Circle,
F_Circle, SF_Circle - abstract base class and predefined
subclasses for elliptical structured graphics
SYNOPSIS
#include <Unidraw/Graphic/ellipses.h>
DESCRIPTION
Ellipse is an abstract base class for elliptical struc-
tured graphics objects. It stores geometric information
that such graphics require and provides helper functions
for calculating extents and for hit detection. Predefined
subclasses include S_Ellipse, F_Ellipse, and SF_Ellipse,
which draw stroked, filled, and stroked-filled ellipses,
respectively; and S_Circle, F_Circle, and SF_Circle, which
draw stroked, filled, and stroked-filled circles, respec-
tively. The stroked subclasses store a PSBrush, the
filled subclasses store a PSPattern, and the stroked-
filled subclasses store one of each.
ELLIPSE PUBLIC OPERATIONS
void GetOriginal(Coord& x, Coord& y, int& rx, int& ry)
Return the ellipse's geometry. (x, y) defines the
ellipse's center, while rx and ry define its hori-
zontal and vertical radii, respectively.
ELLIPSE PROTECTED OPERATIONS
Ellipse(Coord x, Coord y, int rx, int ry, Graphic* = nil)
The constructor is protected to disallow instantia-
tion of the abstract base class. An ellipse's
geometry is defined in terms of its center and its
horizontal and vertical radii. 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 detec-
tion information based on the bounding box that the
ellipse defines. s_getExtent, s_contains, and
s_intersects return information that accounts for
the width of a brush, as would be necessary if the
filled. Subclasses can use the operations to help
implement their getExtent, contains, and intersects
operations.
SUBCLASS PUBLIC OPERATIONS
S_Ellipse(Coord x, Coord y, int rx, int ry, Graphic* =
nil)
F_Ellipse(Coord x, Coord y, int rx, int ry, Graphic* =
nil)
SF_Ellipse(Coord x, Coord y, int rx, int ry, Graphic* =
nil)
S_Circle(Coord x, Coord y, int radius, Graphic* = nil)
F_Circle(Coord x, Coord y, int radius, Graphic* = nil)
SF_Circle(Coord x, Coord y, int radius, Graphic* = nil)
Constructors for the various predefined Ellipse
subclasses.
SEE ALSO
Graphic(3U), geomobjs(3U), pspaint(3U)
Man(1) output converted with
man2html