---
name: "RectComp"
section: "3"
platform: "linux"
package: "ivtools-dev"
version: "1.1.3-4"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/RectComp"
---

# RectComp(3)

rectangle component subject, view, and PostScript external representation

## NAME

RectComp, RectView, PSRect - rectangle component subject, view, and PostScript external representation

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

## SEE ALSO

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