LineComp, LineView, PSLine, MultiLineComp, MultiLineView,
PSMultiLine - line and multiline component subject, view, and PostScript
external representation
#include <Unidraw/Components/line.h>
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.
- 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.
- virtual void
CreateHandles()
- LineView redefines CreateHandles to use a RubberHandles object with two
handles, one at each endpoint of the line.
- 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.
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)