GLUT-2.7.0.16: A binding for the OpenGL Utility Toolkit
Copyright(c) Sven Panne 2002-2018
LicenseBSD3
MaintainerSven Panne <svenpanne@gmail.com>
Stabilitystable
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Graphics.UI.GLUT.State

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.