logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

LineComp, LineView, PSLine, MultiLineComp, MultiLineView, PSMultiLine - line and multiline component

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.

       virtualvoidInterpret(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 Protected Operations

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

Lineview Public Operations

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

       virtualvoidInterpret(Command*)
              LineView interprets AlignToGridCmd to align its first endpoint to the grid.

       virtualManipulator*CreateManipulator(Viewer*,Event&,Transformer*,Tool*)virtualvoidInterpretManipulator(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.

       virtualvoidGetEndpoints(Coord&,Coord&,Coord&,Coord&)
              Return the line's endpoints, in canvas coordinates.

       LineComp*GetLineComp()
              Return the subject.

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.

       virtualManipulator*CreateManipulator(Viewer*,Event&,Transformer*,Tool*)virtualvoidInterpretManipulator(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.

Name

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

Psline Public Operations

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

Psmultiline Protected Operations

virtualconstchar*Name()
              PSMultiLine identifies itself as "MLine" in the PostScript output.

Psmultiline Public Operations

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

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)

Unidraw                                          22 January 1991                                    LineComp(3U)

Synopsis

#include<Unidraw/Components/line.h>

See Also