グラフィックス関数:指定した座標でウィンドウ境界を定義します。
モジュール:USE DFLIB
形式
result = SETWINDOW (finvert, wx1, wy1, wx2, wy2)
finvert
(入力) LOGICAL(2)。Y 軸を増加させる方向。finvert が .TRUE. の場合,Y 軸はウィンドウ下部からウィンドウ上部 (デカルト座標として) へ増加します。finvert が .FALSE. の場合,Y 軸はウィンドウ上部からウィンドウ下部 (ピクセル座標として) へ増加します。
wx1, wy1
(入力) REAL(8)。ウィンドウの左上隅のウィンドウ座標。
wx2, wy2
(入力) REAL(8)。ウィンドウの右下隅のウィンドウ座標。
結果
結果の型は INTEGER(2) です。成功すれば,結果は非ゼロで,そうでなければ 0 (たとえば,SETWINDOW を呼び出すプログラムがグラフィックス・モードにない場合) です。
SETWINDOW 関数は,すべてのウィンドウ関連グラフィックス・ルーチンが使用する座標系を決定します。_W で終わるグラフィックス・ルーチン (たとえば,ARC_W,RECTANGLE_W,および LINETO_W) は,SETWINDOW で設定した座標系を使用します。
SETWINDOW 関数で行われるウィンドウ変換は,画面全体ではなく,ビューポートに相対的です。
逆のウィンドウ座標を使って描画した円弧は,正常のウィンドウ座標の同じパラメタで描いた円弧の上下を逆にしたバージョンではありません。円弧は,依然として反時計回りに描画されますが,円弧の始点と終点を定義する点は逆になります。
wx1 が wx2 に等しいか,wy1 が wy2 に等しい場合,SETWINDOW は失敗します。
互換性
STANDARD GRAPHICS QUICKWIN GRAPHICS LIB
関連情報
ARC_W,GETWINDOWCOORD,GRSTATUS,LINETO_W,MOVETO_W,PIE_W,POLYGON_W,RECTANGLE_W,SETCLIPRGN,SETVIEWORG,SETVIEWPORT
例
! QuickWin または Standard Graphics アプリケーションでビルドします。 USE DFLIB 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)