GLUT-2.2.0.0: A binding for the OpenGL Utility Toolkit

Portabilityportable
Stabilitystable
Maintainersven.panne@aedion.de

Graphics.UI.GLUT.State

Contents

Description

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

Synopsis

State of all windows

windowBorderWidth :: GettableStateVar IntSource

(freeglut only) Contains the thickness of the sizing border around the perimeter of a window that can be resized, in pixels.

windowHeaderHeight :: GettableStateVar IntSource

(freeglut only) Contains the height of the header/caption area of a window in pixels.

State of the current window

rgba :: GettableStateVar BoolSource

Contains True when the current layer of the current window is in RGBA mode, False means color index mode.

type BufferDepth = IntSource

Bit depth of a buffer

rgbaBufferDepths :: GettableStateVar (BufferDepth, BufferDepth, BufferDepth, BufferDepth)Source

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 BufferDepthSource

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 BoolSource

Contains True when the current layer of the current window is double buffered, False otherwise.

stereo :: GettableStateVar BoolSource

Contains True when the current layer of the current window is stereo, False otherwise.

accumBufferDepths :: GettableStateVar (BufferDepth, BufferDepth, BufferDepth, BufferDepth)Source

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 BufferDepthSource

Contains the number of bits in the depth buffer of the current window\'s current layer.

stencilBufferDepth :: GettableStateVar BufferDepthSource

Contains the number of bits in the stencil buffer of the /current window's/ current layer.

type SampleCount = IntSource

Number of samples for multisampling

sampleCount :: GettableStateVar SampleCountSource

Contains the number of samples for multisampling for the current window.

formatID :: GettableStateVar IntSource

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.

fullScreenMode :: StateVar BoolSource

(freeglut only) Contains True if the current window is in full screen mode, False otherwise.

GLUT state pertaining to the layers of the current window

damaged :: Layer -> GettableStateVar BoolSource

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 IntSource

Contains the number of milliseconds since Graphics.UI.GLUT.Initialization.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 SizeSource

The size of the screen in pixels.

screenSizeMM :: GettableStateVar SizeSource

The size of the screen in millimeters.

hasKeyboard :: GettableStateVar BoolSource

Contains True if a keyboard is present, False otherwise.

type ButtonCount = IntSource

Number of buttons of an input device

numMouseButtons :: GettableStateVar (Maybe ButtonCount)Source

Contains Just the number of buttons of an attached mouse or Nothing if there is none.

numSpaceballButtons :: GettableStateVar (Maybe ButtonCount)Source

Contains Just the number of buttons of the attached Spaceball or Nothing if there is none.

type DialCount = IntSource

Number of dials of a dial and button box

numDialsAndButtons :: GettableStateVar (Maybe (DialCount, ButtonCount))Source

Contains Just the number of dials and buttons of an attached dial & button box or Nothing if there is none.

numTabletButtons :: GettableStateVar (Maybe ButtonCount)Source

Contains Just the number of buttons of an attached tablet or Nothing if there is none.

type AxisCount = IntSource

Number of axes of a joystick

type PollRate = IntSource

The a rate at which a joystick is polled (in milliseconds)

joystickInfo :: GettableStateVar (Maybe (ButtonCount, PollRate, AxisCount))Source

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.

supportedNumAuxBuffers :: GettableStateVar [Int]Source

(freeglut only) Contains a list of the number of auxiliary buffers supported, in increasing order.

supportedSamplesPerPixel :: GettableStateVar [SampleCount]Source

(freeglut only) Contains a list of the number of samples per pixel supported for multisampling, in increasing order.

GLUT information

glutVersion :: GettableStateVar StringSource

Contains version of GLUT in the form of flavour major.minor.patchlevel, where flavour is one of GLUT, freeglut or OpenGLUT.

initState :: GettableStateVar BoolSource

(freeglut only) Contains True if GLUT has been initialized with Graphics.UI.GLUT.Initialization.initialize or Graphics.UI.GLUT.Initialization.getArgsAndInitialize has and not yet been de-initialized with Graphics.UI.GLUT.Initialization.exit. Contains False otherwise.