Rectangle component subject, view, and postscript external representation
#include <Unidraw/Components/rect.h>
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(SF_Rect* = nil)
The constructor takes an optional stroked-filled rectangle that defines the attributes of the rectangle.
SF_Rect* GetRect()
Return the SF_Rect graphic that defines the rectangle's attributes. GetRect is simply a more specific form of the GetGraphic operation.
RectView(RectComp* = nil)
Create an RectView, optionally supplying the subject.
virtual void Interpret(Command*)
RectView interprets AlignToGridCmd to align its lower-left to the grid.
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 gravity.
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.
RectComp* GetRectComp()
Return the subject.
virtual void CreateHandles()
RectView redefines CreateHandles to use a RubberHandles object with four handles, one at each corner of the rectangle.
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), edit(3U), polygons(3U)