Rectangle.

You will find a general example for the use of rect here.

Rectangle. The module defines a rectangle object and some basic rectangle functions.

static Rect alloc()

Create a new rectangle object. Without any parameters, the empty rectangle (0.0, 0.0, 0.0, 0.0) is created.

Name Type Default Description
Return Rect   new created Rect
⇨ Square
s float - Square size, result is (0.0, 0.0, s, s)
⇨ Rectangle at (0.0, 0.0)
w, h float, float - Size of rectangle, result is (0.0, 0.0, w, h)
⇨ Rectangle
left, top, right, bottom float, float, float, float - Co-ordinates of rectangle. The data are not normalized!
int wrect (Rect r, char * trailer)
{
    if (strlen (trailer))	wlog ("", "%s	", trailer);
wlog ("", "%f, %f, %f, %f\n",   rect::left (r),   rect::top (r),   rect::right (r),   rect::bottom (r));
return 0; }
int main () { Rect r1 = rect::alloc (0.0, 0.0, 100.0, 200.0); Rect r2 = rect::alloc (80.0, 90.0, 110.0, 210.0); Rect intersect = rect::alloc (); Rect union_ = rect::alloc ();
rect::intersection (intersect, r1, r2); rect::union_ (union_, r1, r2);
wrect (r1, "R1"); wrect (r2, "R2"); wrect (intersect, "(-)"); wrect (union_, "(+)");
return 0; }

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

comet.rect.create
comet.rect.createSquare

static Rect clone(Rect org)

Clone an existing rectangle.

Name Type Default Description
Return Rect   new created Rect
org Rect - rectangle to clone

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

static int release(Rect r)

Release a rectangle object from the stack.

Name Type Default Description
Return int   always 0
r Rect - rectangle to clone

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

static float left(Rect rect)

Get the rectangle's left component.

Name Type Default Description
Return float   left component of rectangle
rect Rect - rectangle

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

comet.CRect.getLeft
comet.CRect.getValues

static float top(Rect rect)

Get the rectangle's left component.

Name Type Default Description
Return float   top component of rectangle
rect Rect - rectangle

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

comet.CRect.getTop
comet.CRect.getValues

static float right(Rect rect)

Get the rectangle's right component.

Name Type Default Description
Return float   right component of rectangle
rect Rect - rectangle

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

comet.CRect.getRight
comet.CRect.getValues

static float bottom(Rect rect)

Get the rectangle's bottom component.

Name Type Default Description
Return float   bottom component of rectangle
rect Rect - rectangle

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

comet.CRect.getBottom
comet.CRect.getValues

static float width(Rect rect)

Get the rectangle's width.

Name Type Default Description
Return float   width of rectangle
rect Rect - rectangle

v4.0.5 R18210, 19. May 2017

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

comet.CRect.getWidth

static float height(Rect rect)

Get the rectangle's height.

Name Type Default Description
Return float   height of rectangle
rect Rect - rectangle

v4.0.5 R18210, 19. May 2017

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

comet.CRect.getHeight

static float xcenter(Rect rect)

Get the rectangle's center on the X axis.

Name Type Default Description
Return float   rectangle's center on the X axis.
rect Rect - rectangle

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

comet.CRect.getCenter

static float ycenter(Rect rect)

Get the rectangle's center on the Y axis.

Name Type Default Description
Return float   rectangle's center on the Y axis.
rect Rect - rectangle

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

static int set_left(Rect rect, float l)

The rectangle's new left component.

Name Type Default Description
Return int   0 or ErrorCode
rect Rect - rectangle
l float - The rectangle's new left component

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

comet.CRect.setLeft

static int set_top(Rect rect, float t)

The rectangle's new top component.

Name Type Default Description
Return int   0 or ErrorCode
rect Rect - rectangle
t float - The rectangle's new top component

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

comet.CRect.setTop

static int set_right(Rect rect, float r)

The rectangle's new right component.

Name Type Default Description
Return int   0 or ErrorCode
rect Rect - rectangle
r float - The rectangle's new right component

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

comet.CRect.setRight

static int set_bottom(Rect rect, float b)

The rectangle's new bottom component.

Name Type Default Description
Return int   0 or ErrorCode
rect Rect - rectangle
b float - The rectangle's new bottom component

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

comet.CRect.setBottom

static int set_width(Rect rect, float w)

Set the rectangle's width.

Name Type Default Description
Return int   0 or ErrorCode
rect Rect - rectangle
w float - The rectangle's new width

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

comet.CRect.setWidth

static int set_height(Rect rect, float h)

Set the rectangle's height.

Name Type Default Description
Return int   0 or ErrorCode
rect Rect - rectangle
h float - The rectangle's new height

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

comet.CRect.setHeight

static int move_rel(
  Rect rect,
  float x,
  float y)

Move a rectangle relativ to its current position.

Name Type Default Description
Return int   0 or ErrorCode
rect Rect - rectangle
x, y float, float - Values for move

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

comet.CRect.moveBy

static int move_to(
  Rect rect,
  float x,
  float y)

Move a rectangle relativ to a new position.

Name Type Default Description
Return int   0 or ErrorCode
rect Rect - rectangle
x, y float, float - new position

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

comet.CRect.moveTo

static int center_on(
  Rect rect,
  float x,
  float y)

Center a rectangle at a given position.

Name Type Default Description
Return int   0 or ErrorCode
rect Rect - rectangle
x, y float, float - new center position

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

