RectComp, RectView, PSRect - rectangle component subject, view, and
PostScript external representation
RectComp is a GraphicComp that defines a rectangle. It uses an SF_Rect
graphic to store its graphical attributes. RectView is a GraphicView
for displaying the rectangle. PSRect is a PostScriptView that
externalizes the subject's information in PostScript form.
RECTCOMP PUBLIC OPERATIONS
RectComp(SF_Rect* = nil)
The constructor takes an optional stroked-filled rectangle that
defines the attributes of the rectangle.
Return the SF_Rect graphic that defines the rectangle's
attributes. GetRect is simply a more specific form of the
RECTVIEW PUBLIC OPERATIONS
RectView(RectComp* = nil)
Create an RectView, optionally supplying the subject.
virtual void Interpret(Command*)
RectView interprets AlignToGridCmd to align its lower-left to
virtual Manipulator* CreateManipulator(
Viewer*, Event&, Transformer*, Tool*
virtual void InterpretManipulator(Manipulator*)
RectView redefines its response to manipulation with a
GraphicCompTool. GraphicCompTool will let the user sweep out a
rectangle that reflects the RectComp's size. Creation will be
influenced by gravity, if any. RectView also defines a response
to the ReshapeTool, allowing the user to click on one of its
corners to reposition it. The subject is actually replaced (via
ReplaceCmd) with a PolygonComp subject reflecting the
repositioned corner. Repositioning will be influenced by
virtual void GetCorners(Coord*, Coord*)
GetCorners takes two arrays of four Coord values and stores into
them the coordinates of its corners, in canvas coordinates.
Return the subject.
RECTVIEW PROTECTED OPERATIONS
virtual void CreateHandles()
RectView redefines CreateHandles to use a RubberHandles object
with four handles, one at each corner of the rectangle.
PSRECT PUBLIC OPERATIONS
PSRect(RectComp* = nil)
Construct a PostScript external representation of the given
subject, if any.
GraphicComp(3U), GraphicCompTool(3U), GraphicView(3U), Grid(3U),
PolygonComp(3U), PostScriptView(3U), ReshapeTool(3U), align(3U),