# SETWINDOW (W*S)

Graphics Function: Defines a window bound by the specified coordinates.

## Module

USE IFQWIN

result = SETWINDOW (finvert,wx1,wy1,wx2,wy2)

finvert | (Input) LOGICAL(2). Direction of increase of the y-axis. If finvert is .TRUE., the y-axis increases from the window bottom to the window top (as Cartesian coordinates). If finvert is .FALSE., the y-axis increases from the window top to the window bottom (as pixel coordinates).
wx1, wy1 | (Input) REAL(8). Window coordinates for upper-left corner of window.
wx2, wy2 | (Input) REAL(8). Window coordinates for lower-right corner of window.

## Results

The result type is INTEGER(2). The result is nonzero if successful; otherwise, 0 (for example, if the program that calls SETWINDOW is not in a graphics mode).

The SETWINDOW function determines the coordinate system used by all window-relative graphics routines. Any graphics routines that end in _W (such as ARC_W, RECTANGLE_W, and LINETO_W) use the coordinate system set by SETWINDOW.

Any window transformation done with the SETWINDOW function is relative to the viewport, not the entire screen.

An arc drawn using inverted window coordinates is not an upside-down version of an arc drawn with the same parameters in a noninverted window. The arc is still drawn counterclockwise, but the points that define where the arc begins and ends are inverted.

If wx1 equals wx2 or wy1 equals wy2, SETWINDOW fails.

## Example

     USE IFQWIN
     INTEGER(2) status
     LOGICAL(2) invert /.TRUE./
     REAL(8) upx /0.0/, upy /0.0/
     REAL(8) downx /1000.0/, downy /1000.0/
     status = SETWINDOW(invert, upx, upy, downx, downy)

Parent topic: Graphics Library Routines

## See Also

GETWINDOWCOORD
SETCLIPRGN
SETVIEWORG
SETVIEWPORT
GRSTATUS
ARC_W
LINETO_W
MOVETO_W
PIE_W
POLYGON_W
RECTANGLE_W