osgGA::GUIEventAdapter Class Reference

Event class for storing Keyboard, mouse and window events. More...

Inheritance diagram for osgGA::GUIEventAdapter:

Inheritance graph
[legend]
List of all members.

Public Types

 LEFT_MOUSE_BUTTON = 1<<0
 MIDDLE_MOUSE_BUTTON = 1<<1
 RIGHT_MOUSE_BUTTON = 1<<2
 NONE = 0
 PUSH = 1<<0
 RELEASE = 1<<1
 DOUBLECLICK = 1<<2
 DRAG = 1<<3
 MOVE = 1<<4
 KEYDOWN = 1<<5
 KEYUP = 1<<6
 FRAME = 1<<7
 RESIZE = 1<<8
 SCROLL = 1<<9
 PEN_PRESSURE = 1<<10
 PEN_ORIENTATION = 1<<11
 PEN_PROXIMITY_ENTER = 1<<12
 PEN_PROXIMITY_LEAVE = 1<<13
 CLOSE_WINDOW = 1<<14
 QUIT_APPLICATION = 1<<15
 USER = 1<<16
 KEY_Space = 0x20
 KEY_BackSpace = 0xFF08
 KEY_Tab = 0xFF09
 KEY_Linefeed = 0xFF0A
 KEY_Clear = 0xFF0B
 KEY_Return = 0xFF0D
 KEY_Pause = 0xFF13
 KEY_Scroll_Lock = 0xFF14
 KEY_Sys_Req = 0xFF15
 KEY_Escape = 0xFF1B
 KEY_Delete = 0xFFFF
 KEY_Home = 0xFF50
 KEY_Left = 0xFF51
 KEY_Up = 0xFF52
 KEY_Right = 0xFF53
 KEY_Down = 0xFF54
 KEY_Prior = 0xFF55
 KEY_Page_Up = 0xFF55
 KEY_Next = 0xFF56
 KEY_Page_Down = 0xFF56
 KEY_End = 0xFF57
 KEY_Begin = 0xFF58
 KEY_Select = 0xFF60
 KEY_Print = 0xFF61
 KEY_Execute = 0xFF62
 KEY_Insert = 0xFF63
 KEY_Undo = 0xFF65
 KEY_Redo = 0xFF66
 KEY_Menu = 0xFF67
 KEY_Find = 0xFF68
 KEY_Cancel = 0xFF69
 KEY_Help = 0xFF6A
 KEY_Break = 0xFF6B
 KEY_Mode_switch = 0xFF7E
 KEY_Script_switch = 0xFF7E
 KEY_Num_Lock = 0xFF7F
 KEY_KP_Space = 0xFF80
 KEY_KP_Tab = 0xFF89
 KEY_KP_Enter = 0xFF8D
 KEY_KP_F1 = 0xFF91
 KEY_KP_F2 = 0xFF92
 KEY_KP_F3 = 0xFF93
 KEY_KP_F4 = 0xFF94
 KEY_KP_Home = 0xFF95
 KEY_KP_Left = 0xFF96
 KEY_KP_Up = 0xFF97
 KEY_KP_Right = 0xFF98
 KEY_KP_Down = 0xFF99
 KEY_KP_Prior = 0xFF9A
 KEY_KP_Page_Up = 0xFF9A
 KEY_KP_Next = 0xFF9B
 KEY_KP_Page_Down = 0xFF9B
 KEY_KP_End = 0xFF9C
 KEY_KP_Begin = 0xFF9D
 KEY_KP_Insert = 0xFF9E
 KEY_KP_Delete = 0xFF9F
 KEY_KP_Equal = 0xFFBD
 KEY_KP_Multiply = 0xFFAA
 KEY_KP_Add = 0xFFAB
 KEY_KP_Separator = 0xFFAC
 KEY_KP_Subtract = 0xFFAD
 KEY_KP_Decimal = 0xFFAE
 KEY_KP_Divide = 0xFFAF
 KEY_KP_0 = 0xFFB0
 KEY_KP_1 = 0xFFB1
 KEY_KP_2 = 0xFFB2
 KEY_KP_3 = 0xFFB3
 KEY_KP_4 = 0xFFB4
 KEY_KP_5 = 0xFFB5
 KEY_KP_6 = 0xFFB6
 KEY_KP_7 = 0xFFB7
 KEY_KP_8 = 0xFFB8
 KEY_KP_9 = 0xFFB9
 KEY_F1 = 0xFFBE
 KEY_F2 = 0xFFBF
 KEY_F3 = 0xFFC0
 KEY_F4 = 0xFFC1
 KEY_F5 = 0xFFC2
 KEY_F6 = 0xFFC3
 KEY_F7 = 0xFFC4
 KEY_F8 = 0xFFC5
 KEY_F9 = 0xFFC6
 KEY_F10 = 0xFFC7
 KEY_F11 = 0xFFC8
 KEY_F12 = 0xFFC9
 KEY_F13 = 0xFFCA
 KEY_F14 = 0xFFCB
 KEY_F15 = 0xFFCC
 KEY_F16 = 0xFFCD
 KEY_F17 = 0xFFCE
 KEY_F18 = 0xFFCF
 KEY_F19 = 0xFFD0
 KEY_F20 = 0xFFD1
 KEY_F21 = 0xFFD2
 KEY_F22 = 0xFFD3
 KEY_F23 = 0xFFD4
 KEY_F24 = 0xFFD5
 KEY_F25 = 0xFFD6
 KEY_F26 = 0xFFD7
 KEY_F27 = 0xFFD8
 KEY_F28 = 0xFFD9
 KEY_F29 = 0xFFDA
 KEY_F30 = 0xFFDB
 KEY_F31 = 0xFFDC
 KEY_F32 = 0xFFDD
 KEY_F33 = 0xFFDE
 KEY_F34 = 0xFFDF
 KEY_F35 = 0xFFE0
 KEY_Shift_L = 0xFFE1
 KEY_Shift_R = 0xFFE2
 KEY_Control_L = 0xFFE3
 KEY_Control_R = 0xFFE4
 KEY_Caps_Lock = 0xFFE5
 KEY_Shift_Lock = 0xFFE6
 KEY_Meta_L = 0xFFE7
 KEY_Meta_R = 0xFFE8
 KEY_Alt_L = 0xFFE9
 KEY_Alt_R = 0xFFEA
 KEY_Super_L = 0xFFEB
 KEY_Super_R = 0xFFEC
 KEY_Hyper_L = 0xFFED
 KEY_Hyper_R = 0xFFEE
 MODKEY_LEFT_SHIFT = 0x0001
 MODKEY_RIGHT_SHIFT = 0x0002
 MODKEY_LEFT_CTRL = 0x0004
 MODKEY_RIGHT_CTRL = 0x0008
 MODKEY_LEFT_ALT = 0x0010
 MODKEY_RIGHT_ALT = 0x0020
 MODKEY_LEFT_META = 0x0040
 MODKEY_RIGHT_META = 0x0080
 MODKEY_LEFT_SUPER = 0x0100
 MODKEY_RIGHT_SUPER = 0x0200
 MODKEY_LEFT_HYPER = 0x0400
 MODKEY_RIGHT_HYPER = 0x0800
 MODKEY_NUM_LOCK = 0x1000
 MODKEY_CAPS_LOCK = 0x2000
 MODKEY_CTRL = (MODKEY_LEFT_CTRL|MODKEY_RIGHT_CTRL)
 MODKEY_SHIFT = (MODKEY_LEFT_SHIFT|MODKEY_RIGHT_SHIFT)
 MODKEY_ALT = (MODKEY_LEFT_ALT|MODKEY_RIGHT_ALT)
 MODKEY_META = (MODKEY_LEFT_META|MODKEY_RIGHT_META)
 MODKEY_SUPER = (MODKEY_LEFT_SUPER|MODKEY_RIGHT_SUPER)
 MODKEY_HYPER = (MODKEY_LEFT_HYPER|MODKEY_RIGHT_HYPER)
 Y_INCREASING_UPWARDS
 Y_INCREASING_DOWNWARDS
 SCROLL_NONE
 SCROLL_LEFT
 SCROLL_RIGHT
 SCROLL_UP
 SCROLL_DOWN
 SCROLL_2D
 UNKNOWN = 0
 PEN
 PUCK
 ERASER