comet.CRect.moveTo

static int inset(
  Rect rect,
  float dx,
  float dy)

Contracts the rectangle by (dx, dy) on all sides. Positive values contract the rectangle, negative values enlarge it.

Name Type Default Description
Return int   0 or ErrorCode
rect Rect - rectangle
dx, dy float, float - Contracts the rectangle by (dx, dy) on all sides. Positive values contract the rectangle, negative values enlarge it.

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

comet.CRect.adjust

static int intersect(Rect r1, Rect r2)

Determines if two rectangles intersect. True if rectangles intersect in both x and y directions, but false if only a side is shared (ie., rectangles must strictly intersect).

Name Type Default Description
Return int   0 : no intersection
1 : yes
r1 Rect - rectangle 1
r2 Rect - rectangle 2

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

intersection
union_
contains
comet.CRect.intersects

static int intersection(
  Rect result,
  Rect r1,
  Rect r2)

Calculates the intersection of two rectangles. If the rectangles do not strictly intersect, the specified empty rectangle is returned.

Name Type Default Description
Return int   0 or ErrorCode
result Rect - intersection of r1 and r2 (empty, if r1 and r2 do not intersect strictly)
r1 Rect - rectangle 1
r2 Rect - rectangle 2
int wrect (Rect r, char * trailer)
{
    if (strlen (trailer))	wlog ("", "%s	", trailer);
wlog ("", "%f, %f, %f, %f\n",   rect::left (r),   rect::top (r),   rect::right (r),   rect::bottom (r));
return 0; }
int main () { Rect r1 = rect::alloc (0.0, 0.0, 100.0, 200.0); Rect r2 = rect::alloc (80.0, 90.0, 110.0, 210.0); Rect intersect = rect::alloc (); Rect union_ = rect::alloc ();
rect::intersection (intersect, r1, r2); rect::union_ (union_, r1, r2);
wrect (r1, "R1"); wrect (r2, "R2"); wrect (intersect, "(-)"); wrect (union_, "(+)");
return 0; }

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

intersect
union_
contains
comet.CRect.createIntersection

static int union_(
  Rect result,
  Rect r1,
  Rect r2)

Unions a rectangle with another.

Name Type Default Description
Return int   0 or ErrorCode
result Rect - Bounding box of r1 and r2
r1 Rect - rectangle 1
r2 Rect - rectangle 2
int wrect (Rect r, char * trailer)
{
    if (strlen (trailer))	wlog ("", "%s	", trailer);
wlog ("", "%f, %f, %f, %f\n",   rect::left (r),   rect::top (r),   rect::right (r),   rect::bottom (r));
return 0; }
int main () { Rect r1 = rect::alloc (0.0, 0.0, 100.0, 200.0); Rect r2 = rect::alloc (80.0, 90.0, 110.0, 210.0); Rect intersect = rect::alloc (); Rect union_ = rect::alloc ();
rect::intersection (intersect, r1, r2); rect::union_ (union_, r1, r2);
wrect (r1, "R1"); wrect (r2, "R2"); wrect (intersect, "(-)"); wrect (union_, "(+)");
return 0; }

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

intersection
contains
comet.CRect.createUnion

static int contains_point(
  Rect rect,
  float x,
  float y)

Determines whether the specified point falls within a rectangle.

Name Type Default Description
Return int   0 : No
1 : Yes, the point falls into rect.
rect Rect - rectangle
x, y float, float - point

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

intersection
contains
comet.CRect.containsPoint

static int contains(Rect r1, Rect r2)

Determines whether the specified rectangle is contained with a rectangle.

Name Type Default Description
Return int   0 : No, r1 does not contain r1
1 : Yes, r1 contains r2
r1 Rect - rectangle
r2 Rect - rectangle

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

intersection
contains_point
comet.CRect.containsRect

static float aspect_ratio(Rect rect)

Calculates the aspect ratio for the rectangle. The aspect ratio is calculated as the ratio of the rectangle's height to its width. If the rectangle is empty, zero is returned.

Name Type Default Description
Return float   aspcet ratio or 0.0 if the rectangle is empty
rect Rect - rectangle

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

comet.CRect.getAspectRatio

static float area(Rect rect)

Area of a rectangle.

Name Type Default Description
Return float   size of the rectangle
rect Rect - rectangle

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

comet.CRect.getArea

static float is_equal(Rect r1, Rect r2)

Check whether to rectangles are equal.

Name Type Default Description
Return int   0 : not equal
1 : equal
r1 Rect - rectangle 1
r2 Rect - rectangle 2

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf, Illustrator

int wrect (Rect r, char * trailer)
{
    if (strlen (trailer))	wlog ("", "%s	", trailer);
wlog ("", "%f, %f, %f, %f\n",   rect::left (r),   rect::top (r),   rect::right (r),   rect::bottom (r));
return 0; }
int main () { Rect r1 = rect::alloc (0.0, 0.0, 100.0, 200.0); Rect r2 = rect::alloc (80.0, 90.0, 110.0, 210.0); Rect intersect = rect::alloc (); Rect union_ = rect::alloc ();
rect::intersection (intersect, r1, r2); rect::union_ (union_, r1, r2);
wrect (r1, "R1"); wrect (r2, "R2"); wrect (intersect, "(-)"); wrect (union_, "(+)");
return 0; }

Since
Version 3.1 R2210, 29.11.2010

Alphabetic index HTML hierarchy of classes or Java