Developer Guide and Reference

ID 767251
Date 10/31/2024
Public
Document Table of Contents

SETWINDOW

Graphics Function: Defines a window bound by the specified coordinates. This routine is only available for Windows.

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)