Graphics.Gloss
Description
Gloss hides the pain of drawing simple vector graphics behind a nice data type and a few display functions.
Getting something on the screen is as easy as:
import Graphics.Gloss main =displayInWindow
"My Window" (200, 200) (10, 10)white
(Circle
80)
Once the window is open you can use the following:
- Quit - esc-key.
- Move Viewport - left-click drag, arrow keys.
- Rotate Viewport - right-click drag, control-left-click drag, or home/end-keys.
- Zoom Viewport - mouse wheel, or page up/down-keys.
Animations can be constructed similarly using the animateInWindow
.
If you want to run a simulation based around finite time steps then try
simulateInWindow
from Graphics.Gloss.Interface.Simulate.
If you want to manage your own key/mouse events then use gameInWindow
from
Graphics.Gloss.Interface.Game.
Gloss uses OpenGL under the hood, but you don't have to worry about any of that.
Release Notes: For 1.3.0: New support for displaying bitmap files. (Thanks to Ben Lambert-Smith) Various wibbles for GHC 7.1 For 1.2.0: Cleaned up module hierarchy. Added line-line intersection utils. Fixed a bug causing motion events to give the wrong position. (Thanks to Thomas DuBuisson) Fixed a space leak in simulate mode when the window was hidden. (Thanks to Stephan Maka) Enabled -Wall and fixed all warnings. Various wibbles for GHC 7.0 For 1.1.0: Added game mode. Added QuadTree and Extent structures. Added simple ray casting.
Documentation
module Graphics.Gloss.Data.Picture
module Graphics.Gloss.Data.Color
Arguments
:: String | Name of the window. |
-> (Int, Int) | Initial size of the window, in pixels. |
-> (Int, Int) | Initial position of the window, in pixels. |
-> Color | Background color. |
-> Picture | The picture to draw. |
-> IO () |
Open a new window and display the given picture.
Use the following commands once the window is open:
- Quit - esc-key.
- Move Viewport - left-click drag, arrow keys.
- Rotate Viewport - right-click drag, control-left-click drag, or home/end-keys.
- Zoom Viewport - mouse wheel, or page up/down-keys.
Arguments
:: String | Name of the window. |
-> (Int, Int) | Initial size of the window, in pixels. |
-> (Int, Int) | Initial position of the window, in pixels. |
-> Color | Background color. |
-> (Float -> Picture) | Function to produce the next frame of animation. It is passed the time in seconds since the program started. |
-> IO () |
Open a new window and display the given animation.
Once the window is open you can use the same commands as with displayInWindow
.