VerticesComp, VerticesView, PSVertices - abstract base
classes for vertexed graphical component subjects and
their views and PostScript external representations
SYNOPSIS
#include <Unidraw/Components/vertices.h>
DESCRIPTION
VerticesComp is an abstract base class for graphical com-
ponents whose geometry can be expressed as a list of coor-
dinate pairs. VerticesComp uses a Vertices graphic to
store its graphical attributes. VerticesView is an
abstract GraphicView subclass for displaying a Ver-
ticesComp. PSVertices is an abstract PostScriptView for
subclasses that externalize VerticesComp information in
PostScript form.
VERTICESCOMP PUBLIC OPERATIONS
Vertices* GetVertices()
Return the Vertices graphic that defines the ver-
tices's attributes. GetVertices is simply a more
specific form of the GetGraphic operation.
VERTICESCOMP PROTECTED OPERATIONS
VerticesComp(Vertices* = nil)
The constructor takes an optional vertices graphic
that defines the component's graphical attributes.
VERTICESVIEW PUBLIC OPERATIONS
virtual void Interpret(Command*)
VerticesView interprets AlignToGridCmd to align its
first vertex to the grid.
virtual void GetVertices(Coord*& x, Coord*& y, int& count)
Return the view's vertices in canvas coordinates.
GetVertices allocates new arrays each time it is
called.
VerticesComp* GetVerticesComp()
Return the subject.
VERTICESVIEW PROTECTED OPERATIONS
VerticesView(VerticesComp* = nil)
Initialize a VerticesView, optionally supplying the
subject.
virtual void CreateHandles()
VerticesView redefines CreateHandles to create a
RubberHandles object that draws a handle coinciding
with each vertex.
virtual boolean VertexChanged()
in the subject. The Update function relies on the
result to determine whether to recreate the view's
structured graphic based on the subject's. Ver-
ticesView::VertexChanged (conservatively) returns
false by default; subclasses should redefine this
function to make a more discerning decision,
thereby increasing the efficiency of the update
operation.
PSVERTICES PROTECTED OPERATIONS
PSVertices(VerticesComp* = nil)
Initialize a PostScript external representation of
the given subject, if any.
virtual const char* Name()
Subclasses should redefine Name to return the
proper tag for the object in the PostScript output
as required for idraw compatibility.
SEE ALSO
GraphicComp(3U), GraphicView(3U), Grid(3U), Pat-
ternCmd(3U), PostScriptView(3U), Vertices(3U), align(3U),
idraw(3I)
Man(1) output converted with
man2html