enum  MouseButtonMask { LEFT_MOUSE_BUTTON = 1<<0, MIDDLE_MOUSE_BUTTON = 1<<1, RIGHT_MOUSE_BUTTON = 1<<2 }
enum  EventType {
  NONE = 0, PUSH = 1<<0, RELEASE = 1<<1, DOUBLECLICK = 1<<2,
  DRAG = 1<<3, MOVE = 1<<4, KEYDOWN = 1<<5, KEYUP = 1<<6,
  FRAME = 1<<7, RESIZE = 1<<8, SCROLL = 1<<9, PEN_PRESSURE = 1<<10,
  PEN_ORIENTATION = 1<<11, PEN_PROXIMITY_ENTER = 1<<12, PEN_PROXIMITY_LEAVE = 1<<13, CLOSE_WINDOW = 1<<14,
  QUIT_APPLICATION = 1<<15, USER = 1<<16
}
enum  KeySymbol {
  KEY_Space = 0x20, KEY_BackSpace = 0xFF08, KEY_Tab = 0xFF09, KEY_Linefeed = 0xFF0A,
  KEY_Clear = 0xFF0B, KEY_Return = 0xFF0D, KEY_Pause = 0xFF13, KEY_Scroll_Lock = 0xFF14,
  KEY_Sys_Req = 0xFF15, KEY_Escape = 0xFF1B, KEY_Delete = 0xFFFF, KEY_Home = 0xFF50,
  KEY_Left = 0xFF51, KEY_Up = 0xFF52, KEY_Right = 0xFF53, KEY_Down = 0xFF54,
  KEY_Prior = 0xFF55, KEY_Page_Up = 0xFF55, KEY_Next = 0xFF56, KEY_Page_Down = 0xFF56,
  KEY_End = 0xFF57, KEY_Begin = 0xFF58, KEY_Select = 0xFF60, KEY_Print = 0xFF61,
  KEY_Execute = 0xFF62, KEY_Insert = 0xFF63, KEY_Undo = 0xFF65, KEY_Redo = 0xFF66,
  KEY_Menu = 0xFF67, KEY_Find = 0xFF68, KEY_Cancel = 0xFF69, KEY_Help = 0xFF6A,
  KEY_Break = 0xFF6B, KEY_Mode_switch = 0xFF7E, KEY_Script_switch = 0xFF7E, KEY_Num_Lock = 0xFF7F,
  KEY_KP_Space = 0xFF80, KEY_KP_Tab = 0xFF89, KEY_KP_Enter = 0xFF8D, KEY_KP_F1 = 0xFF91,
  KEY_KP_F2 = 0xFF92, KEY_KP_F3 = 0xFF93, KEY_KP_F4 = 0xFF94, KEY_KP_Home = 0xFF95,
  KEY_KP_Left = 0xFF96, KEY_KP_Up = 0xFF97, KEY_KP_Right = 0xFF98, KEY_KP_Down = 0xFF99,
  KEY_KP_Prior = 0xFF9A, KEY_KP_Page_Up = 0xFF9A, KEY_KP_Next = 0xFF9B, KEY_KP_Page_Down = 0xFF9B,
  KEY_KP_End = 0xFF9C, KEY_KP_Begin = 0xFF9D, KEY_KP_Insert = 0xFF9E, KEY_KP_Delete = 0xFF9F,
  KEY_KP_Equal = 0xFFBD, KEY_KP_Multiply = 0xFFAA, KEY_KP_Add = 0xFFAB, KEY_KP_Separator = 0xFFAC,
  KEY_KP_Subtract = 0xFFAD, KEY_KP_Decimal = 0xFFAE, KEY_KP_Divide = 0xFFAF, KEY_KP_0 = 0xFFB0,
  KEY_KP_1 = 0xFFB1, KEY_KP_2 = 0xFFB2, KEY_KP_3 = 0xFFB3, KEY_KP_4 = 0xFFB4,
  KEY_KP_5 = 0xFFB5, KEY_KP_6 = 0xFFB6, KEY_KP_7 = 0xFFB7, KEY_KP_8 = 0xFFB8,
  KEY_KP_9 = 0xFFB9, KEY_F1 = 0xFFBE, KEY_F2 = 0xFFBF, KEY_F3 = 0xFFC0,
  KEY_F4 = 0xFFC1, KEY_F5 = 0xFFC2, KEY_F6 = 0xFFC3, KEY_F7 = 0xFFC4,
  KEY_F8 = 0xFFC5, KEY_F9 = 0xFFC6, KEY_F10 = 0xFFC7, KEY_F11 = 0xFFC8,
  KEY_F12 = 0xFFC9, KEY_F13 = 0xFFCA, KEY_F14 = 0xFFCB, KEY_F15 = 0xFFCC,
  KEY_F16 = 0xFFCD, KEY_F17 = 0xFFCE, KEY_F18 = 0xFFCF, KEY_F19 = 0xFFD0,
  KEY_F20 = 0xFFD1, KEY_F21 = 0xFFD2, KEY_F22 = 0xFFD3, KEY_F23 = 0xFFD4,
  KEY_F24 = 0xFFD5, KEY_F25 = 0xFFD6, KEY_F26 = 0xFFD7, KEY_F27 = 0xFFD8,
  KEY_F28 = 0xFFD9, KEY_F29 = 0xFFDA, KEY_F30 = 0xFFDB, KEY_F31 = 0xFFDC,
  KEY_F32 = 0xFFDD, KEY_F33 = 0xFFDE, KEY_F34 = 0xFFDF, KEY_F35 = 0xFFE0,
  KEY_Shift_L = 0xFFE1, KEY_Shift_R = 0xFFE2, KEY_Control_L = 0xFFE3, KEY_Control_R = 0xFFE4,
  KEY_Caps_Lock = 0xFFE5, KEY_Shift_Lock = 0xFFE6, KEY_Meta_L = 0xFFE7, KEY_Meta_R = 0xFFE8,
  KEY_Alt_L = 0xFFE9, KEY_Alt_R = 0xFFEA, KEY_Super_L = 0xFFEB, KEY_Super_R = 0xFFEC,
  KEY_Hyper_L = 0xFFED, KEY_Hyper_R = 0xFFEE
}
enum  ModKeyMask {
  MODKEY_LEFT_SHIFT = 0x0001, MODKEY_RIGHT_SHIFT = 0x0002, MODKEY_LEFT_CTRL = 0x0004, MODKEY_RIGHT_CTRL = 0x0008,
  MODKEY_LEFT_ALT = 0x0010, MODKEY_RIGHT_ALT = 0x0020, MODKEY_LEFT_META = 0x0040, MODKEY_RIGHT_META = 0x0080,
  MODKEY_LEFT_SUPER = 0x0100, MODKEY_RIGHT_SUPER = 0x0200, MODKEY_LEFT_HYPER = 0x0400, MODKEY_RIGHT_HYPER = 0x0800,
  MODKEY_NUM_LOCK = 0x1000, MODKEY_CAPS_LOCK = 0x2000, MODKEY_CTRL = (MODKEY_LEFT_CTRL|MODKEY_RIGHT_CTRL), MODKEY_SHIFT = (MODKEY_LEFT_SHIFT|MODKEY_RIGHT_SHIFT),
  MODKEY_ALT = (MODKEY_LEFT_ALT|MODKEY_RIGHT_ALT), MODKEY_META = (MODKEY_LEFT_META|MODKEY_RIGHT_META), MODKEY_SUPER = (MODKEY_LEFT_SUPER|MODKEY_RIGHT_SUPER), MODKEY_HYPER = (MODKEY_LEFT_HYPER|MODKEY_RIGHT_HYPER)
}
enum  MouseYOrientation { Y_INCREASING_UPWARDS, Y_INCREASING_DOWNWARDS }
enum  ScrollingMotion {
  SCROLL_NONE, SCROLL_LEFT, SCROLL_RIGHT, SCROLL_UP,
  SCROLL_DOWN, SCROLL_2D
}
enum  TabletPointerType { UNKNOWN = 0, PEN, PUCK, ERASER }

