data FlexibleDrawing = FlexD Size Bool Bool (Rect -> [DrawCommand]) instance Graphic FlexibleDrawing instance Show FlexibleDrawing flex :: (Rect -> [DrawCommand]) -> FlexibleDrawing flex' :: Size -> (Rect -> [DrawCommand]) -> FlexibleDrawing
Rect r s, the drawing function should use drawing commands that only affect pixels cordinates p such that
r<=p && <r+s.
Apart from the drawing function, the values of this type include the desired size, and whether the size should be fixed horizontally and/or vertially.
Values of this type are more useful as part of Drawings than by themselves.
Types Drawing, FixedDrawing, DrawCommand.
Some flexible drawings: filler, lbrace, et al.
FlexibleDrawing is also described in the section
Types for simple graphical objects
in Fudgets Thesis