FLOODFILL, FLOODFILL_W

グラフィックス関数:現在の色指標と塗り潰しマスクを使って領域を塗り潰します。

モジュールUSE DFLIB

形式

result = FLOODFILL (x, y, bcolor)
result = FLOODFILL_W (wx, wy, bcolor)

x, y
(入力) INTEGER(2)。塗り潰し開始点のビューポート座標。

wx, wy
(入力) REAL(8)。塗り潰し開始点のウィンドウ座標。

bcolor
(入力) INTEGER(2)。境界色の色指標。

結果

結果の型は INTEGER(2) です。成功すれば非ゼロが返され,そうでなければ 0 が返されます。0 が返されるのは,塗り潰しが完了できなかった場合,開始点が境界色 bcolor を持つピクセル上にある場合,または,開始点がクリッピング領域外にある場合です。

FLOODFILL は,ビューポート座標点 (x, y) から塗り潰しを開始します。FLOODFILL_W は,ウィンドウ座標点 (wx, wy) から塗り潰しを開始します。FLOODFILLFLOODFILL_W が使用する塗り潰し色は,SETCOLOR で設定されます。現在の塗り潰し色指標は,GETCOLOR を呼び出すことで得ることができます。これらの関数は,パレット中の色 (256 以下) に対してのみ参照することができます。VGA (262,144 色) または True Color システムの利用可能なすべての色を参照するには,RGB 関数 FLOODFILLRGBFLOODFILLRGB_W を使います。

開始点が図中にある場合,内部が塗り潰されます。開始点が図の外にある場合,背景が塗り潰されます。両方の場合,塗り潰し色は SETCOLOR で設定された現在のグラフィックス色指標です。開始点は図の中または外になければなりません。開始点は図自身の境界上にあってはいけません。塗り潰しはすべての方向で発生し,境界色 bcolor のピクセルで停止します。


注意:ここで説明している FLOODFILL ルーチンは,QuickWin ルーチンです。DFWIN モジュールをインクルードして,Win32 SDK バージョンの FloodFill ルーチンを使用する場合,ルーチン名として MSFWIN$FloodFill を指定する必要があります。詳細は,「特定の QuickWin と Win32 グラフィックス・ルーチンの特別な名付け規約」を参照してください。

互換性

STANDARD GRAPHICS QUICKWIN GRAPHICS LIB

関連情報

ELLIPSEFLOODFILLRGB, FLOODFILLRGB_WGETCOLORGETFILLMASKGRSTATUSPIESETCLIPRGNSETCOLORSETFILLMASK

	! QuickWin または Standard Graphics アプリケーションでビルドします。
	USE DFLIB
	INTEGER(2) status, bcolor, red, blue
	INTEGER(2) x1, y1, x2, y2, xinterior, yinterior
	x1 = 80; y1 = 50
	x2 = 240; y2 = 150
	red = 4
	blue = 1
	status = SETCOLOR(red)
	status = RECTANGLE( $GBORDER, x1, y1, x2, y2 )
	bcolor = GETCOLOR()
	status = SETCOLOR (blue)
	xinterior = 160; yinterior = 100
	status = FLOODFILL (xinterior, yinterior, bcolor)
	END