OpenGLContext.events.glutevents
index
/home/mcfletch/pylive/OpenGLContext/events/glutevents.py

Module providing translation from GLUT callbacks to OpenGLContext events

 
Modules
       
OpenGL.arrays
OpenGL.constant
OpenGL.contextdata
ctypes
OpenGL.error
OpenGLContext.events.eventhandlermixin
OpenGL.GLUT.fonts
OpenGL.GLUT.freeglut
OpenGLContext.events.keyboardevents
logging
OpenGL.logs
OpenGLContext.events.mouseevents
os
OpenGL.platform
OpenGL.raw.GLUT
OpenGL.GLUT.special
sys
traceback

 
Classes
       
EventHandlerMixin
EventHandlerMixin
object
GLUTXEvent
GLUTKeyboardEvent(GLUTXEvent, KeyboardEvent)
GLUTKeypressEvent(GLUTXEvent, KeypressEvent)
GLUTMouseButtonEvent(GLUTXEvent, MouseButtonEvent)
GLUTMouseMoveEvent(GLUTXEvent, MouseMoveEvent)

 
class EventHandlerMixin(EventHandlerMixin)
    Glut-specific EventHandlerMixin sub-class
 
Adds the various callbacks for GLUT's events to
translate them to OpenGLContext events.
 
  Methods defined here:
glutOnCharacter(self, character, x, y)
Convert character (non-control) press to context event
glutOnKeyDown(self, character, x, y)
Convert a key-press to a context-style event
glutOnKeyUp(self, character, x, y)
Convert a key-release to a context-style event
glutOnMouseButton(self, button, state, x, y)
Convert mouse-press-or-release to a Context-style event
glutOnMouseMove(self, x, y)
Convert mouse-movement to a Context-style event

Methods inherited from EventHandlerMixin:
DoEventCascade(self)
Do pre-rendering event cascade
 
Returns the total number of events generated by
timesensors and/or processed from the event cascade queue
ProcessEvent(self, event)
Primary dispatch point for events.
 
ProcessEvent uses the event's type attribute to determine the
appropriate manager for processing, then dispatches to that manager's
ProcessEvent method.
addEventHandler(self, eventType, *arguments, **namedarguments)
Add a new event handler function for the given event type
 
This is the primary client API for dealing with the event system.
Each event class will define a particular set of data values
required to form the routing key for the event.  Each event handler
class will define a registerCallback function which converts
its arguments into a matching key.
 
This function merely determines the appropriate handler then
dispatches to the handler's registerCallback method (without the
eventType argument).
 
See: mouseevents, keyboardevents
addEventManager(self, eventType, manager=None)
Add an event manager to the internal table of managers.
 
The return value is the previous manager or None if there was
no previous manager.
captureEvents(self, eventType, manager=None)
Temporarily capture events of a particular type.
 
This temporarily replaces a particular manager within the
dispatch set with provided manager.  This will normally be
used to create "modal" interfaces such as active drag
functions (where the interface is in a different "interaction
mode", so that actions have different meaning than in the
"default mode").
 
Passing None as the manager will restore the previous manager
to functioning.
 