Public Member Functions

 GUIEventAdapter ()
 GUIEventAdapter (const GUIEventAdapter &rhs, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
 META_Object (osgGA, GUIEventAdapter)
void setHandled (bool handled) const
 Set whether this event has been handled by an event handler or not.
bool getHandled () const
 Get whether this event has been handled by an event handler or not.
void setEventType (EventType Type)
 Get the Type of the GUI GUIEventAdapter.
virtual EventType getEventType () const
 Get the Type of the GUI GUIEventAdapter.
void setTime (double time)
 set time in seconds of event.
double getTime () const
 get time in seconds of event.
double time () const
 deprecated function for getting time of event.
void setGraphicsContext (osg::GraphicsContext *context)
const osg::GraphicsContextgetGraphicsContext () const
void setWindowRectangle (int x, int y, int width, int height, bool updateMouseRange=true)
 set window rectangle.
int getWindowX () const
 get window x origin.
int getWindowY () const
 get window y origin.
int getWindowWidth () const
 get window width.
int getWindowHeight () const
 get window height.
void setKey (int key)
 set key pressed.
virtual int getKey () const
 get key pressed, return -1 if inappropriate for this GUIEventAdapter.
void setButton (int button)
 set button pressed/released.
int getButton () const
 button pressed/released, return -1 if inappropriate for this GUIEventAdapter.
void setInputRange (float Xmin, float Ymin, float Xmax, float Ymax)
 set mouse input range.
float getXmin () const
 get mouse minimum x.
float getXmax () const
 get mouse maximum x.
float getYmin () const
 get mouse minimum y.
float getYmax () const
 get mouse maYimum y.
void setX (float x)
 set current mouse x position.
float getX () const
 get current mouse x position.
void setY (float y)
 set current mouse y position.
float getY () const
 get current mouse y position.
void setButtonMask (unsigned int mask)
 set current mouse button state
unsigned int getButtonMask () const
 get current mouse button state
void setModKeyMask (unsigned int mask)
unsigned int getModKeyMask () const
float getPenPressure () const
 get the pressure, from a tablet input device (range 0 - 1)
void setPenPressure (float pressure)
 sets the pressure from a tablet
float getPenTiltX () const
 get the tiltX, from a tablet input device (range -1 - 1)
void setPenTiltX (float tiltX)
 sets the tiltX from a tablet
float getPenTiltY () const
 get the tiltY, from a tablet input device (range -1 - 1)
void setPenTiltY (float tiltY)
 sets the tiltY from a tablet
float getPenRotation () const
 get the rotation, from a tablet input device (range 0 - 2PI)
void setPenRotation (float rotation)
 sets the rotation from a tablet
const osg::Matrix getPenOrientation () const
 get the orientation from a tablet input device as a matrix
TabletPointerType getTabletPointerType () const
 get the current used tablet pointer type
void setTabletPointerType (TabletPointerType pt)
 set the current used tablet pointer type
void setScrollingMotion (ScrollingMotion motion)
float getScrollingDeltaX () const
 get the scrolling x-delta
float getScrollingDeltaY () const
 get the scrolling y-delta
void setScrollingMotionDelta (float x, float y)
 sets the scrolling delta to x,y and the type of scrolling to SCROLL_2D
ScrollingMotion getScrollingMotion () const
float getXnormalized () const
 return the getX() value normalized to the range of -1 to 1.
float getYnormalized () const
 return the getY() value normalized to the range of -1 to 1.
void setMouseYOrientation (MouseYOrientation myo)
MouseYOrientation getMouseYOrientation () const

Static Public Member Functions

static osg::ref_ptr< GUIEventAdapter > & getAccumulatedEventState ()
 Get the accumulated event state singleton.

Protected Member Functions

virtual ~GUIEventAdapter ()
 Force users to create on heap, so that multiple referencing is safe.

Protected Attributes

bool _handled
EventType _eventType
double _time
osg::observer_ptr< osg::GraphicsContext_context
int _windowX
int _windowY
int _windowWidth
int _windowHeight
int _key
int _button
float _Xmin
float _Xmax
float _Ymin
float _Ymax
float _mx
float _my
float _pressure
float _tiltX
float _tiltY
float _rotation
unsigned int _buttonMask
unsigned int _modKeyMask
ScrollingMotion _scrollingMotion
float _scrollingDeltaX
float _scrollingDeltaY
MouseYOrientation _mouseYOrientation
TabletPointerType _tabletPointerType

Detailed Description

Event class for storing Keyboard, mouse and window events.


Member Enumeration Documentation

enum osgGA::GUIEventAdapter::EventType

Enumerator:
NONE 
PUSH 
RELEASE 
DOUBLECLICK 
DRAG 
MOVE 
KEYDOWN 
KEYUP 
FRAME 
RESIZE 
SCROLL 
PEN_PRESSURE 
PEN_ORIENTATION 
PEN_PROXIMITY_ENTER 
PEN_PROXIMITY_LEAVE 
CLOSE_WINDOW 
QUIT_APPLICATION 
USER 

enum osgGA::GUIEventAdapter::KeySymbol

Enumerator:
KEY_Space 
KEY_BackSpace 
KEY_Tab 
KEY_Linefeed 
KEY_Clear 
KEY_Return 
KEY_Pause 
KEY_Scroll_Lock 
KEY_Sys_Req 
KEY_Escape 
KEY_Delete 
KEY_Home 
KEY_Left 
KEY_Up 
KEY_Right 
KEY_Down 
KEY_Prior 
KEY_Page_Up 
KEY_Next 
KEY_Page_Down 
KEY_End 
KEY_Begin 
KEY_Select 
KEY_Print 
KEY_Execute 
KEY_Insert 
KEY_Undo 
KEY_Redo 
KEY_Menu 
KEY_Find 
KEY_Cancel 
KEY_Help 
KEY_Break 
KEY_Mode_switch 
KEY_Script_switch 
KEY_Num_Lock 
KEY_KP_Space 
KEY_KP_Tab 
KEY_KP_Enter 
KEY_KP_F1 
KEY_KP_F2 
KEY_KP_F3 
KEY_KP_F4 
KEY_KP_Home 
KEY_KP_Left 
KEY_KP_Up 
KEY_KP_Right 
KEY_KP_Down 
KEY_KP_Prior 
KEY_KP_Page_Up 
KEY_KP_Next 
KEY_KP_Page_Down 
KEY_KP_End 
KEY_KP_Begin 
KEY_KP_Insert 
KEY_KP_Delete 
KEY_KP_Equal 
KEY_KP_Multiply 
KEY_KP_Add 
KEY_KP_Separator 
KEY_KP_Subtract 
KEY_KP_Decimal 
KEY_KP_Divide 
KEY_KP_0 
KEY_KP_1 
KEY_KP_2 
KEY_KP_3 
KEY_KP_4 
KEY_KP_5 
KEY_KP_6 
KEY_KP_7 
KEY_KP_8 
KEY_KP_9 
KEY_F1 
KEY_F2 
KEY_F3 
KEY_F4 
KEY_F5 
KEY_F6 
KEY_F7 
KEY_F8 
KEY_F9 
KEY_F10 
KEY_F11 
KEY_F12 
KEY_F13 
KEY_F14 
KEY_F15 
KEY_F16 
KEY_F17 
KEY_F18 
KEY_F19 
KEY_F20 
KEY_F21 
KEY_F22 
KEY_F23