FlexibleDrawing, flex, et al

Flexible line drawings


data FlexibleDrawing = FlexD Size Bool Bool (Rect -> [DrawCommand])
  instance Graphic FlexibleDrawing
  instance Show FlexibleDrawing
flex :: (Rect -> [DrawCommand]) -> FlexibleDrawing
flex' :: Size -> (Rect -> [DrawCommand]) -> FlexibleDrawing


This type allows you to construct drawings of flexible size, using a function from a rectangle to a list of Xlib drawing commands. The drawing commands should draw only within the given rectangle. To be precise, when applied to the rectangle 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.

See Also

Class Graphic.

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 .


This page documents work progress. Information on this page is subject to change without notice and does not represent a commitment on the part of the Fudgets corporation.