|
| Graphics.HGL.Utils | | Portability | non-portable (requires concurrency) | | Stability | provisional | | Maintainer | libraries@haskell.org |
|
|
|
|
|
| Description |
| Utility functions for a simple graphics library.
|
|
| Synopsis |
|
|
|
|
| Windows |
|
| openWindow :: Title -> Size -> IO Window |
| Create a window with the given title and size. |
|
| clearWindow :: Window -> IO () |
| Erase all drawing in the window. |
|
| drawInWindow :: Window -> Graphic -> IO () |
| Draw the given graphic on the window, on top of anything that is
already there. |
|
| withWindow :: Title -> Size -> (Window -> IO a) -> IO a |
| Run an action inside a new window, ensuring that the window is destroyed
on exit. |
|
| withWindow_ :: Title -> Size -> (Window -> IO a) -> IO () |
| A variant of withWindow that ignores the result of the action. |
|
| runWindow :: Title -> Size -> (Window -> IO a) -> IO () |
| A combination of runGraphics and withWindow_. |
|
| getWindowSize :: Window -> IO Size |
| The current size of the window. |
|
| Specific events |
|
| Mouse events |
|
| getLBP :: Window -> IO Point |
| Wait for a press of the left mouse button,
and return the position of the mouse cursor. |
|
| getRBP :: Window -> IO Point |
| Wait for a press of the right mouse button,
and return the position of the mouse cursor. |
|
| getButton |
| :: Window | | | -> Bool | if True, wait for the left button | | -> Bool | if True, wait for a press;
otherwise wait for a release. | | -> IO Point | | | Wait for a mouse button to be pressed or released,
and return the position of the mouse cursor. |
|
|
| Keyboard events |
|
| getKey :: Window -> IO Key |
| Wait until a key is pressed and released. |
|
| getKeyEx :: Window -> Bool -> IO Key |
| Wait until a key is pressed (if the second argument is True)
or released (otherwise). |
|
| wGetChar :: Window -> IO Char |
| Wait for a translated character (from a key press).
Use in preference to getKey if the aim is to read text. |
|
| Graphics |
|
| Combining Graphics |
|
| emptyGraphic :: Graphic |
| An empty drawing. |
|
| overGraphic :: Graphic -> Graphic -> Graphic |
| A composite drawing made by overlaying the first argument on the second. |
|
| overGraphics :: [Graphic] -> Graphic |
| Overlay a list of drawings. |
|
| Graphic modifiers |
|
| withFont :: Font -> Graphic -> Graphic |
| Set the default font for a drawing. |
|
| withTextColor :: RGB -> Graphic -> Graphic |
| Set the default color for drawing text. |
|
| withTextAlignment :: Alignment -> Graphic -> Graphic |
| Set the default alignment of text in a drawing. |
|
| withBkColor :: RGB -> Graphic -> Graphic |
| Set the default background color for drawing text with background
mode Opaque. The background color is ignored when the mode is
Transparent. |
|
| withBkMode :: BkMode -> Graphic -> Graphic |
| Set the default background mode for drawing text. |
|
| withPen :: Pen -> Graphic -> Graphic |
| Set the default pen for drawing lines. |
|
| withBrush :: Brush -> Graphic -> Graphic |
| Set the default brush for filling shapes. |
|
| withRGB :: RGB -> Graphic -> Graphic |
| A convenience function that sets the brush,
pen and text colors to the same value. |
|
| Named colors |
|
| data Color |
| Named colors. | | Constructors | | Black | | | Blue | | | Green | | | Cyan | | | Red | | | Magenta | | | Yellow | | | White | |
| | Instances | |
|
|
| colorList :: [(Color, RGB)] |
| A mapping of Color names to RGB triples. |
|
| colorTable :: Array Color RGB |
| A mapping of Color names to RGB triples. |
|
| withColor :: Color -> Graphic -> Graphic |
| Set the default drawing color for a Graphic. |
|
| Concurrency |
|
| par :: IO a -> IO b -> IO (a, b) |
| Run two IO actions in parallel and terminate when both actions terminate. |
|
| par_ :: IO a -> IO b -> IO () |
| Run two IO actions in parallel and terminate when both actions terminate,
discarding the results of the actions. |
|
| parMany :: [IO ()] -> IO () |
| Run several IO actions in parallel and terminate when all actions
terminate, discarding the results of the actions. |
|
| Produced by Haddock version 0.6 |