oracular (3) LineComp.3U.gz

Provided by: ivtools-dev_2.0.11d.a1-3build6_amd64 bug

NAME

       LineComp,  LineView,  PSLine,  MultiLineComp,  MultiLineView,  PSMultiLine - line and multiline component
       subject, view, and PostScript external representation

SYNOPSIS

       #include <Unidraw/Components/line.h>

DESCRIPTION

       LineComp is a GraphicComp that defines  a  line.   It  uses  an  Line  graphic  to  store  its  graphical
       attributes.   LineView  is  a  GraphicView  for  displaying  the  line.   PSLine is a PostScriptView that
       externalizes the subject's information in PostScript form.  The MultiLine counterparts of  these  classes
       define  the  component  and  external representation for a contiguous set of line segments, i.e., an open
       polygon.  MultiLineComp is derived from VerticesComp, MultiLineView is a VerticesView, and PSMultiLine is
       a PSVertices.

LINECOMP PUBLIC OPERATIONS

       LineComp(Line* = nil)
              The constructor takes an optional line graphic that defines the attributes of the line.

       virtual void Interpret(Command*)
              LineComp redefines Interpret to ignore PatternCmds.

       Line* GetLine()
              Return  the  Line  graphic  that defines the line's attributes.  GetLine is simply a more specific
              form of the GetGraphic operation.

LINEVIEW PUBLIC OPERATIONS

       LineView(LineComp* = nil)
              Create an LineView, optionally supplying the subject.

       virtual void Interpret(Command*)
              LineView interprets AlignToGridCmd to align its first endpoint to the grid.

       virtual Manipulator* CreateManipulator(
          Viewer*, Event&, Transformer*, Tool*
       )

       virtual void InterpretManipulator(Manipulator*)
              LineView redefines its response to manipulation  with  a  GraphicCompTool.   The  user  clicks  to
              specify  the  first  endpoint  of  the  line  and  then drags to position remaining endpoint.  The
              endpoints will be constrained by gravity, if  any.   LineView  also  defines  a  response  to  the
              ReshapeTool,  allowing the user to click on one of its endpoints to reposition it.  The subject is
              actually replaced (via ReplaceCmd)  with  a  new  LineComp  subject  reflecting  the  repositioned
              endpoint.  Repositioning will be influenced by gravity.

       virtual void GetEndpoints(Coord&, Coord&, Coord&, Coord&)
              Return the line's endpoints, in canvas coordinates.

       LineComp* GetLineComp()
              Return the subject.

LINEVIEW PROTECTED OPERATIONS

       virtual void CreateHandles()
              LineView  redefines  CreateHandles  to  use  a  RubberHandles object with two handles, one at each
              endpoint of the line.

PSLINE PUBLIC OPERATIONS

       PSLine(LineComp* = nil)
              Construct a PostScript external representation of the given subject, if any.

MULTILINECOMP PUBLIC OPERATIONS

       MultiLineComp(SF_MultiLine* = nil)
              The constructor takes an optional stroked-filled multiline graphic that defines the attributes  of
              the multiline.

       SF_MultiLine* GetMultiLine()
              Return  the  MultiLine  graphic that defines the multiline's attributes.  GetMultiLine is simply a
              more specific form of the GetGraphic operation.

MULTILINEVIEW PUBLIC OPERATIONS

       MultiLineView(MultiLineComp* = nil)
              Create an MultiLineView, optionally supplying the subject.

       virtual Manipulator* CreateManipulator(
          Viewer*, Event&, Transformer*, Tool*
       )

       virtual void InterpretManipulator(Manipulator*)
              MultiLineView redefines its response to manipulation with a GraphicCompTool.  The user clicks  the
              left  mouse  button  to specify each vertex and clicks with the middle mouse button to specify the
              final vertex.  Vertex positioning will be constrained by  gravity,  if  any.   MultiLineView  also
              defines  a  response  to  the  ReshapeTool,  allowing  the user to click on one of its vertices to
              reposition it.  The subject is actually replaced (via ReplaceCmd) with a new MultiLineComp subject
              reflecting the repositioned vertex.  Repositioning will be influenced by gravity.

       MultiLineComp* GetMultiLineComp()
              Return the subject.

PSMULTILINE PUBLIC OPERATIONS

       PSMultiLine(MultiLineComp* = nil)
              Construct a PostScript external representation of the given subject, if any.

PSMULTILINE PROTECTED OPERATIONS

       virtual const char* Name()
              PSMultiLine identifies itself as "MLine" in the PostScript output.

SEE ALSO

       Event(3I),    GraphicComp(3U),    GraphicCompTool(3U),    GraphicView(3U),    Grid(3U),   PatternCmd(3U),
       PostScriptView(3U),  ReshapeTool(3U),   Rubband(3I),   Transformer(3I),   VerticesComp(3U),   Viewer(3U),
       align(3U), edit(3U), lines(3U)