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

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

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

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

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

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

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

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

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

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

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

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

static int set_left(Rect rect, float l)

The rectangle's new left component.

Name Type Default Description
Return int   0 or Error code
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

static int set_top(Rect rect, float t)

The rectangle's new top component.

Name Type Default Description
Return int   0 or Error code
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

static int set_right(Rect rect, float r)

The rectangle's new right component.

Name Type Default Description
Return int   0 or Error code
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

static int set_bottom(Rect rect, float b)

The rectangle's new bottom component.

Name Type Default Description
Return int   0 or Error code
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

static int set_width(Rect rect, float w)

Set the rectangle's width.

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

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf

static int set_height(Rect rect, float h)

Set the rectangle's height.

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

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf

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 Error code
rect Rect - rectangle
x, y float, float - Values for move

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf

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 Error code
rect Rect - rectangle
x, y float, float - new position

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf

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 Error code
rect Rect - rectangle
x, y float, float - new center position

Version 3.1 R2210, 29.11.2010

priint:comet InDesign® Plug-Ins, comet_pdf

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 Error code
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

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

intersection, union_, contains

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 Error code
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

intersect, union_, contains

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

Unions a rectangle with another.

Name Type Default Description
Return int   0 or Error code
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

intersection, contains

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

intersection, contains

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

intersection, contains_point

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

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

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

This class has no child classes.

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