GLUT-2.7.0.1: A binding for the OpenGL Utility Toolkit

Copyright(c) Sven Panne 2002-2013
LicenseBSD3
MaintainerSven Panne <svenpanne@gmail.com>
Stabilitystable
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

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 Int Source

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

windowHeaderHeight :: GettableStateVar Int Source

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

skipStaleMotionEvents :: StateVar Bool Source

(freeglut on X11 only) Controls if all but the last motion event should be discarded.

State of the current window

Framebuffer state

rgba :: GettableStateVar Bool Source

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

type BufferDepth = Int Source

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 BufferDepth Source

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 Source

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

stereo :: GettableStateVar Bool Source

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 BufferDepth Source

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

stencilBufferDepth :: GettableStateVar BufferDepth Source

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

type SampleCount = Int Source

Number of samples for multisampling

sampleCount :: GettableStateVar SampleCount Source

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

formatID :: GettableStateVar Int Source

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.

Full screen state

fullScreenMode :: StateVar Bool Source

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

Object rendering state

geometryVisualizeNormals :: StateVar Bool Source

(freeglut only) Controls if vectors representing the normals should be drawn, too, when objects are drawn.

Vertex attribute state

vertexAttribCoord3 :: SettableStateVar (Maybe AttribLocation) Source

(freeglut only) If vertexAttribCoord3 and vertexAttribNormal both contain Nothing, the fixed function pipeline is used to draw objects. Otherwise VBOs are used and the coordinates are passed via Just this attribute location (for a vec3).

vertexAttribNormal :: SettableStateVar (Maybe AttribLocation) Source

(freeglut only) If vertexAttribCoord3 and vertexAttribNormal both contain Nothing, the fixed function pipeline is used to draw objects. Otherwise VBOs are used and the normals are passed via Just this attribute location (for a vec3).

vertexAttribTexCoord2 :: SettableStateVar (Maybe AttribLocation) Source

(freeglut only) If VBOs are used to draw objects (controlled via vertexAttribCoord3 and vertexAttribNormal), the texture coordinates are passed via Just this attribute location (for a vec2).

Layer state

damaged :: Layer -> GettableStateVar Bool Source

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 Source

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 Source

The size of the screen in pixels.

screenSizeMM :: GettableStateVar Size Source

The size of the screen in millimeters.

hasKeyboard :: GettableStateVar Bool Source

Contains True if a keyboard is present, False otherwise.

type ButtonCount = Int Source

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 = Int Source

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 = Int Source

Number of axes of a joystick

type PollRate = Int Source

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 String Source

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

initState :: GettableStateVar Bool Source

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