Note: this function does not perform a "system capture"
of input (that is, mouse movements are only available if they
occur over the context's window and that window has focus).
 
Note: for capturing mouse input, you will likely want to
capture both movement and button events, it should be possible
to define a single handler to deal with both event types,
and pass that handler twice, once for each event type.
getEventManager(self, eventType)
Retrieve an event manager from the internal table of managers
 
Returns the appropriate manager, or None if there was no
manager registered for the given event type.
getTimeManager(self)
Get the time-event manager for this context
initializeEventManagers(self)
Initialize the event manager classes for this context.
 
This implementation iterates over self.EventManagerClasses
(a list of (eventType, managerClass) values) and calls
addEventManager for each item.

Data and other attributes inherited from EventHandlerMixin:
EventManagerClasses = []
TimeManagerClass = None

 
class GLUTKeyboardEvent(GLUTXEvent, KeyboardEvent)
    GLUT-specific keyboard event
 
 
Method resolution order:
GLUTKeyboardEvent
GLUTXEvent
KeyboardEvent
Event
object

Methods defined here:
__init__(self, context, character, x, y, state=1, modifiers=0)

Data descriptors inherited from GLUTXEvent:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from GLUTXEvent:
CURRENTBUTTONSTATES = [0, 0, 0]

Methods inherited from KeyboardEvent:
getKey(self)
Get the event key used to lookup a handler for this event

Data and other attributes inherited from KeyboardEvent:
name = ''
side = 0
state = 0
type = 'keyboard'

Methods inherited from Event:
getModifiers(self)
Retrieve a tuple of the active modifier keys
 
Format is three Boolean values, (shift, control, alt)
visited(self, key, value=None)
Check for or register visitation of the given key
 
key -- an opaque hashable value, normally the node and
    field/event as a tuple.
value -- if provided, sets the current value, otherwise
    signals that the current value should be returned
 
return value: previous key value (possibly None)

Data and other attributes inherited from Event:
context = None
modifiers = (0, 0, 0)
renderingPass = None

 
class GLUTKeypressEvent(GLUTXEvent, KeypressEvent)
    GLUT-specific key-press event
 
 
Method resolution order:
GLUTKeypressEvent
GLUTXEvent
KeypressEvent
Event
object

Methods defined here:
__init__(self, context, character, x, y, modifiers=0)

Data descriptors inherited from GLUTXEvent:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from GLUTXEvent:
CURRENTBUTTONSTATES = [0, 0, 0]

Methods inherited from KeypressEvent:
getKey(self)
Get the event key used to lookup a handler for this event

Data and other attributes inherited from KeypressEvent:
name = ''
repeating = 0
side = 0
type = 'keypress'

Methods inherited from Event:
getModifiers(self)
Retrieve a tuple of the active modifier keys
 
Format is three Boolean values, (shift, control, alt)
visited(self, key, value=None)
Check for or register visitation of the given key
 
key -- an opaque hashable value, normally the node and
    field/event as a tuple.
value -- if provided, sets the current value, otherwise
    signals that the current value should be returned
 
return value: previous key value (possibly None)

Data and other attributes inherited from Event:
context = None
modifiers = (0, 0, 0)
renderingPass = None

 
class GLUTMouseButtonEvent(GLUTXEvent, MouseButtonEvent)
    GLUT-specific mouse-button event
 
 
Method resolution order:
GLUTMouseButtonEvent
GLUTXEvent
MouseButtonEvent
MouseEvent
Event
object

Methods defined here:
__init__(self, context, button, state, x, y, modifiers=0)

Data descriptors inherited from GLUTXEvent:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from GLUTXEvent:
CURRENTBUTTONSTATES = [0, 0, 0]

Methods inherited from MouseButtonEvent:
getKey(self)
Get the event key used to lookup a handler for this event

Data and other attributes inherited from MouseButtonEvent:
button = -1
state = 0
type = 'mousebutton'

Methods inherited from MouseEvent:
getNameStack(self)
Get the name-stack as reported by the rendering pass.
getObjectPaths(self)
Get the object-path object (None if not set)
getPickPoint(self)
Get the 2D picking point in OpenGL coordinates
 
Note that OpenGL coordinates are counted from the bottom left
corner of the window, in contrast to most windowing libraries
which use the upper left corner as the origin.
project(self, worldCoordinate=None)
Get the screen coordinates for the event w/out
the pick-point requires that worldCoordinate and
rendering pass be available or that the
viewCoordinate field already be available.
setNameStack(self, stack)
Set the name-stack.  Called by the select render mode
setObjectPaths(self, paths)
Set the object-path sets
unproject(self, viewCoordinate=None)
Get the world coordinates for viewCoordinate for the event
 
viewCoordinate -- coordinate to project, if omitted, the
    first "hit" entry in the name-stack will be used.  Otherwise
    should be a three-item array/tuple.  The z component of
    this tuple is interpreted acording to type.  If it's an
    integer or long, it's consider a raw OpenGL depth-buffer
    value as returned in the name-stack, and is converted to
    a floating-point depth value.  If it's already a floating-
    point value, it's left as-is.

Data and other attributes inherited from MouseEvent:
atTarget = 0
currentNode = None
currentPath = ()
modelViewMatrix = None
nameStack = ()
objectPaths = None
pickPoint = ()
processMorePaths = 0
projectionMatrix = None
stopPropagation = 0
viewCoordinate = ()
viewport = None
worldCoordinate = ()

Methods inherited from Event:
getModifiers(self)
Retrieve a tuple of the active modifier keys
 
Format is three Boolean values, (shift, control, alt)
visited(self, key, value=None)
Check for or register visitation of the given key
 
key -- an opaque hashable value, normally the node and
    field/event as a tuple.
value -- if provided, sets the current value, otherwise
    signals that the current value should be returned
 
return value: previous key value (possibly None)

Data and other attributes inherited from Event:
context = None
modifiers = (0, 0, 0)
renderingPass = None

 
class GLUTMouseMoveEvent(GLUTXEvent, MouseMoveEvent)
    GLUT-specific mouse-move event
 
 
Method resolution order:
GLUTMouseMoveEvent
GLUTXEvent
MouseMoveEvent
MouseEvent
Event
object

Methods defined here:
__init__(self, context, x, y, modifiers=0)

Data descriptors inherited from GLUTXEvent:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from GLUTXEvent:
CURRENTBUTTONSTATES = [0, 0, 0]

Methods inherited from MouseMoveEvent:
getButtons(self)
Return the active buttons as a tuple of integers.
getKey(self)
Get the event key used to lookup a handler for this event

Data and other attributes inherited from MouseMoveEvent:
buttons = ()
dragStart = ()
type = 'mousemove'

Methods inherited from MouseEvent:
getNameStack(self)
Get the name-stack as reported by the rendering pass.
getObjectPaths(self)
Get the object-path object (None if not set)
getPickPoint(self)
Get the 2D picking point in OpenGL coordinates
 
Note that OpenGL coordinates are counted from the bottom left
corner of the window, in contrast to most windowing libraries
which use the upper left corner as the origin.
project(self, worldCoordinate=None)
Get the screen coordinates for the event w/out
the pick-point requires that worldCoordinate and
rendering pass be available or that the
viewCoordinate field already be available.
setNameStack(self, stack)
Set the name-stack.  Called by the select render mode
setObjectPaths(self, paths)
Set the object-path sets
unproject(self, viewCoordinate=None)
Get the world coordinates for viewCoordinate for the event
 
viewCoordinate -- coordinate to project, if omitted, the
    first "hit" entry in the name-stack will be used.  Otherwise
    should be a three-item array/tuple.  The z component of
    this tuple is interpreted acording to type.  If it's an
    integer or long, it's consider a raw OpenGL depth-buffer
    value as returned in the name-stack, and is converted to
    a floating-point depth value.  If it's already a floating-
    point value, it's left as-is.

Data and other attributes inherited from MouseEvent:
atTarget = 0
currentNode = None
currentPath = ()
modelViewMatrix = None
nameStack = ()
objectPaths = None
pickPoint = ()
processMorePaths = 0
projectionMatrix = None
stopPropagation = 0
viewCoordinate = ()
viewport = None
worldCoordinate = ()

Methods inherited from Event:
getModifiers(self)
Retrieve a tuple of the active modifier keys
 
Format is three Boolean values, (shift, control, alt)
visited(self, key, value=None)
Check for or register visitation of the given key
 
key -- an opaque hashable value, normally the node and
    field/event as a tuple.
value -- if provided, sets the current value, otherwise
    signals that the current value should be returned
 
return value: previous key value (possibly None)

Data and other attributes inherited from Event:
context = None
modifiers = (0, 0, 0)
renderingPass = None

 
class GLUTXEvent(object)
    Base class for the various GLUT event types
 
Attributes:
    CURRENTBUTTONSTATES -- three-tuple of the currently-
        known button-states for the mouse, class-static
        list
 
  Data descriptors defined here:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes defined here:
CURRENTBUTTONSTATES = [0, 0, 0]

 
Data
        ARRAY_TYPE_TO_CONSTANT = [('GLclampd', GL_DOUBLE), ('GLclampf', GL_FLOAT), ('GLfloat', GL_FLOAT), ('GLdouble', GL_DOUBLE), ('GLbyte', GL_BYTE), ('GLshort', GL_SHORT), ('GLint', GL_INT), ('GLubyte', GL_UNSIGNED_BYTE), ('GLushort', GL_UNSIGNED_SHORT), ('GLuint', GL_UNSIGNED_INT), ('GLenum', GL_UNSIGNED_INT)]
CurrentContextIsValid = <_FuncPtr object at 0x7f8ebf843e20>
GLUT = <CDLL 'libglut.so.3', handle 218b920 at 2156810>
GLUT_ACCUM = GLUT_ACCUM
GLUT_ACTION_CONTINUE_EXECUTION = GLUT_ACTION_CONTINUE_EXECUTION
GLUT_ACTION_EXIT = GLUT_ACTION_EXIT
GLUT_ACTION_GLUTMAINLOOP_RETURNS = GLUT_ACTION_GLUTMAINLOOP_RETURNS
GLUT_ACTION_ON_WINDOW_CLOSE = GLUT_ACTION_ON_WINDOW_CLOSE
GLUT_ACTIVE_ALT = GLUT_ACTIVE_ALT
GLUT_ACTIVE_CTRL = GLUT_ACTIVE_CTRL
GLUT_ACTIVE_SHIFT = GLUT_ACTIVE_SHIFT
GLUT_ALPHA = GLUT_ALPHA
GLUT_API_VERSION = GLUT_API_VERSION
GLUT_BITMAP_8_BY_13 = c_void_p(140251035033152)
GLUT_BITMAP_9_BY_15 = c_void_p(140251035033184)
GLUT_BITMAP_HELVETICA_10 = c_void_p(140251035033344)
GLUT_BITMAP_HELVETICA_12 = c_void_p(140251035033216)
GLUT_BITMAP_HELVETICA_18 = c_void_p(140251035033312)
GLUT_BITMAP_TIMES_ROMAN_10 = c_void_p(140251035033120)
GLUT_BITMAP_TIMES_ROMAN_24 = c_void_p(140251035033088)
GLUT_BLUE = GLUT_BLUE
GLUT_CREATE_NEW_CONTEXT = GLUT_CREATE_NEW_CONTEXT
GLUT_CURSOR_BOTTOM_LEFT_CORNER = GLUT_CURSOR_BOTTOM_LEFT_CORNER
GLUT_CURSOR_BOTTOM_RIGHT_CORNER = GLUT_CURSOR_BOTTOM_RIGHT_CORNER
GLUT_CURSOR_BOTTOM_SIDE = GLUT_CURSOR_BOTTOM_SIDE
GLUT_CURSOR_CROSSHAIR = GLUT_CURSOR_CROSSHAIR
GLUT_CURSOR_CYCLE = GLUT_CURSOR_CYCLE
GLUT_CURSOR_DESTROY = GLUT_CURSOR_DESTROY
GLUT_CURSOR_FULL_CROSSHAIR = GLUT_CURSOR_FULL_CROSSHAIR
GLUT_CURSOR_HELP = GLUT_CURSOR_HELP
GLUT_CURSOR_INFO = GLUT_CURSOR_INFO
GLUT_CURSOR_INHERIT = GLUT_CURSOR_INHERIT
GLUT_CURSOR_LEFT_ARROW = GLUT_CURSOR_LEFT_ARROW
GLUT_CURSOR_LEFT_RIGHT = GLUT_CURSOR_LEFT_RIGHT
GLUT_CURSOR_LEFT_SIDE = GLUT_CURSOR_LEFT_SIDE
GLUT_CURSOR_NONE = GLUT_CURSOR_NONE
GLUT_CURSOR_RIGHT_ARROW = GLUT_CURSOR_RIGHT_ARROW
GLUT_CURSOR_RIGHT_SIDE = GLUT_CURSOR_RIGHT_SIDE
GLUT_CURSOR_SPRAY = GLUT_CURSOR_SPRAY
GLUT_CURSOR_TEXT = GLUT_CURSOR_TEXT
GLUT_CURSOR_TOP_LEFT_CORNER = GLUT_CURSOR_TOP_LEFT_CORNER
GLUT_CURSOR_TOP_RIGHT_CORNER = GLUT_CURSOR_TOP_RIGHT_CORNER
GLUT_CURSOR_TOP_SIDE = GLUT_CURSOR_TOP_SIDE
GLUT_CURSOR_UP_DOWN = GLUT_CURSOR_UP_DOWN
GLUT_CURSOR_WAIT = GLUT_CURSOR_WAIT
GLUT_DEBUG = GLUT_DEBUG
GLUT_DEPTH = GLUT_DEPTH
GLUT_DEVICE_IGNORE_KEY_REPEAT = GLUT_DEVICE_IGNORE_KEY_REPEAT
GLUT_DEVICE_KEY_REPEAT = GLUT_DEVICE_KEY_REPEAT
GLUT_DISPLAY_MODE_POSSIBLE = GLUT_DISPLAY_MODE_POSSIBLE
GLUT_DOUBLE = GLUT_DOUBLE
GLUT_DOWN = GLUT_DOWN
GLUT_ELAPSED_TIME = GLUT_ELAPSED_TIME
GLUT_ENTERED = GLUT_ENTERED
GLUT_FORWARD_COMPATIBLE = GLUT_FORWARD_COMPATIBLE
GLUT_FULLY_COVERED = GLUT_FULLY_COVERED
GLUT_FULLY_RETAINED = GLUT_FULLY_RETAINED
GLUT_GAME_MODE_ACTIVE = GLUT_GAME_MODE_ACTIVE
GLUT_GAME_MODE_DISPLAY_CHANGED = GLUT_GAME_MODE_DISPLAY_CHANGED
GLUT_GAME_MODE_HEIGHT = GLUT_GAME_MODE_HEIGHT
GLUT_GAME_MODE_PIXEL_DEPTH = GLUT_GAME_MODE_PIXEL_DEPTH
GLUT_GAME_MODE_POSSIBLE = GLUT_GAME_MODE_POSSIBLE
GLUT_GAME_MODE_REFRESH_RATE = GLUT_GAME_MODE_REFRESH_RATE
GLUT_GAME_MODE_WIDTH = GLUT_GAME_MODE_WIDTH
GLUT_GREEN = GLUT_GREEN
GLUT_GUARD_CALLBACKS = False
GLUT_HAS_DIAL_AND_BUTTON_BOX = GLUT_HAS_DIAL_AND_BUTTON_BOX
GLUT_HAS_JOYSTICK = GLUT_HAS_JOYSTICK
GLUT_HAS_KEYBOARD = GLUT_HAS_KEYBOARD
GLUT_HAS_MOUSE = GLUT_HAS_MOUSE
GLUT_HAS_OVERLAY = GLUT_HAS_OVERLAY
GLUT_HAS_SPACEBALL = GLUT_HAS_SPACEBALL
GLUT_HAS_TABLET = GLUT_HAS_TABLET
GLUT_HIDDEN = GLUT_HIDDEN
GLUT_INDEX = GLUT_INDEX
GLUT_INIT_DISPLAY_MODE = GLUT_INIT_DISPLAY_MODE
GLUT_INIT_FLAGS = GLUT_INIT_FLAGS
GLUT_INIT_MAJOR_VERSION = GLUT_INIT_MAJOR_VERSION
GLUT_INIT_MINOR_VERSION = GLUT_INIT_MINOR_VERSION
GLUT_INIT_STATE = GLUT_INIT_STATE
GLUT_INIT_WINDOW_HEIGHT = GLUT_INIT_WINDOW_HEIGHT
GLUT_INIT_WINDOW_WIDTH = GLUT_INIT_WINDOW_WIDTH
GLUT_INIT_WINDOW_X = GLUT_INIT_WINDOW_X
GLUT_INIT_WINDOW_Y = GLUT_INIT_WINDOW_Y
GLUT_JOYSTICK_AXES = GLUT_JOYSTICK_AXES
GLUT_JOYSTICK_BUTTONS = GLUT_JOYSTICK_BUTTONS
GLUT_JOYSTICK_BUTTON_A = GLUT_JOYSTICK_BUTTON_A
GLUT_JOYSTICK_BUTTON_B = GLUT_JOYSTICK_BUTTON_B
GLUT_JOYSTICK_BUTTON_C = GLUT_JOYSTICK_BUTTON_C
GLUT_JOYSTICK_BUTTON_D = GLUT_JOYSTICK_BUTTON_D
GLUT_JOYSTICK_POLL_RATE = GLUT_JOYSTICK_POLL_RATE
GLUT_KEY_DOWN = GLUT_KEY_DOWN
GLUT_KEY_END = GLUT_KEY_END
GLUT_KEY_F1 = GLUT_KEY_F1
GLUT_KEY_F10 = GLUT_KEY_F10
GLUT_KEY_F11 = GLUT_KEY_F11
GLUT_KEY_F12 = GLUT_KEY_F12
GLUT_KEY_F2 = GLUT_KEY_F2
GLUT_KEY_F3 = GLUT_KEY_F3
GLUT_KEY_F4 = GLUT_KEY_F4
GLUT_KEY_F5 = GLUT_KEY_F5
GLUT_KEY_F6 = GLUT_KEY_F6
GLUT_KEY_F7 = GLUT_KEY_F7
GLUT_KEY_F8 = GLUT_KEY_F8
GLUT_KEY_F9 = GLUT_KEY_F9
GLUT_KEY_HOME = GLUT_KEY_HOME
GLUT_KEY_INSERT = GLUT_KEY_INSERT
GLUT_KEY_LEFT = GLUT_KEY_LEFT
GLUT_KEY_PAGE_DOWN = GLUT_KEY_PAGE_DOWN
GLUT_KEY_PAGE_UP = GLUT_KEY_PAGE_UP
GLUT_KEY_REPEAT_DEFAULT = GLUT_KEY_REPEAT_DEFAULT
GLUT_KEY_REPEAT_OFF = GLUT_KEY_REPEAT_OFF
GLUT_KEY_REPEAT_ON = GLUT_KEY_REPEAT_ON
GLUT_KEY_RIGHT = GLUT_KEY_RIGHT
GLUT_KEY_UP = GLUT_KEY_UP
GLUT_LAYER_IN_USE = GLUT_LAYER_IN_USE
GLUT_LEFT = GLUT_LEFT
GLUT_LEFT_BUTTON = GLUT_LEFT_BUTTON
GLUT_LUMINANCE = GLUT_LUMINANCE
GLUT_MENU_IN_USE = GLUT_MENU_IN_USE
GLUT_MENU_NOT_IN_USE = GLUT_MENU_NOT_IN_USE
GLUT_MENU_NUM_ITEMS = GLUT_MENU_NUM_ITEMS
GLUT_MIDDLE_BUTTON = GLUT_MIDDLE_BUTTON
GLUT_MULTISAMPLE = GLUT_MULTISAMPLE
GLUT_NORMAL = GLUT_NORMAL
GLUT_NORMAL_DAMAGED = GLUT_NORMAL_DAMAGED
GLUT_NOT_VISIBLE = GLUT_NOT_VISIBLE
GLUT_NUM_BUTTON_BOX_BUTTONS = GLUT_NUM_BUTTON_BOX_BUTTONS
GLUT_NUM_DIALS = GLUT_NUM_DIALS
GLUT_NUM_MOUSE_BUTTONS = GLUT_NUM_MOUSE_BUTTONS
GLUT_NUM_SPACEBALL_BUTTONS = GLUT_NUM_SPACEBALL_BUTTONS
GLUT_NUM_TABLET_BUTTONS = GLUT_NUM_TABLET_BUTTONS
GLUT_OVERLAY = GLUT_OVERLAY
GLUT_OVERLAY_DAMAGED = GLUT_OVERLAY_DAMAGED
GLUT_OVERLAY_POSSIBLE = GLUT_OVERLAY_POSSIBLE
GLUT_OWNS_JOYSTICK = GLUT_OWNS_JOYSTICK
GLUT_PARTIALLY_RETAINED = GLUT_PARTIALLY_RETAINED
GLUT_RED = GLUT_RED
GLUT_RENDERING_CONTEXT = GLUT_RENDERING_CONTEXT
GLUT_RGB = GLUT_RGB
GLUT_RGBA = GLUT_RGBA
GLUT_RIGHT_BUTTON = GLUT_RIGHT_BUTTON
GLUT_SCREEN_HEIGHT = GLUT_SCREEN_HEIGHT
GLUT_SCREEN_HEIGHT_MM = GLUT_SCREEN_HEIGHT_MM
GLUT_SCREEN_WIDTH = GLUT_SCREEN_WIDTH
GLUT_SCREEN_WIDTH_MM = GLUT_SCREEN_WIDTH_MM
GLUT_SINGLE = GLUT_SINGLE
GLUT_STENCIL = GLUT_STENCIL
GLUT_STEREO = GLUT_STEREO
GLUT_STROKE_MONO_ROMAN = c_void_p(140251035033248)
GLUT_STROKE_ROMAN = c_void_p(140251035033280)
GLUT_TRANSPARENT_INDEX = GLUT_TRANSPARENT_INDEX
GLUT_UP = GLUT_UP
GLUT_USE_CURRENT_CONTEXT = GLUT_USE_CURRENT_CONTEXT
GLUT_VIDEO_RESIZE_HEIGHT = GLUT_VIDEO_RESIZE_HEIGHT
GLUT_VIDEO_RESIZE_HEIGHT_DELTA = GLUT_VIDEO_RESIZE_HEIGHT_DELTA
GLUT_VIDEO_RESIZE_IN_USE = GLUT_VIDEO_RESIZE_IN_USE
GLUT_VIDEO_RESIZE_POSSIBLE = GLUT_VIDEO_RESIZE_POSSIBLE
GLUT_VIDEO_RESIZE_WIDTH = GLUT_VIDEO_RESIZE_WIDTH
GLUT_VIDEO_RESIZE_WIDTH_DELTA = GLUT_VIDEO_RESIZE_WIDTH_DELTA
GLUT_VIDEO_RESIZE_X = GLUT_VIDEO_RESIZE_X
GLUT_VIDEO_RESIZE_X_DELTA = GLUT_VIDEO_RESIZE_X_DELTA
GLUT_VIDEO_RESIZE_Y = GLUT_VIDEO_RESIZE_Y
GLUT_VIDEO_RESIZE_Y_DELTA = GLUT_VIDEO_RESIZE_Y_DELTA
GLUT_VISIBLE = GLUT_VISIBLE
GLUT_WINDOW_ACCUM_ALPHA_SIZE = GLUT_WINDOW_ACCUM_ALPHA_SIZE
GLUT_WINDOW_ACCUM_BLUE_SIZE = GLUT_WINDOW_ACCUM_BLUE_SIZE
GLUT_WINDOW_ACCUM_GREEN_SIZE = GLUT_WINDOW_ACCUM_GREEN_SIZE
GLUT_WINDOW_ACCUM_RED_SIZE = GLUT_WINDOW_ACCUM_RED_SIZE
GLUT_WINDOW_ALPHA_SIZE = GLUT_WINDOW_ALPHA_SIZE
GLUT_WINDOW_BLUE_SIZE = GLUT_WINDOW_BLUE_SIZE
GLUT_WINDOW_BORDER_WIDTH = GLUT_WINDOW_BORDER_WIDTH
GLUT_WINDOW_BUFFER_SIZE = GLUT_WINDOW_BUFFER_SIZE
GLUT_WINDOW_COLORMAP_SIZE = GLUT_WINDOW_COLORMAP_SIZE
GLUT_WINDOW_CURSOR = GLUT_WINDOW_CURSOR
GLUT_WINDOW_DEPTH_SIZE = GLUT_WINDOW_DEPTH_SIZE
GLUT_WINDOW_DOUBLEBUFFER = GLUT_WINDOW_DOUBLEBUFFER
GLUT_WINDOW_FORMAT_ID = GLUT_WINDOW_FORMAT_ID
GLUT_WINDOW_GREEN_SIZE = GLUT_WINDOW_GREEN_SIZE
GLUT_WINDOW_HEADER_HEIGHT = GLUT_USE_CURRENT_CONTEXT
GLUT_WINDOW_HEIGHT = GLUT_WINDOW_HEIGHT
GLUT_WINDOW_NUM_CHILDREN = GLUT_WINDOW_NUM_CHILDREN
GLUT_WINDOW_NUM_SAMPLES = GLUT_WINDOW_NUM_SAMPLES
GLUT_WINDOW_PARENT = GLUT_WINDOW_PARENT
GLUT_WINDOW_RED_SIZE = GLUT_WINDOW_RED_SIZE
GLUT_WINDOW_RGBA = GLUT_WINDOW_RGBA
GLUT_WINDOW_STENCIL_SIZE = GLUT_WINDOW_STENCIL_SIZE
GLUT_WINDOW_STEREO = GLUT_WINDOW_STEREO
GLUT_WINDOW_WIDTH = GLUT_WINDOW_WIDTH
GLUT_WINDOW_X = GLUT_WINDOW_X
GLUT_WINDOW_Y = GLUT_WINDOW_Y
GLUT_XLIB_IMPLEMENTATION = GLUT_XLIB_IMPLEMENTATION
GL_BYTE = GL_BYTE
GL_DOUBLE = GL_DOUBLE
GL_FALSE = GL_FALSE
GL_FLOAT = GL_FLOAT
GL_HALF_NV = GL_HALF_NV
GL_INT = GL_INT
GL_SHORT = GL_SHORT
GL_TRUE = GL_TRUE
GL_UNSIGNED_BYTE = GL_UNSIGNED_BYTE
GL_UNSIGNED_INT = GL_UNSIGNED_INT
GL_UNSIGNED_INT64 = GL_UNSIGNED_INT64_AMD
GL_UNSIGNED_SHORT = GL_UNSIGNED_SHORT
GLvoid = None
HAVE_FREEGLUT = True
INITIALIZED = False
PLATFORM = <OpenGL.platform.glx.GLXPlatform object at 0x20bad90>
__file__ = '/home/mcfletch/pylive/OpenGLContext/events/glutevents.pyc'
__name__ = 'OpenGLContext.events.glutevents'
__package__ = 'OpenGLContext.events'
buttonMapping = {GLUT_LEFT_BUTTON: 0, GLUT_MIDDLE_BUTTON: 2, GLUT_RIGHT_BUTTON: 1}
ctypes_version = [1, 1, 0]
glutAddMenuEntry = <CFunctionType object at 0x2910390>
glutAddSubMenu = <CFunctionType object at 0x2910460>
glutAttachMenu = <CFunctionType object at 0x2910530>
glutBitmapCharacter = <CFunctionType object at 0x2910600>
glutBitmapHeight = <CFunctionType object at 0x29b2390>
glutBitmapLength = <CFunctionType object at 0x29106d0>
glutBitmapString = <CFunctionType object at 0x29b2530>
glutBitmapWidth = <CFunctionType object at 0x29107a0>
glutButtonBoxFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29a0650>
glutChangeToMenuEntry = <CFunctionType object at 0x2910940>
glutChangeToSubMenu = <CFunctionType object at 0x2910a10>
glutCloseFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29adad0>
glutCopyColormap = <CFunctionType object at 0x2910ae0>
glutCreateSubWindow = <CFunctionType object at 0x2910c80>
glutCreateWindow = <CFunctionType object at 0x2910d50>
glutDetachMenu = <CFunctionType object at 0x299c050>
glutDeviceGet = <CFunctionType object at 0x299c120>
glutDialsFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29a0710>
glutDisplayFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29a0750>
glutEnterGameMode = <CFunctionType object at 0x299c390>
glutEntryFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29a0790>
glutEstablishOverlay = <CFunctionType object at 0x299c530>
glutExtensionSupported = <CFunctionType object at 0x299c600>
glutForceJoystickFunc = <CFunctionType object at 0x299c6d0>
glutFullScreen = <CFunctionType object at 0x299c7a0>
glutGameModeGet = <CFunctionType object at 0x299c870>
glutGameModeString = <CFunctionType object at 0x299c940>
glutGet = <CFunctionType object at 0x299ca10>
glutGetColor = <CFunctionType object at 0x299cae0>
glutGetMenu = <CFunctionType object at 0x299cbb0>
glutGetMenuData = <CFunctionType object at 0x29b21f0>
glutGetModifiers = <CFunctionType object at 0x299cc80>
glutGetProcAddress = <CFunctionType object at 0x29b2bb0>
glutGetWindow = <CFunctionType object at 0x299cd50>
glutGetWindowData = <CFunctionType object at 0x29b2050>
glutHideOverlay = <CFunctionType object at 0x299ce20>
glutHideWindow = <CFunctionType object at 0x299cef0>
glutIconifyWindow = <CFunctionType object at 0x299e050>
glutIdleFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29a07d0>
glutIgnoreKeyRepeat = <CFunctionType object at 0x299e1f0>
glutInitDisplayMode = <CFunctionType object at 0x299e390>
glutInitDisplayString = <CFunctionType object at 0x299e460>
glutInitWindowPosition = <CFunctionType object at 0x299e530>
glutInitWindowSize = <CFunctionType object at 0x299e600>
glutJoystickFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29a0810>
glutKeyboardFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29a0850>
glutKeyboardUpFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29a0890>
glutLayerGet = <CFunctionType object at 0x299e940>
glutLeaveGameMode = <CFunctionType object at 0x299ea10>
glutLeaveMainLoop = <CFunctionType object at 0x29acae0>
glutMainLoop = <CFunctionType object at 0x299eae0>
glutMainLoopEvent = <CFunctionType object at 0x29aca10>
glutMenuDestroyFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29adb50>
glutMenuStateFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29a0a10>
glutMenuStatusFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29a0950>
glutMotionFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29a0ad0>
glutMouseFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29a0b10>
glutMouseWheelFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29ada10>
glutOverlayDisplayFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29a0b50>
glutPassiveMotionFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29a0c10>
glutPopWindow = <CFunctionType object at 0x29a1120>
glutPositionWindow = <CFunctionType object at 0x29a11f0>
glutPostOverlayRedisplay = <CFunctionType object at 0x29a12c0>
glutPostRedisplay = <CFunctionType object at 0x29a1390>
glutPostWindowOverlayRedisplay = <CFunctionType object at 0x29a1460>
glutPostWindowRedisplay = <CFunctionType object at 0x29a1530>
glutPushWindow = <CFunctionType object at 0x29a1600>
glutRemoveMenuItem = <CFunctionType object at 0x29a16d0>
glutRemoveOverlay = <CFunctionType object at 0x29a17a0>
glutReportErrors = <CFunctionType object at 0x29a1870>
glutReshapeFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29a0cd0>
glutReshapeWindow = <CFunctionType object at 0x29a1a10>
glutSetColor = <CFunctionType object at 0x29a1ae0>
glutSetCursor = <CFunctionType object at 0x29a1bb0>
glutSetIconTitle = <CFunctionType object at 0x29a1c80>
glutSetKeyRepeat = <CFunctionType object at 0x29a1d50>
glutSetMenu = <CFunctionType object at 0x29a1e20>
glutSetMenuData = <CFunctionType object at 0x29b22c0>
glutSetOption = <CFunctionType object at 0x29acef0>
glutSetWindow = <CFunctionType object at 0x29a1ef0>
glutSetWindowData = <CFunctionType object at 0x29b2120>
glutSetWindowTitle = <CFunctionType object at 0x29a3050>
glutSetupVideoResizing = <CFunctionType object at 0x29a3120>
glutShowOverlay = <CFunctionType object at 0x29a31f0>
glutShowWindow = <CFunctionType object at 0x29a32c0>
glutSolidCone = <CFunctionType object at 0x29a3390>
glutSolidCube = <CFunctionType object at 0x29a3460>
glutSolidCylinder = <CFunctionType object at 0x29b2ae0>
glutSolidDodecahedron = <CFunctionType object at 0x29a3530>
glutSolidIcosahedron = <CFunctionType object at 0x29a3600>
glutSolidOctahedron = <CFunctionType object at 0x29a36d0>
glutSolidRhombicDodecahedron = <CFunctionType object at 0x29b27a0>
glutSolidSierpinskiSponge = <OpenGL.wrapper.glutSolidSierpinskiSponge object at 0x29afef0>
glutSolidSphere = <CFunctionType object at 0x29a37a0>
glutSolidTeapot = <CFunctionType object at 0x29a3870>
glutSolidTetrahedron = <CFunctionType object at 0x29a3940>
glutSolidTorus = <CFunctionType object at 0x29a3a10>
glutSpaceballButtonFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29a0d10>
glutSpaceballMotionFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29a0dd0>
glutSpaceballRotateFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29a0e90>
glutSpecialFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29a0f50>
glutSpecialUpFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29a0f90>
glutStopVideoResizing = <CFunctionType object at 0x29a3ef0>
glutStrokeCharacter = <CFunctionType object at 0x29a4050>
glutStrokeHeight = <CFunctionType object at 0x29b2460>
glutStrokeLength = <CFunctionType object at 0x29a4120>
glutStrokeString = <CFunctionType object at 0x29b2600>
glutStrokeWidth = <CFunctionType object at 0x29a41f0>
glutSwapBuffers = <CFunctionType object at 0x29a42c0>
glutTabletButtonFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29ad150>
glutTabletMotionFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29ad090>
glutTimerFunc = <OpenGL.GLUT.special.GLUTTimerCallback object at 0x29ad3d0>
glutUseLayer = <CFunctionType object at 0x29a4600>
glutVideoPan = <CFunctionType object at 0x29a46d0>
glutVideoResize = <CFunctionType object at 0x29a47a0>
glutVideoResizeGet = <CFunctionType object at 0x29a4870>
glutVisibilityFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29ad250>
glutWMCloseFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29adb10>
glutWarpPointer = <CFunctionType object at 0x29a4a10>
glutWindowStatusFunc = <OpenGL.GLUT.special.GLUTCallback object at 0x29ad310>
glutWireCone = <CFunctionType object at 0x29a4bb0>
glutWireCube = <CFunctionType object at 0x29a4c80>
glutWireCylinder = <CFunctionType object at 0x29b2a10>
glutWireDodecahedron = <CFunctionType object at 0x29a4d50>
glutWireIcosahedron = <CFunctionType object at 0x29a4e20>
glutWireOctahedron = <CFunctionType object at 0x29a4ef0>
glutWireRhombicDodecahedron = <CFunctionType object at 0x29b26d0>
glutWireSierpinskiSponge = <OpenGL.wrapper.glutWireSierpinskiSponge object at 0x29afcf8>
glutWireSphere = <CFunctionType object at 0x29a6050>
glutWireTeapot = <CFunctionType object at 0x29a6120>
glutWireTetrahedron = <CFunctionType object at 0x29a61f0>
glutWireTorus = <CFunctionType object at 0x29a62c0>
i = '0'
keyboardMapping = {GLUT_KEY_F1: '<F1>', GLUT_KEY_F2: '<F2>', GLUT_KEY_F3: '<F3>', GLUT_KEY_F4: '<F4>', GLUT_KEY_F5: '<F5>', GLUT_KEY_F6: '<F6>', GLUT_KEY_F7: '<F7>', GLUT_KEY_F8: '<F8>', GLUT_KEY_F9: '<F9>', GLUT_KEY_F10: '<F10>', ...}
log = <logging.Logger instance at 0x29a5ea8>
void = None