type HasFont = ?? class HasBgColorSpec a where setBgColorSpec :: ColorSpec -> Customiser a getBgColorSpec :: a -> ColorSpec getBgColorSpecMaybe :: a -> Maybe ColorSpec instance HasBgColorSpec (ButtonF a) instance HasBgColorSpec (DisplayF a) instance HasBgColorSpec (GraphicsF a) instance HasBgColorSpec StringF instance HasBgColorSpec TextF class HasFgColorSpec a where setFgColorSpec :: ColorSpec -> Customiser a getFgColorSpec :: a -> ColorSpec getFgColorSpecMaybe :: a -> Maybe ColorSpec instance HasFgColorSpec (ButtonF a) instance HasFgColorSpec (DisplayF a) instance HasFgColorSpec (GraphicsF a) instance HasFgColorSpec StringF instance HasFgColorSpec TextF setBgColor :: (HasBgColorSpec b, Show a, ColorGen a) => a -> Customiser b setFgColor :: (HasFgColorSpec b, Show a, ColorGen a) => a -> Customiser b class HasKeys a where setKeys :: [(ModState, KeySym)] -> Customiser a getKeys :: a -> [(ModState, KeySym)] getKeysMaybe :: a -> Maybe [(ModState, KeySym)] instance HasKeys (ButtonF a) instance HasKeys ToggleButtonF class HasBorderWidth a where setBorderWidth :: Int -> Customiser a getBorderWidth :: a -> Int getBorderWidthMaybe :: a -> Maybe Int instance HasBorderWidth (DisplayF a) instance HasBorderWidth (GraphicsF a) instance HasBorderWidth StringF instance HasBorderWidth TextF class HasMargin a where setMargin :: Int -> Customiser a getMargin :: a -> Int getMarginMaybe :: a -> Maybe Int instance HasMargin (ButtonF a) instance HasMargin (DisplayF a) instance HasMargin TextF instance HasMargin ShellF class HasAlign a where setAlign :: Alignment -> Customiser a getAlign :: a -> Alignment getAlignMaybe :: a -> Maybe Alignment instance HasAlign (ButtonF a) instance HasAlign (DisplayF a) instance HasAlign TextF class HasInitDisp a where setInitDisp :: b -> Customiser (a b) getInitDispMaybe :: a c -> Maybe c getInitDisp :: a d -> d instance HasInitDisp DisplayF instance HasInitDisp GraphicsF class HasInitSize a where setInitSize :: b -> Customiser (a b) getInitSizeMaybe :: a c -> Maybe c getInitSize :: a d -> d instance HasInitSize DisplayF instance HasInitSize GraphicsF class HasStretchable a where setStretchable :: (Bool, Bool) -> Customiser a getStretchable :: a -> (Bool, Bool) getStretchableMaybe :: a -> Maybe (Bool, Bool) instance HasStretchable (DisplayF a) instance HasStretchable (GraphicsF a) instance HasStretchable TextF class HasSizing a where setSizing :: Sizing -> Customiser a getSizing :: a -> Sizing getSizingMaybe :: a -> Maybe Sizing instance HasSizing (DisplayF a) instance HasSizing (GraphicsF a) instance HasSizing StringF instance HasSizing TextF instance HasSizing ShellF class HasWinAttr a where setWinAttr :: [WindowAttributes] -> Customiser a getWinAttr :: a -> [WindowAttributes] getWinAttrMaybe :: a -> Maybe [WindowAttributes] instance HasWinAttr ShellF
Classes used for parameters with default values.