ยค GfxCommand, GfxChange, et al

Displaying and interacting with composite graphical objects

Types

data GfxCommand path gfx = ChangeGfx [(path, GfxChange gfx)]
                         | ChangeGfxBg ColorSpec
                         | ChangeGfxBgPixmap PixmapId Bool
                         | Graphic bg => ChangeGfxBgGfx bg
                         | ChangeGfxCursor CursorId
                         | ChangeGfxFontCursor Int
                         | ShowGfx path (Maybe Alignment, Maybe Alignment)
                         | BellGfx Int
                         | GetGfxPlaces [path]
instance Functor (GfxCommand path)

data GfxChange gfx = GfxReplace (Bool, Maybe gfx) | GfxGroup Int Int | GfxUngroup Int
instance Functor GfxChange

data GfxEvent path = GfxButtonEvent {gfxTime :: Time,
                                     gfxState :: ModState,
                                     gfxType :: Pressed,
                                     gfxButton :: Button,
                                     gfxPaths :: [(path, (Point, Rect))]}
                   | GfxMotionEvent {gfxTime :: Time,
                                     gfxState :: ModState,
                                     gfxPaths :: [(path, (Point, Rect))]}
                   | GfxKeyEvent {gfxTime :: Time,
                                  gfxState :: ModState,
                                  gfxKeySym :: KeySym,
                                  gfxKeyLookup :: KeyLookup}
                   | GfxFocusEvent {gfxHasFocus :: Bool}
                   | GfxPlaces [Rect]
                   | GfxResized Size
instance Eq path => Eq (GfxEvent path)
instance Show path => Show (GfxEvent path)

data GfxEventMask = GfxButtonMask | GfxMotionMask | GfxDragMask | GfxKeyMask

type GfxFCmd a = GfxCommand DPath a

type GfxFEvent = GfxEvent DPath

highlightGfx :: path -> Bool -> GfxCommand path gfx
mapGfxCommandPath :: (a -> path) -> GfxCommand a gfx -> GfxCommand path gfx
replaceAllGfx :: gfx -> GfxCommand [a] gfx
replaceGfx :: path -> gfx -> GfxCommand path gfx
showGfx :: path -> GfxCommand path gfx
isGfxButtonEvent :: GfxEvent path -> Maybe Button
isMouseClick :: GfxEvent a -> Maybe a
mapGfxEventPath :: (t -> Maybe path) -> GfxEvent t -> GfxEvent path

Descriptions

There are types used for interacting with graphicsF.