グラフィックス関数:現在の色指標と塗り潰しマスクを使って領域を塗り潰します。
モジュール: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) から塗り潰しを開始します。FLOODFILL と FLOODFILL_W が使用する塗り潰し色は,SETCOLOR で設定されます。現在の塗り潰し色指標は,GETCOLOR を呼び出すことで得ることができます。これらの関数は,パレット中の色 (256 以下) に対してのみ参照することができます。VGA (262,144 色) または True Color システムの利用可能なすべての色を参照するには,RGB 関数 FLOODFILLRGB と FLOODFILLRGB_W を使います。
開始点が図中にある場合,内部が塗り潰されます。開始点が図の外にある場合,背景が塗り潰されます。両方の場合,塗り潰し色は SETCOLOR で設定された現在のグラフィックス色指標です。開始点は図の中または外になければなりません。開始点は図自身の境界上にあってはいけません。塗り潰しはすべての方向で発生し,境界色 bcolor のピクセルで停止します。
互換性
STANDARD GRAPHICS QUICKWIN GRAPHICS LIB
関連情報
ELLIPSE,FLOODFILLRGB, FLOODFILLRGB_W,GETCOLOR,GETFILLMASK,GRSTATUS,PIE,SETCLIPRGN,SETCOLOR,SETFILLMASK
例
! 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