|
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.
(That is, set the Graphic held by the window to emptyGraphic.)
|
|
drawInWindow :: Window -> Graphic -> IO () |
Draw the given graphic on the window, on top of anything that is
already there.
(That is, combine the given Graphic and the one held by the window
using overGraphic, store the result in the window, and display it.)
|
|
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.8 |