HGL-3.2.0.2: A simple graphics library based on X11 or Win32Source codeContentsIndex
Graphics.HGL.Utils
Portabilitynon-portable (requires concurrency)
Stabilityprovisional
Maintainerlibraries@haskell.org
Contents
Windows
Specific events
Mouse events
Keyboard events
Graphics
Combining Graphics
Graphic modifiers
Named colors
Concurrency
Description
Utility functions for a simple graphics library.
Synopsis
openWindow :: Title -> Size -> IO Window
clearWindow :: Window -> IO ()
drawInWindow :: Window -> Graphic -> IO ()
withWindow :: Title -> Size -> (Window -> IO a) -> IO a
withWindow_ :: Title -> Size -> (Window -> IO a) -> IO ()
runWindow :: Title -> Size -> (Window -> IO a) -> IO ()
getWindowSize :: Window -> IO Size
getLBP :: Window -> IO Point
getRBP :: Window -> IO Point
getButton :: Window -> Bool -> Bool -> IO Point
getKey :: Window -> IO Key
getKeyEx :: Window -> Bool -> IO Key
wGetChar :: Window -> IO Char
emptyGraphic :: Graphic
overGraphic :: Graphic -> Graphic -> Graphic
overGraphics :: [Graphic] -> Graphic
withFont :: Font -> Graphic -> Graphic
withTextColor :: RGB -> Graphic -> Graphic
withTextAlignment :: Alignment -> Graphic -> Graphic
withBkColor :: RGB -> Graphic -> Graphic
withBkMode :: BkMode -> Graphic -> Graphic
withPen :: Pen -> Graphic -> Graphic
withBrush :: Brush -> Graphic -> Graphic
withRGB :: RGB -> Graphic -> Graphic
data Color
= Black
| Blue
| Green
| Cyan
| Red
| Magenta
| Yellow
| White
colorList :: [(Color, RGB)]
colorTable :: Array Color RGB
withColor :: Color -> Graphic -> Graphic
par :: IO a -> IO b -> IO (a, b)
par_ :: IO a -> IO b -> IO ()
parMany :: [IO ()] -> IO ()
Windows
openWindow :: Title -> Size -> IO WindowSource
Create a window with the given title and size.
clearWindow :: Window -> IO ()Source
Erase all drawing in the window. (That is, set the Graphic held by the window to emptyGraphic.)
drawInWindow :: Window -> Graphic -> IO ()Source
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 aSource
Run an action inside a new window, ensuring that the window is destroyed on exit.
withWindow_ :: Title -> Size -> (Window -> IO a) -> IO ()Source
A variant of withWindow that ignores the result of the action.
runWindow :: Title -> Size -> (Window -> IO a) -> IO ()Source
A combination of runGraphics and withWindow_.
getWindowSize :: Window -> IO SizeSource
The current size of the window.
Specific events
Mouse events
getLBP :: Window -> IO PointSource
Wait for a press of the left mouse button, and return the position of the mouse cursor.
getRBP :: Window -> IO PointSource
Wait for a press of the right mouse button, and return the position of the mouse cursor.
getButtonSource
:: Window
-> Boolif True, wait for the left button
-> Boolif 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 KeySource
Wait until a key is pressed and released.
getKeyEx :: Window -> Bool -> IO KeySource
Wait until a key is pressed (if the second argument is True) or released (otherwise).
wGetChar :: Window -> IO CharSource
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 :: GraphicSource
An empty drawing.
overGraphic :: Graphic -> Graphic -> GraphicSource
A composite drawing made by overlaying the first argument on the second.
overGraphics :: [Graphic] -> GraphicSource
Overlay a list of drawings.
Graphic modifiers
withFont :: Font -> Graphic -> GraphicSource
Set the default font for a drawing.
withTextColor :: RGB -> Graphic -> GraphicSource
Set the default color for drawing text.
withTextAlignment :: Alignment -> Graphic -> GraphicSource
Set the default alignment of text in a drawing.
withBkColor :: RGB -> Graphic -> GraphicSource
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 -> GraphicSource
Set the default background mode for drawing text.
withPen :: Pen -> Graphic -> GraphicSource
Set the default pen for drawing lines.
withBrush :: Brush -> Graphic -> GraphicSource
Set the default brush for filling shapes.
withRGB :: RGB -> Graphic -> GraphicSource
A convenience function that sets the brush, pen and text colors to the same value.
Named colors
data Color Source
Named colors.
Constructors
Black
Blue
Green
Cyan
Red
Magenta
Yellow
White
colorList :: [(Color, RGB)]Source
A mapping of Color names to RGB triples.
colorTable :: Array Color RGBSource
A mapping of Color names to RGB triples.
withColor :: Color -> Graphic -> GraphicSource
Set the default drawing color for a Graphic.
Concurrency
par :: IO a -> IO b -> IO (a, b)Source
Run two IO actions in parallel and terminate when both actions terminate.
par_ :: IO a -> IO b -> IO ()Source
Run two IO actions in parallel and terminate when both actions terminate, discarding the results of the actions.
parMany :: [IO ()] -> IO ()Source
Run several IO actions in parallel and terminate when all actions terminate, discarding the results of the actions.
Produced by Haddock version 2.6.1