Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

drawing_mode(3G)

fill_color(3G)

interior_style(3G)

perimeter_color(3G)

perimeter_repeat_length(3G)

perimeter_type(3G)

polygon(3G)

rectangle(3G)

vertex_format(3G)

write_enable(3G)

polyrectangle(3G)

NAME

dcpolyrectangle, intpolyrectangle − define rectangular regions to be filled and/or edged

SYNOPSIS

C Syntax:

void intpolyrectangle(fildes,clist,numrects,flags);
int fildes,clist[],numrects,flags;

void dcpolyrectangle(fildes,clist,numrects,flags);
int fildes,clist[],numrects,flags;

FORTRAN77 Syntax:

subroutine intpolyrectangle(fildes,clist,numrects,flags)
integer*4 fildes,clist(numrects*(4+2*flags)),numrects,flags

subroutine dcpolyrectangle(fildes,clist,numrects,flags)
integer*4 fildes,clist(numrects*(4+2*flags)),numrect,flags;

Pascal Syntax:

procedure intpolyrectangle(fildes:integer,var clist:array[lo..hi:integer] of integer;numrects,flags:integer);

procedure dcpolyrectangle(fildes:integer,var clist:array[lo..hi:integer] of integer;numrects,flags:integer);

DESCRIPTION

Input Parameters

fildes Integer file descriptor returned by gopen when an I/O path to a graphics device is opened. 

clist Array of integer world coordinate data for intpolyrectangle and integer device coordinate data for dcpolyrectangle.  The data represents the corners of the rectangles, and should be arranged in the order x1, y1, x2, y2.  This data may contain move/draw indicators after each x, y pair. 

numrects The number of rectangles to be drawn. 

flags If set to FALSE (0), move/draw data is not included in the clist. 

If set to TRUE (1), move/draw indicators are included in the clist following each pair of x, y coordinates.  Move/draw indicators occupy the same amount of space as a single coordinate and are interspersed with the coordinate data.  All bits of the indicator must be zero to indicate a move (integer 0).  If move/draw indicators are present, each (x,y) pair of coordinates is followed by a move/draw indicator. For example:

2-dimensions
x1
y1
move/draw1
x2
y2
move/draw2
.
.
.
.

Discussion

A boundary of a rectangular region is defined by diagonally opposite corners of the rectangle (x1, y1, x2, y2) as specified in the clist array, regardless of whether that coordinate contains a move or a draw flag.  If flags is TRUE (1), the move/draw flag following the position coordinate is ignored. 

Each entry in the clist may contain any number of coordinates.  Note that vertex_format does not apply to intpolyrectangle. 

The rectangle is filled and/or edged according to the current interior style, using the current fill color and perimeter attributes.  As with all output primitives, the rectangles are affected by the current drawing mode and write enable. 

No clipping or transformations are performed on device coordinate procedures. 

Device coordinate current pen position and world device coordinate current pen position are not related. If you are switching between the two coordinate systems, always begin the use of either system with a move to a known location before performing any other operations. 

Integer operations are only available when using the INT_XFORM gopen mode. When in INT_XFORM mode, floating point operations are not available for that file descriptor. Floating point operations are the default, or can be specified with FLOAT_XFORM mode. For a list of integer operations, floating point operations and common operations see the starbase.3g manual page. 

NOTE

Doing any Starbase calls other than intpartial_circle or intpartial_polygon in the middle of a list of procedure calls that add vertices to the polygon buffer and before a call to intpolygon, intrectangle, intarc, intcircle, intpolyrectangle, or intpolycircle produces unpredictable, device-dependent results. 

SEE ALSO

drawing_mode(3G), fill_color(3G), interior_style(3G), perimeter_color(3G), perimeter_repeat_length(3G), perimeter_type(3G), polygon(3G), rectangle(3G), vertex_format(3G), write_enable(3G). 

Hewlett-Packard Company  —  HP-UX Release 9.03: April 1994

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026