FloodFill fills the area around (X,Y) with the current Brush.Color.
It stops filling when it meets a border (fsBorder) of a different Color (specified as a parameter in the call), or a solid region (fsSurface) of a different Color, or when it reaches the bounds of the canvas.