SETCLIPRGN

グラフィックス・サブルーチン:グラフィックス出力を画面の一部に限定します。

モジュールUSE DFLIB

形式

CALL SETCLIPRGN (x1, y1, x2, x2)

x1, y1
(入力) INTEGER(2)。クリッピング領域の左上隅の物理座標。

x2, y2
(入力) INTEGER(2)。クリッピング領域の右下隅の物理座標。

SETCLIPRGN 関数は,グラフィックス出力,フォントを基本としたテキスト出力の表示を画面の指定した領域 (クリッピング領域) 内に限定します。物理座標 (x1, y1)(x2, y2) は,クリッピング領域を定義する矩形の左上隅と右下隅です。SETCLIPRGN 関数は,ビューポート座標系を変更しません。これは,単にグラフィックス出力の画面でのマスクにすぎません。

SETCLIPRGN は,グラフィックス出力と OUTGTEXT のようなフォントを基本としたテキスト出力にのみ影響します。OUTTEXT を使ったテキスト出力の画面のマスクには,SETTEXTWINDOW を使用します。

互換性

STANDARD GRAPHICS QUICKWIN GRAPHICS LIB

関連情報

GETPHYSCOORDGRSTATUSSETTEXTWINDOWSETVIEWORGSETVIEWPORTSETWINDOW

このプログラムは,以下に示すように,クリッピング領域内に一部がある楕円を描画しています。

	! QuickWin または Standard Graphics アプリケーションでビルドします。
	USE DFLIB
	INTEGER(2) status, x1, y1, x2, y2
	INTEGER(4) oldcolor
	x1 = 10;  y1 = 50
	x2 = 170; y2 = 150
	! 楕円全体を白で描画します。
	status = ELLIPSE($GBORDER, x1, y1, x2, y2)
	oldcolor = SETCOLORRGB(#FF0000)	! 青色
	WRITE(*,*) "Hit enter"
	READ(*,*)
	CALL CLEARSCREEN($GCLEARSCREEN)	! 画面をクリア
	CALL SETCLIPRGN( INT2(0), INT2(0), INT2(150), INT2(125))
	! クリッピング領域内の楕円の一部のみが描画されます。
	status = ELLIPSE($GBORDER, x1, y1, x2, y2)
	END

図:プログラム SETCLIP.FOR の出力