ParentContentsIndex
Graphics.UI.ObjectIO.StdIOBasic
Portability portable
Stability provisional
Maintainer ka2_mail@yahoo.com
Description
StdIOBasic defines basic types and access functions for the I/O library.
Synopsis
class Zero a where
zero :: a
class One a where
one :: a
class Toggle a where
toggle :: a -> a
data Tup t1 t2 = (:^:) t1 t2
data TupSt t1 t2 ps = (:~:) (t1 ps) (t2 ps)
data ListCS t ps = ListCS [t ps]
data NilCS ps = NilCS
data TupLS t1 t2 ls ps = (:+:) (t1 ls ps) (t2 ls ps)
data ListLS t ls ps = ListLS [t ls ps]
data NilLS ls ps = NilLS
data NewLS t ls ps = forall new . NewLS new (t new ps)
data AddLS t ls ps = forall add . AddLS add (t (add, ls) ps)
type Index = Int
type Title = String
data Vector2 = Vector2 {
vx :: !Int
vy :: !Int
}
class ToVector x where
toVector :: x -> Vector2
data Size = Size {
w :: !Int
h :: !Int
}
data Point2 = Point2 {
x :: !Int
y :: !Int
}
data Rectangle = Rectangle {
corner1 :: !Point2
corner2 :: !Point2
}
rectangleSize :: Rectangle -> Size
movePoint :: Vector2 -> Point2 -> Point2
type IdFun st = st -> st
class (Monad m) => IOMonad m where
liftIO :: IO a -> m a
Documentation
class Zero a where
Methods
zero :: a
Instances
Zero Rect
Zero Vector2
Zero Size
Zero Point2
Zero Rectangle
Zero Region
class One a where
Methods
one :: a
class Toggle a where
Methods
toggle :: a -> a
Instances
Toggle Bool
Toggle SelectState
Toggle MarkState
data Tup t1 t2
Constructors
(:^:) t1 t2
Instances
(ToRegion area1, ToRegion area2) => ToRegion (Tup area1 area2)
data TupSt t1 t2 ps
Constructors
(:~:) (t1 ps) (t2 ps)
data ListCS t ps
Constructors
ListCS [t ps]
data NilCS ps
Constructors
NilCS
data TupLS t1 t2 ls ps
Constructors
(:+:) (t1 ls ps) (t2 ls ps)
Instances
(Controls c1, Controls c2) => Controls (TupLS c1 c2)
(MenuElements m1, MenuElements m2) => MenuElements (TupLS m1 m2)
(PopUpMenuElements m1, PopUpMenuElements m2) => PopUpMenuElements (TupLS m1 m2)
(TimerElements t1, TimerElements t2) => TimerElements (TupLS t1 t2)
data ListLS t ls ps
Constructors
ListLS [t ls ps]
Instances
(Controls c) => Controls (ListLS c)
(MenuElements m) => MenuElements (ListLS m)
(PopUpMenuElements m) => PopUpMenuElements (ListLS m)
(TimerElements t) => TimerElements (ListLS t)
data NilLS ls ps
Constructors
NilLS
Instances
Controls NilLS
MenuElements NilLS
PopUpMenuElements NilLS
TimerElements NilLS
data NewLS t ls ps
Constructors
forall new . NewLS new (t new ps)
Instances
(Controls c) => Controls (NewLS c)
(MenuElements m) => MenuElements (NewLS m)
(PopUpMenuElements m) => PopUpMenuElements (NewLS m)
(TimerElements t) => TimerElements (NewLS t)
data AddLS t ls ps
Constructors
forall add . AddLS add (t (add, ls) ps)
Instances
(Controls c) => Controls (AddLS c)
(MenuElements m) => MenuElements (AddLS m)
(PopUpMenuElements m) => PopUpMenuElements (AddLS m)
(TimerElements t) => TimerElements (AddLS t)
type Index = Int
type Title = String
data Vector2
Constructors
Vector2
vx :: !Int
vy :: !Int
Instances
ToTuple Vector2
FromTuple Vector2
Zero Vector2
Num Vector2
MovePen Vector2
Drawables Vector2
class ToVector x where
Methods
toVector :: x -> Vector2
Instances
ToVector Size
ToVector Point2
data Size
Constructors
Size
w :: !Int
h :: !Int
Instances
ToTuple Size
FromTuple Size
Zero Size
ToVector Size
data Point2
Constructors
Point2
x :: !Int
y :: !Int
Instances
AddVector Point2
SubVector Point2
ToTuple Point2
FromTuple Point2
Zero Point2
Num Point2
ToVector Point2
data Rectangle
Constructors
Rectangle
corner1 :: !Point2
corner2 :: !Point2
Instances
AddVector Rectangle
SubVector Rectangle
ToTuple4 Rectangle
FromTuple4 Rectangle
Zero Rectangle
ToRegion Rectangle
Hilites Rectangle
Drawables Rectangle
Fillables Rectangle
rectangleSize :: Rectangle -> Size
movePoint :: Vector2 -> Point2 -> Point2
type IdFun st = st -> st
class (Monad m) => IOMonad m where
IOMonad class is a simply way to call IO actions from IO-like monads. There are instances for IO, Draw and GUI.
Methods
liftIO :: IO a -> m a
Instances
IOMonad Draw
IOMonad (GUI ps)
IOMonad IO
Produced by Haddock version 0.3