| Graphics Libraries (HGL package) | Contents | Index

Graphics.HGL.Draw.Monad

Portability | non-portable (requires concurrency)
Stability | provisional
Maintainer | libraries@haskell.org

Description
The `Draw` monad, with graphical objects as a special case.
Synopsis

type Graphic = Draw ()
data Draw a
ioToDraw :: IO a -> Draw a
bracket :: Draw a -> (a -> Draw b) -> (a -> Draw c) -> Draw c
bracket_ :: Draw a -> (a -> Draw b) -> Draw c -> Draw c

Documentation
type Graphic = Draw ()
An abstract representation of an image.
data Draw a

Monad for sequential construction of images.
Instances

Functor Draw
Monad Draw

ioToDraw :: IO a -> Draw a
Embed an `IO` action in a drawing action.
bracket

:: Draw a | a pre-operation, whose value is passed to the other two components.
-> (a -> Draw b) | a post-operation, to be performed on exit from the bracket, whether normal or by an exception.
-> (a -> Draw c) | the drawing action inside the bracket.
-> Draw c |
Wrap a drawing action in initialization and finalization actions.

bracket_

:: Draw a | a pre-operation, whose value is passed to the other two components.
-> (a -> Draw b) | a post-operation, to be performed on exit from the bracket, whether normal or by an exception.
-> Draw c | the drawing action inside the bracket.
-> Draw c |
A variant of `bracket` in which the inner drawing action does not use the result of the pre-operation.

Produced by Haddock version 0.7