HOpenGL Libraries (GLUT package)ContentsIndex
Graphics.UI.GLUT.State
Portabilityportable
Stabilitystable
Maintainersven.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