Neither DB or DBPro has a fill command, but ...
... here's one I made earlier
type __FloodFillType
CoverColour as integer
BitmapWidth as integer
BitmapHeight as integer
endtype
global __FloodFillGlobal as __FloodFillType
function FloodFill(x as integer,y as integer,c as dword)
__FloodFillGlobal.BitmapWidth=bitmap width()-1
__FloodFillGlobal.BitmapHeight=bitmap height()-1
if x >= 0 or x <= __FloodFillGlobal.BitmapWidth
if y >= 0 or y <= __FloodFillGlobal.BitmapHeight
lock pixels
__FloodFillGlobal.CoverColour = point(x,y)
if __FloodFillGlobal.CoverColour <> c
ink c,0
__flood_loop(x,y)
endif
unlock pixels
endif
endif
endfunction
function __flood_loop(x,y)
local left as integer
local right as integer
left=x-1
do
if left < 0 then exit
if point(left,y) <> __FloodFillGlobal.CoverColour then exit
dec left
loop
inc left
right=x
do
if right >= __FloodFillGlobal.BitmapWidth then exit
if point(right,y) <> __FloodFillGlobal.CoverColour then exit
inc right
loop
` draw this line
line left,y,right,y
while left < right
if y > 0
if point(left,y-1) = __FloodFillGlobal.CoverColour
__flood_loop(left,y-1)
endif
endif
if y < __FloodFillGlobal.BitmapHeight
if point(left,y+1) = __FloodFillGlobal.CoverColour
__flood_loop(left,y+1)
endif
endif
left=left+1
endwhile
endfunction
Just call the code with x/y coordinates to start filling, and an RGB() colour to fill with.