NAME¶
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 components whose geometry
can be expressed as a list of coordinate pairs. VerticesComp uses a Vertices
graphic to store its graphical attributes. VerticesView is an abstract
GraphicView subclass for displaying a VerticesComp. 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 vertices'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()
- Returns whether or not the vertices as stored in the view are different in
any way from those stored 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. VerticesView::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), PatternCmd(3U), PostScriptView(3U),
Vertices(3U), align(3U), idraw(3I)