SYNOPSIS

#include <Unidraw/Components/rect.h>

DESCRIPTION

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.

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 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 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.

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.

RELATED TO RectComp…

GraphicComp(3U), GraphicCompTool(3U), GraphicView(3U), Grid(3U), PolygonComp(3U), PostScriptView(3U), ReshapeTool(3U), align(3U), edit(3U), polygons(3U)