|  | Source code | Contents | Index

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 Point2
Zero Rect
Zero Rectangle
Zero Region
Zero Size
Zero Vector2

class One a where

Methods

one :: a

class Toggle a where

Methods

toggle :: a -> a

Instances

Toggle Bool
Toggle MarkState
Toggle SelectState

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

Drawables Vector2
Eq Vector2
FromTuple Vector2
MovePen Vector2
Num Vector2
Show Vector2
ToTuple Vector2
Zero Vector2

class ToVector x where

Methods

toVector :: x -> Vector2

Instances

ToVector Point2
ToVector Size

data Size

Constructors

Size |

w :: !Int |
h :: !Int |

Instances

Eq Size
FromTuple Size
Show Size
ToTuple Size
ToVector Size
Zero Size

data Point2

Constructors

Point2 |

x :: !Int |
y :: !Int |

Instances

AddVector Point2
Eq Point2
FromTuple Point2
Num Point2
Show Point2
SubVector Point2
ToTuple Point2
ToVector Point2
Zero Point2

data Rectangle

Constructors

Rectangle |

corner1 :: !Point2 |
corner2 :: !Point2 |

Instances

AddVector Rectangle
Drawables Rectangle
Eq Rectangle
Fillables Rectangle
FromTuple4 Rectangle
Hilites Rectangle
Show Rectangle
SubVector Rectangle
ToRegion Rectangle
ToTuple4 Rectangle
Zero 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 IO
IOMonad (GUI ps)

Produced by Haddock version 0.8