class ColorGen a where tryConvColorK :: (FudgetIO d) => a -> Cont (d b c) (Maybe Pixel) convColorListK :: (FudgetIO g) => [a] -> Cont (g e f) (Maybe Pixel) instance ColorGen Pixel instance ColorGen RGB instance ColorGen ColorSpec instance ColorGen Char data ColorSpec = (Show ?a, ColorGen ?a) => ColorSpec ?a instance ColorGen ColorSpec instance Show ColorSpec colorSpec :: (Show a, ColorGen a) => a -> ColorSpec class FontGen a where tryConvFontK :: (FudgetIO d) => a -> Cont (d b c) (Maybe FontData) convFontListK :: (FudgetIO g) => [a] -> Cont (g e f) (Maybe FontData) instance FontGen FontId instance FontGen FontStruct instance FontGen FontSpec instance FontGen Char data FontSpec = (Show ?a, FontGen ?a) => FontSpeci ?a instance FontGen FontSpec instance Show FontSpec fontSpec :: (Show a, FontGen a) => a -> FontSpec
Types and classes for specifying colors and fonts in various ways.
Fonts and colors can be specified using strings. Examples of colors are
Examples of fonts are
You can also use lists of colors or fonts to specify a color. The first
available color or font in the list is then taken. For example,
["gold","yellow"] uses gold if it can be allocated and falls back to
Color and font names will automatically be converted to the appropriate GCIds, FontIds and Pixels when needed.
For efficiency, fonts, colors and other drawing attributes can also be allocated once and for all in advance using e.g. wCreateGCtx.
The new way, suitable in combination with Drawings: GCtx.
The old way: loadQueryFontF, allocNamedColorF, wCreateGC.
Description of color and font specifications: the manual page for
Xlib Programming Manual
The methods in classes
FontGen should not be
exported, since they differ depending on whether the Haskell compiler
in use supports existentiall types.
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.