definition module MdM_IOlib import StdBool, StdInt, StdMaybe, StdIOBasic, StdIOCommon // --------------------------------------------------------------------------------------------------------------------------------------------------------------------- :: SmartId a = // --------------------------------------------------------------------------------------------------------------------------------------------------------------------- S_NoId | S_TextId !String | S_LinkId !a // --------------------------------------------------------------------------------------------------------------------------------------------------------------------- :: SmartDrawArea a = // --------------------------------------------------------------------------------------------------------------------------------------------------------------------- { smartRectangle :: !Rectangle , smartJustBG :: !Bool , smartColour :: !RGBColour , smartBGColour :: !RGBColour , smartFont :: !Font , smartFontDef :: !FontDef , smartDraw :: !(*Picture -> *Picture) , smartDrawText :: !String // used to compare areas , smartKey :: !Int // used to converge two lists of areas , smartId :: !SmartId a } instance == FontDef instance == RGBColour instance == (SmartDrawArea a) :: SmartDrawFunction :== [(Rectangle, *Picture -> *Picture)] breakIntoWords :: !String -> [String] inRectangle :: !Point2 !Rectangle -> Bool haveOverlap :: !Rectangle !Rectangle -> Bool ImmediateDraw :: ![SmartDrawArea a] !*Picture -> *Picture SmartLook :: !SmartDrawFunction !Colour !SelectState !UpdateState !*Picture -> *Picture DrawSmartAreas :: ![SmartDrawArea a] !RGBColour !SelectState !UpdateState !*Picture -> *Picture ChangeDrawAreas :: !RGBColour ![SmartDrawArea a] ![SmartDrawArea a ] -> [SmartDrawArea a] ScrollFunction :: !Int !Int !Direction !(Int -> Int) !ViewFrame !SliderState !SliderMove -> Int getDialogBackgroundColour :: Colour