| HOpenGL Libraries (GLUT package) | Contents | Index

Graphics.UI.GLUT.State

Portability | portable
Stability | stable
Maintainer | sven.panne@aedion.de

Contents

State of all windows
State of the current window
GLUT state pertaining to the layers of the current window
Timing
Device information
GLUT information

Description
GLUT maintains a considerable amount of programmer visible state. Some (but not all) of this state may be directly retrieved.
Synopsis

windowBorderWidth :: GettableStateVar Int
windowHeaderHeight :: GettableStateVar Int
rgba :: GettableStateVar Bool
type BufferDepth = Int
rgbaBufferDepths :: GettableStateVar (BufferDepth, BufferDepth, BufferDepth, BufferDepth)
colorBufferDepth :: GettableStateVar BufferDepth
doubleBuffered :: GettableStateVar Bool
stereo :: GettableStateVar Bool
accumBufferDepths :: GettableStateVar (BufferDepth, BufferDepth, BufferDepth, BufferDepth)
depthBufferDepth :: GettableStateVar BufferDepth
stencilBufferDepth :: GettableStateVar BufferDepth
type SampleCount = Int
sampleCount :: GettableStateVar SampleCount
formatID :: GettableStateVar Int
damaged :: Layer -> GettableStateVar Bool
elapsedTime :: GettableStateVar Int
screenSize :: GettableStateVar Size
screenSizeMM :: GettableStateVar Size
hasKeyboard :: GettableStateVar Bool
type ButtonCount = Int
numMouseButtons :: GettableStateVar (Maybe ButtonCount)
numSpaceballButtons :: GettableStateVar (Maybe ButtonCount)
type DialCount = Int
numDialsAndButtons :: GettableStateVar (Maybe (DialCount, ButtonCount))
numTabletButtons :: GettableStateVar (Maybe ButtonCount)
type AxisCount = Int
type PollRate = Int
joystickInfo :: GettableStateVar (Maybe (ButtonCount, PollRate, AxisCount))
glutVersion :: GettableStateVar String

State of all windows
windowBorderWidth :: GettableStateVar Int
(freeglut only) Contains the thickness of the sizing border around the perimeter of a window that can be resized, in pixels.
windowHeaderHeight :: GettableStateVar Int
(freeglut only) Contains the height of the header/caption area of a window in pixels.
State of the current window
rgba :: GettableStateVar Bool
Contains `True` when the current layer of the current window is in RGBA mode, `False` means color index mode.
type BufferDepth = Int
Bit depth of a buffer
rgbaBufferDepths :: GettableStateVar (BufferDepth, BufferDepth, BufferDepth, BufferDepth)
Contains the number of red, green, blue, and alpha bits in the color buffer of the current window's current layer (0 in color index mode).
colorBufferDepth :: GettableStateVar BufferDepth
Contains the total number of bits in the color buffer of the current window's current layer. For an RGBA layer, this is the sum of the red, green, blue, and alpha bits. For an color index layer, this is the number of bits of the color indexes.
doubleBuffered :: GettableStateVar Bool
Contains `True` when the current layer of the current window is double buffered, `False` otherwise.
stereo :: GettableStateVar Bool
Contains `True` when the current layer of the current window is stereo, `False` otherwise.
accumBufferDepths :: GettableStateVar (BufferDepth, BufferDepth, BufferDepth, BufferDepth)
Contains the number of red, green, blue, and alpha bits in the accumulation buffer of the current window's current layer (0 in color index mode).
depthBufferDepth :: GettableStateVar BufferDepth
Contains the number of bits in the depth buffer of the current window's current layer.
stencilBufferDepth :: GettableStateVar BufferDepth
Contains the number of bits in the stencil buffer of the current window's current layer.
type SampleCount = Int
Number of samples for multisampling
sampleCount :: GettableStateVar SampleCount
Contains the number of samples for multisampling for the current window.
formatID :: GettableStateVar Int
Contains the window system dependent format ID for the current layer of the current window. On X11 GLUT implementations, this is the X visual ID. On Win32 GLUT implementations, this is the Win32 Pixel Format Descriptor number. This value is returned for debugging, benchmarking, and testing ease.
GLUT state pertaining to the layers of the current window
damaged :: Layer -> GettableStateVar Bool
Contains `True` if the given plane of the current window has been damaged (by window system activity) since the last display callback was triggered. Calling `postRedisplay` or `postOverlayRedisplay` will not set this `True`.
Timing
elapsedTime :: GettableStateVar Int
Contains the number of milliseconds since `initialize` was called.
Device information
If a device is not available, the following state variables contain `Nothing`, otherwise they return `Just` the specific device information. Only a screen is always assumed.
screenSize :: GettableStateVar Size
The size of the screen in pixels.
screenSizeMM :: GettableStateVar Size
The size of the screen in millimeters.
hasKeyboard :: GettableStateVar Bool
Contains `True` if a keyboard is present, `False` otherwise.
type ButtonCount = Int
Number of buttons of an input device
numMouseButtons :: GettableStateVar (Maybe ButtonCount)
Contains `Just` the number of buttons of an attached mouse or `Nothing` if there is none.
numSpaceballButtons :: GettableStateVar (Maybe ButtonCount)
Contains `Just` the number of buttons of the attached Spaceball or `Nothing` if there is none.
type DialCount = Int
Number of dials of a dial and button box
numDialsAndButtons :: GettableStateVar (Maybe (DialCount, ButtonCount))
Contains `Just` the number of dials and buttons of an attached dial & button box or `Nothing` if there is none.
numTabletButtons :: GettableStateVar (Maybe ButtonCount)
Contains `Just` the number of buttons of an attached tablet or `Nothing` if there is none.
type AxisCount = Int
Number of axes of a joystick
type PollRate = Int
The a rate at which a joystick is polled (in milliseconds)
joystickInfo :: GettableStateVar (Maybe (ButtonCount, PollRate, AxisCount))
Contains `Just` the number of buttons of an attached joystick, the number of joystick axes, and the rate at which the joystick is polled. Contains `Nothing` if there is no joystick attached.
GLUT information
glutVersion :: GettableStateVar String
Contains version of GLUT in the form of `flavour major.minor.patchlevel`, where `flavour` is one of `GLUT`, `freeglut` or `OpenGLUT`.
Produced by Haddock version 0.7