PSRect(3) rectangle component subject,

Other Alias

RectComp, RectView

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.