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