-- #hide ----------------------------------------------------------------------------- -- | -- Module : Graphics.UI.GLUT.Constants -- Copyright : (c) Sven Panne 2002-2005 -- License : BSD-style (see the file libraries/GLUT/LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : stable -- Portability : portable -- -- This purely internal module defines all numeric GLUT constants. -- ----------------------------------------------------------------------------- module Graphics.UI.GLUT.Constants where import Foreign.C.Types ( CInt, CUInt ) import Graphics.Rendering.OpenGL.GL.BasicTypes ( GLenum ) ----------------------------------------------------------------------------- -- * Display mode bit masks glut_RGB, glut_RGBA, glut_INDEX, glut_SINGLE, glut_DOUBLE, glut_ACCUM, glut_ALPHA, glut_DEPTH, glut_STENCIL, glut_MULTISAMPLE, glut_STEREO, glut_LUMINANCE, glut_AUX1, glut_AUX2, glut_AUX3, glut_AUX4 :: CUInt glut_RGB = 0x0000 glut_RGBA = glut_RGB glut_INDEX = 0x0001 glut_SINGLE = 0x0000 glut_DOUBLE = 0x0002 glut_ACCUM = 0x0004 glut_ALPHA = 0x0008 glut_DEPTH = 0x0010 glut_STENCIL = 0x0020 glut_MULTISAMPLE = 0x0080 glut_STEREO = 0x0100 glut_LUMINANCE = 0x0200 glut_AUX1 = 0x1000 glut_AUX2 = 0x2000 glut_AUX3 = 0x4000 glut_AUX4 = 0x8000 ----------------------------------------------------------------------------- -- * Mouse buttons glut_LEFT_BUTTON, glut_MIDDLE_BUTTON, glut_RIGHT_BUTTON, glut_WHEEL_UP, glut_WHEEL_DOWN :: CInt glut_LEFT_BUTTON = 0 glut_MIDDLE_BUTTON = 1 glut_RIGHT_BUTTON = 2 glut_WHEEL_UP = 3 glut_WHEEL_DOWN = 4 ----------------------------------------------------------------------------- -- * Mouse button state glut_DOWN, glut_UP :: CInt glut_DOWN = 0 glut_UP = 1 ----------------------------------------------------------------------------- -- * Function keys glut_KEY_F1, glut_KEY_F2, glut_KEY_F3, glut_KEY_F4, glut_KEY_F5, glut_KEY_F6, glut_KEY_F7, glut_KEY_F8, glut_KEY_F9, glut_KEY_F10, glut_KEY_F11, glut_KEY_F12 :: CInt glut_KEY_F1 = 1 glut_KEY_F2 = 2 glut_KEY_F3 = 3 glut_KEY_F4 = 4 glut_KEY_F5 = 5 glut_KEY_F6 = 6 glut_KEY_F7 = 7 glut_KEY_F8 = 8 glut_KEY_F9 = 9 glut_KEY_F10 = 10 glut_KEY_F11 = 11 glut_KEY_F12 = 12 ----------------------------------------------------------------------------- -- * Directional Keys glut_KEY_LEFT, glut_KEY_UP, glut_KEY_RIGHT, glut_KEY_DOWN, glut_KEY_PAGE_UP, glut_KEY_PAGE_DOWN, glut_KEY_HOME, glut_KEY_END, glut_KEY_INSERT :: CInt glut_KEY_LEFT = 100 glut_KEY_UP = 101 glut_KEY_RIGHT = 102 glut_KEY_DOWN = 103 glut_KEY_PAGE_UP = 104 glut_KEY_PAGE_DOWN = 105 glut_KEY_HOME = 106 glut_KEY_END = 107 glut_KEY_INSERT = 108 ----------------------------------------------------------------------------- -- * Entry\/exit state glut_LEFT, glut_ENTERED :: CInt glut_LEFT = 0 glut_ENTERED = 1 ----------------------------------------------------------------------------- -- * Menu usage state glut_MENU_NOT_IN_USE, glut_MENU_IN_USE :: CInt glut_MENU_NOT_IN_USE = 0 glut_MENU_IN_USE = 1 ----------------------------------------------------------------------------- -- * Visibility state glut_NOT_VISIBLE, glut_VISIBLE :: CInt glut_NOT_VISIBLE = 0 glut_VISIBLE = 1 ----------------------------------------------------------------------------- -- * Window status state glut_HIDDEN, glut_FULLY_RETAINED, glut_PARTIALLY_RETAINED, glut_FULLY_COVERED :: CInt glut_HIDDEN = 0 glut_FULLY_RETAINED = 1 glut_PARTIALLY_RETAINED = 2 glut_FULLY_COVERED = 3 ----------------------------------------------------------------------------- -- * Color index component selection values glut_RED, glut_GREEN, glut_BLUE :: CInt glut_RED = 0 glut_GREEN = 1 glut_BLUE = 2 ----------------------------------------------------------------------------- -- * Layers in use glut_NORMAL, glut_OVERLAY :: GLenum glut_NORMAL = 0 glut_OVERLAY = 1 ----------------------------------------------------------------------------- -- * @glutGet@ parameters glut_WINDOW_X, glut_WINDOW_Y, glut_WINDOW_WIDTH, glut_WINDOW_HEIGHT, glut_WINDOW_BUFFER_SIZE, glut_WINDOW_STENCIL_SIZE, glut_WINDOW_DEPTH_SIZE, glut_WINDOW_RED_SIZE, glut_WINDOW_GREEN_SIZE, glut_WINDOW_BLUE_SIZE, glut_WINDOW_ALPHA_SIZE, glut_WINDOW_ACCUM_RED_SIZE, glut_WINDOW_ACCUM_GREEN_SIZE, glut_WINDOW_ACCUM_BLUE_SIZE, glut_WINDOW_ACCUM_ALPHA_SIZE, glut_WINDOW_DOUBLEBUFFER, glut_WINDOW_RGBA, glut_WINDOW_PARENT, glut_WINDOW_NUM_CHILDREN, glut_WINDOW_COLORMAP_SIZE, glut_WINDOW_NUM_SAMPLES, glut_WINDOW_STEREO, glut_WINDOW_CURSOR, glut_SCREEN_WIDTH, glut_SCREEN_HEIGHT, glut_SCREEN_WIDTH_MM, glut_SCREEN_HEIGHT_MM, glut_MENU_NUM_ITEMS, glut_DISPLAY_MODE_POSSIBLE, glut_INIT_WINDOW_X, glut_INIT_WINDOW_Y, glut_INIT_WINDOW_WIDTH, glut_INIT_WINDOW_HEIGHT, glut_INIT_DISPLAY_MODE, glut_ELAPSED_TIME, glut_WINDOW_FORMAT_ID, glut_ACTION_ON_WINDOW_CLOSE, glut_WINDOW_BORDER_WIDTH, glut_WINDOW_HEADER_HEIGHT, glut_VERSION, glut_RENDERING_CONTEXT, glut_DIRECT_RENDERING :: GLenum glut_WINDOW_X = 100 glut_WINDOW_Y = 101 glut_WINDOW_WIDTH = 102 glut_WINDOW_HEIGHT = 103 glut_WINDOW_BUFFER_SIZE = 104 glut_WINDOW_STENCIL_SIZE = 105 glut_WINDOW_DEPTH_SIZE = 106 glut_WINDOW_RED_SIZE = 107 glut_WINDOW_GREEN_SIZE = 108 glut_WINDOW_BLUE_SIZE = 109 glut_WINDOW_ALPHA_SIZE = 110 glut_WINDOW_ACCUM_RED_SIZE = 111 glut_WINDOW_ACCUM_GREEN_SIZE = 112 glut_WINDOW_ACCUM_BLUE_SIZE = 113 glut_WINDOW_ACCUM_ALPHA_SIZE = 114 glut_WINDOW_DOUBLEBUFFER = 115 glut_WINDOW_RGBA = 116 glut_WINDOW_PARENT = 117 glut_WINDOW_NUM_CHILDREN = 118 glut_WINDOW_COLORMAP_SIZE = 119 glut_WINDOW_NUM_SAMPLES = 120 glut_WINDOW_STEREO = 121 glut_WINDOW_CURSOR = 122 glut_SCREEN_WIDTH = 200 glut_SCREEN_HEIGHT = 201 glut_SCREEN_WIDTH_MM = 202 glut_SCREEN_HEIGHT_MM = 203 glut_MENU_NUM_ITEMS = 300 glut_DISPLAY_MODE_POSSIBLE = 400 glut_INIT_WINDOW_X = 500 glut_INIT_WINDOW_Y = 501 glut_INIT_WINDOW_WIDTH = 502 glut_INIT_WINDOW_HEIGHT = 503 glut_INIT_DISPLAY_MODE = 504 glut_ELAPSED_TIME = 700 glut_WINDOW_FORMAT_ID = 123 glut_ACTION_ON_WINDOW_CLOSE = 505 glut_WINDOW_BORDER_WIDTH = 506 glut_WINDOW_HEADER_HEIGHT = 507 glut_VERSION = 508 glut_RENDERING_CONTEXT = 509 glut_DIRECT_RENDERING = 510 ----------------------------------------------------------------------------- -- * @glutDeviceGet@ parameters glut_HAS_KEYBOARD, glut_HAS_MOUSE, glut_HAS_SPACEBALL, glut_HAS_DIAL_AND_BUTTON_BOX, glut_HAS_TABLET, glut_NUM_MOUSE_BUTTONS, glut_NUM_SPACEBALL_BUTTONS, glut_NUM_BUTTON_BOX_BUTTONS, glut_NUM_DIALS, glut_NUM_TABLET_BUTTONS, glut_DEVICE_IGNORE_KEY_REPEAT, glut_DEVICE_KEY_REPEAT, glut_HAS_JOYSTICK, glut_OWNS_JOYSTICK, glut_JOYSTICK_BUTTONS, glut_JOYSTICK_AXES, glut_JOYSTICK_POLL_RATE :: GLenum glut_HAS_KEYBOARD = 600 glut_HAS_MOUSE = 601 glut_HAS_SPACEBALL = 602 glut_HAS_DIAL_AND_BUTTON_BOX = 603 glut_HAS_TABLET = 604 glut_NUM_MOUSE_BUTTONS = 605 glut_NUM_SPACEBALL_BUTTONS = 606 glut_NUM_BUTTON_BOX_BUTTONS = 607 glut_NUM_DIALS = 608 glut_NUM_TABLET_BUTTONS = 609 glut_DEVICE_IGNORE_KEY_REPEAT = 610 glut_DEVICE_KEY_REPEAT = 611 glut_HAS_JOYSTICK = 612 glut_OWNS_JOYSTICK = 613 glut_JOYSTICK_BUTTONS = 614 glut_JOYSTICK_AXES = 615 glut_JOYSTICK_POLL_RATE = 616 ----------------------------------------------------------------------------- -- * @glutLayerGet@ parameters glut_OVERLAY_POSSIBLE, glut_LAYER_IN_USE, glut_HAS_OVERLAY, glut_TRANSPARENT_INDEX, glut_NORMAL_DAMAGED, glut_OVERLAY_DAMAGED :: GLenum glut_OVERLAY_POSSIBLE = 800 glut_LAYER_IN_USE = 801 glut_HAS_OVERLAY = 802 glut_TRANSPARENT_INDEX = 803 glut_NORMAL_DAMAGED = 804 glut_OVERLAY_DAMAGED = 805 ----------------------------------------------------------------------------- -- * @glutVideoResizeGet@ parameters glut_VIDEO_RESIZE_POSSIBLE, glut_VIDEO_RESIZE_IN_USE, glut_VIDEO_RESIZE_X_DELTA, glut_VIDEO_RESIZE_Y_DELTA, glut_VIDEO_RESIZE_WIDTH_DELTA, glut_VIDEO_RESIZE_HEIGHT_DELTA, glut_VIDEO_RESIZE_X, glut_VIDEO_RESIZE_Y, glut_VIDEO_RESIZE_WIDTH, glut_VIDEO_RESIZE_HEIGHT :: CInt glut_VIDEO_RESIZE_POSSIBLE = 900 glut_VIDEO_RESIZE_IN_USE = 901 glut_VIDEO_RESIZE_X_DELTA = 902 glut_VIDEO_RESIZE_Y_DELTA = 903 glut_VIDEO_RESIZE_WIDTH_DELTA = 904 glut_VIDEO_RESIZE_HEIGHT_DELTA = 905 glut_VIDEO_RESIZE_X = 906 glut_VIDEO_RESIZE_Y = 907 glut_VIDEO_RESIZE_WIDTH = 908 glut_VIDEO_RESIZE_HEIGHT = 909 ----------------------------------------------------------------------------- -- * @glutGetModifiers@ return mask glut_ACTIVE_SHIFT, glut_ACTIVE_CTRL, glut_ACTIVE_ALT :: CInt glut_ACTIVE_SHIFT = 0x01 glut_ACTIVE_CTRL = 0x02 glut_ACTIVE_ALT = 0x04 ----------------------------------------------------------------------------- -- * @glutSetCursor@ parameters glut_CURSOR_RIGHT_ARROW, glut_CURSOR_LEFT_ARROW, glut_CURSOR_INFO, glut_CURSOR_DESTROY, glut_CURSOR_HELP, glut_CURSOR_CYCLE, glut_CURSOR_SPRAY, glut_CURSOR_WAIT, glut_CURSOR_TEXT, glut_CURSOR_CROSSHAIR, glut_CURSOR_UP_DOWN, glut_CURSOR_LEFT_RIGHT, glut_CURSOR_TOP_SIDE, glut_CURSOR_BOTTOM_SIDE, glut_CURSOR_LEFT_SIDE, glut_CURSOR_RIGHT_SIDE, glut_CURSOR_TOP_LEFT_CORNER, glut_CURSOR_TOP_RIGHT_CORNER, glut_CURSOR_BOTTOM_RIGHT_CORNER, glut_CURSOR_BOTTOM_LEFT_CORNER, glut_CURSOR_INHERIT, glut_CURSOR_NONE, glut_CURSOR_FULL_CROSSHAIR :: CInt glut_CURSOR_RIGHT_ARROW = 0 glut_CURSOR_LEFT_ARROW = 1 glut_CURSOR_INFO = 2 glut_CURSOR_DESTROY = 3 glut_CURSOR_HELP = 4 glut_CURSOR_CYCLE = 5 glut_CURSOR_SPRAY = 6 glut_CURSOR_WAIT = 7 glut_CURSOR_TEXT = 8 glut_CURSOR_CROSSHAIR = 9 glut_CURSOR_UP_DOWN = 10 glut_CURSOR_LEFT_RIGHT = 11 glut_CURSOR_TOP_SIDE = 12 glut_CURSOR_BOTTOM_SIDE = 13 glut_CURSOR_LEFT_SIDE = 14 glut_CURSOR_RIGHT_SIDE = 15 glut_CURSOR_TOP_LEFT_CORNER = 16 glut_CURSOR_TOP_RIGHT_CORNER = 17 glut_CURSOR_BOTTOM_RIGHT_CORNER = 18 glut_CURSOR_BOTTOM_LEFT_CORNER = 19 glut_CURSOR_INHERIT = 100 glut_CURSOR_NONE = 101 glut_CURSOR_FULL_CROSSHAIR = 102 ----------------------------------------------------------------------------- -- * @glutSetKeyRepeat@ modes glut_KEY_REPEAT_OFF, glut_KEY_REPEAT_ON, glut_KEY_REPEAT_DEFAULT :: CInt glut_KEY_REPEAT_OFF = 0 glut_KEY_REPEAT_ON = 1 glut_KEY_REPEAT_DEFAULT = 2 ----------------------------------------------------------------------------- -- * Joystick button masks glut_JOYSTICK_BUTTON_A, glut_JOYSTICK_BUTTON_B, glut_JOYSTICK_BUTTON_C, glut_JOYSTICK_BUTTON_D :: CUInt glut_JOYSTICK_BUTTON_A = 0x01 glut_JOYSTICK_BUTTON_B = 0x02 glut_JOYSTICK_BUTTON_C = 0x04 glut_JOYSTICK_BUTTON_D = 0x08 ----------------------------------------------------------------------------- -- @glutGameModeGet@ parameters glut_GAME_MODE_ACTIVE, glut_GAME_MODE_POSSIBLE, glut_GAME_MODE_WIDTH, glut_GAME_MODE_HEIGHT, glut_GAME_MODE_PIXEL_DEPTH, glut_GAME_MODE_REFRESH_RATE, glut_GAME_MODE_DISPLAY_CHANGED :: GLenum glut_GAME_MODE_ACTIVE = 0 glut_GAME_MODE_POSSIBLE = 1 glut_GAME_MODE_WIDTH = 2 glut_GAME_MODE_HEIGHT = 3 glut_GAME_MODE_PIXEL_DEPTH = 4 glut_GAME_MODE_REFRESH_RATE = 5 glut_GAME_MODE_DISPLAY_CHANGED = 6 ----------------------------------------------------------------------------- -- Direct/indirect rendering context options (has meaning only in unix/x11), -- see glut_DIRECT_RENDERING (freeglut extension) glut_FORCE_INDIRECT_CONTEXT, glut_ALLOW_DIRECT_CONTEXT, glut_TRY_DIRECT_CONTEXT, glut_FORCE_DIRECT_CONTEXT :: CInt glut_FORCE_INDIRECT_CONTEXT = 0 glut_ALLOW_DIRECT_CONTEXT = 1 glut_TRY_DIRECT_CONTEXT = 2 glut_FORCE_DIRECT_CONTEXT = 3 ----------------------------------------------------------------------------- -- Behaviour when the user clicks on an "x" to close a window, see -- glut_ACTION_ON_WINDOW_CLOSE (freeglut extension) glut_ACTION_EXIT, glut_ACTION_GLUTMAINLOOP_RETURNS, glut_ACTION_CONTINUE_EXECUTION :: CInt glut_ACTION_EXIT = 0 glut_ACTION_GLUTMAINLOOP_RETURNS = 1 glut_ACTION_CONTINUE_EXECUTION = 2 ----------------------------------------------------------------------------- -- Create a new rendering context when the user opens a new window? See -- glut_RENDERING_CONTEXT (freeglut extension) glut_CREATE_NEW_CONTEXT, glut_USE_CURRENT_CONTEXT :: CInt glut_CREATE_NEW_CONTEXT = 0 glut_USE_CURRENT_CONTEXT = 1