OpenSceneGraph  3.4.0
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
osgGA::EventQueue Class Reference

EventQueue implementation for collecting and adapting windowing events. More...

Inheritance diagram for osgGA::EventQueue:
Inheritance graph
[legend]

List of all members.

Public Types

typedef std::list
< osg::ref_ptr< Event > > 
Events

Public Member Functions

 EventQueue (GUIEventAdapter::MouseYOrientation mouseYOrientation=GUIEventAdapter::Y_INCREASING_DOWNWARDS)
bool empty () const
void setEvents (Events &events)
 Set events.
bool takeEvents (Events &events)
 Take the entire event queue leaving the EventQueue' event queue empty.
bool takeEvents (Events &events, double cutOffTime)
 Take the events that were recorded before with specified time queue.
bool copyEvents (Events &events) const
 Take a copy the entire event queue leaving the EventQueue' event queue intact.
void appendEvents (Events &events)
 Add events to end of event queue.
void addEvent (Event *event)
 Add an event to the end of the event queue.
void setUseFixedMouseInputRange (bool useFixedMouseInputRange)
 Specify if mouse coordinates should be transformed into a pre defined input range, or whether they should be simply based on as local coordinates to the window that generated the mouse events.
bool getUseFixedMouseInputRange ()
 Get whether the mouse coordinates should be transformed into a pre defined input range.
void setGraphicsContext (osg::GraphicsContext *context)
 Set the graphics context associated with this event queue.
osg::GraphicsContextgetGraphicsContext ()
const osg::GraphicsContextgetGraphicsContext () const
void syncWindowRectangleWithGraphicsContext ()
 Read the window record dimensions from the graphics context.
void setMouseInputRange (float xMin, float yMin, float xMax, float yMax)
 Set the mouse input range.
osgGA::GUIEventAdapterwindowResize (int x, int y, int width, int height)
 Method for adapting window resize event, placing this event on the back of the event queue.
osgGA::GUIEventAdapterwindowResize (int x, int y, int width, int height, double time)
 Method for adapting window resize event, placing this event on the back of the event queue, with specified time.
osgGA::GUIEventAdaptermouseScroll (GUIEventAdapter::ScrollingMotion sm)
 Method for adapting mouse scroll wheel events, placing this event on the back of the event queue.
osgGA::GUIEventAdaptermouseScroll (GUIEventAdapter::ScrollingMotion sm, double time)
 Method for adapting mouse scroll wheel events, placing this event on the back of the event queue, with specified time.
osgGA::GUIEventAdaptermouseScroll2D (float x, float y)
 Method for adapting mouse scroll wheel events, placing this event on the back of the event queue.
osgGA::GUIEventAdaptermouseScroll2D (float x, float y, double time)
 Method for adapting mouse scroll wheel events, placing this event on the back of the event queue.
osgGA::GUIEventAdapterpenPressure (float pressure)
 Method for adapting pen pressure events, placing this event on the back of the event queue.
osgGA::GUIEventAdapterpenPressure (float pressure, double time)
 Method for adapting pen pressure events, placing this event on the back of the event queue, with specified time.
osgGA::GUIEventAdapterpenOrientation (float tiltX, float tiltY, float rotation)
 Method for adapting pen orientation events, placing this event on the back of the event queue.
osgGA::GUIEventAdapterpenOrientation (float tiltX, float tiltY, float rotation, double time)
 Method for adapting pen orientation events, placing this event on the back of the event queue, with specified time.
osgGA::GUIEventAdapterpenProximity (GUIEventAdapter::TabletPointerType pt, bool isEntering)
 Method for adapting pen proximity events, placing this event on the back of the event queue.
osgGA::GUIEventAdapterpenProximity (GUIEventAdapter::TabletPointerType pt, bool isEntering, double time)
 Method for adapting pen proximity events, placing this event on the back of the event queue, with specified time.
void mouseWarped (float x, float y)
 Method for updating in response to a mouse warp.
osgGA::GUIEventAdaptermouseMotion (float x, float y)
 Method for adapting mouse motion events, placing this event on the back of the event queue.
osgGA::GUIEventAdaptermouseMotion (float x, float y, double time)
 Method for adapting mouse motion events, placing this event on the back of the event queue, with specified time.
osgGA::GUIEventAdaptermouseButtonPress (float x, float y, unsigned int button)
 Method for adapting mouse button pressed events, placing this event on the back of the event queue.
osgGA::GUIEventAdaptermouseButtonPress (float x, float y, unsigned int button, double time)
 Method for adapting mouse button pressed events, placing this event on the back of the event queue, with specified time.
osgGA::GUIEventAdaptermouseDoubleButtonPress (float x, float y, unsigned int button)
 Method for adapting mouse button pressed events, placing this event on the back of the event queue.
osgGA::GUIEventAdaptermouseDoubleButtonPress (float x, float y, unsigned int button, double time)
 Method for adapting mouse button pressed events, placing this event on the back of the event queue, with specified time.
osgGA::GUIEventAdaptermouseButtonRelease (float x, float y, unsigned int button)
 Method for adapting mouse button release events, placing this event on the back of the event queue.
osgGA::GUIEventAdaptermouseButtonRelease (float x, float y, unsigned int button, double time)
 Method for adapting mouse button release events, placing this event on the back of the event queue, with specified time.
osgGA::GUIEventAdapterkeyPress (int key, int unmodifiedKey=0)
 Method for adapting keyboard press events.
osgGA::GUIEventAdapterkeyPress (int key, double time, int unmodifiedKey=0)
 Method for adapting keyboard press events.
osgGA::GUIEventAdapterkeyRelease (int key, int unmodifiedKey=0)
 Method for adapting keyboard press events.
osgGA::GUIEventAdapterkeyRelease (int key, double time, int unmodifiedKey=0)
 Method for adapting keyboard press events.
GUIEventAdaptertouchBegan (unsigned int id, GUIEventAdapter::TouchPhase phase, float x, float y, double time)
GUIEventAdaptertouchBegan (unsigned int id, GUIEventAdapter::TouchPhase phase, float x, float y)
GUIEventAdaptertouchMoved (unsigned int id, GUIEventAdapter::TouchPhase phase, float x, float y, double time)
GUIEventAdaptertouchMoved (unsigned int id, GUIEventAdapter::TouchPhase phase, float x, float y)
GUIEventAdaptertouchEnded (unsigned int id, GUIEventAdapter::TouchPhase phase, float x, float y, unsigned int tap_count, double time)
GUIEventAdaptertouchEnded (unsigned int id, GUIEventAdapter::TouchPhase phase, float x, float y, unsigned int tap_count)
osgGA::GUIEventAdaptercloseWindow ()
 Method for adapting close window events.
osgGA::GUIEventAdaptercloseWindow (double time)
 Method for adapting close window event with specified event time.
osgGA::GUIEventAdapterquitApplication ()
 Method for adapting application quit events.
osgGA::GUIEventAdapterquitApplication (double time)
 Method for adapting application quit events with specified event time.
osgGA::GUIEventAdapterframe (double time)
 Method for adapting frame events.
void setStartTick (osg::Timer_t tick)
osg::Timer_t getStartTick () const
double getTime () const
void clear ()
 clear all events from queue.
GUIEventAdaptercreateEvent ()
 convenience method for create an event ready to fill in.
void setCurrentEventState (GUIEventAdapter *ea)
GUIEventAdaptergetCurrentEventState ()
const GUIEventAdaptergetCurrentEventState () const
GUIEventAdapteruserEvent (osg::Referenced *userEventData)
 Method for adapting user defined events.
GUIEventAdapteruserEvent (osg::Referenced *userEventData, double time)
 Method for adapting user defined events with specified event time.
void setFirstTouchEmulatesMouse (bool b)
bool getFirstTouchEmulatesMouse () const

Protected Member Functions

virtual ~EventQueue ()
EventQueueoperator= (const EventQueue &)
 Prevent unwanted copy operator.

Protected Attributes

osg::ref_ptr< GUIEventAdapter_accumulateEventState
bool _useFixedMouseInputRange
osg::Timer_t _startTick
OpenThreads::Mutex _eventQueueMutex
Events _eventQueue
bool _firstTouchEmulatesMouse

Detailed Description

EventQueue implementation for collecting and adapting windowing events.


Member Typedef Documentation


Constructor & Destructor Documentation

virtual osgGA::EventQueue::~EventQueue ( ) [protected, virtual]

Member Function Documentation

Add an event to the end of the event queue.

Add events to end of event queue.

clear all events from queue.

Method for adapting close window events.

References closeWindow().

Referenced by closeWindow().

Method for adapting close window event with specified event time.

bool osgGA::EventQueue::copyEvents ( Events events) const

Take a copy the entire event queue leaving the EventQueue' event queue intact.

convenience method for create an event ready to fill in.

Clones the getCurrentEventState() to produce a up to date event state.

bool osgGA::EventQueue::empty ( ) const [inline]

Method for adapting frame events.

double osgGA::EventQueue::getTime ( ) const [inline]

Get whether the mouse coordinates should be transformed into a pre defined input range.

osgGA::GUIEventAdapter* osgGA::EventQueue::keyPress ( int  key,
int  unmodifiedKey = 0 
) [inline]

Method for adapting keyboard press events.

Note, special keys such as Ctrl/Function keys should be adapted to GUIEventAdapter::KeySymbol mappings.

References keyPress().

Referenced by keyPress().

osgGA::GUIEventAdapter* osgGA::EventQueue::keyPress ( int  key,
double  time,
int  unmodifiedKey = 0 
)

Method for adapting keyboard press events.

Note, special keys such as Ctrl/Function keys should be adapted to GUIEventAdapter::KeySymbol mappings, with specified time.

osgGA::GUIEventAdapter* osgGA::EventQueue::keyRelease ( int  key,
int  unmodifiedKey = 0 
) [inline]

Method for adapting keyboard press events.

Note, special keys such as Ctrl/Function keys should be adapted to GUIEventAdapter::KeySymbol mappings.

References keyRelease().

Referenced by keyRelease().

osgGA::GUIEventAdapter* osgGA::EventQueue::keyRelease ( int  key,
double  time,
int  unmodifiedKey = 0 
)

Method for adapting keyboard press events.

Note, special keys such as Ctrl/Function keys should be adapted to GUIEventAdapter::KeySymbol mappings, with specified time.

osgGA::GUIEventAdapter* osgGA::EventQueue::mouseButtonPress ( float  x,
float  y,
unsigned int  button 
) [inline]

Method for adapting mouse button pressed events, placing this event on the back of the event queue.

Button numbering is 1 for left mouse button, 2 for middle, 3 for right.

References mouseButtonPress().

Referenced by mouseButtonPress().

osgGA::GUIEventAdapter* osgGA::EventQueue::mouseButtonPress ( float  x,
float  y,
unsigned int  button,
double  time 
)

Method for adapting mouse button pressed events, placing this event on the back of the event queue, with specified time.

Button numbering is 1 for left mouse button, 2 for middle, 3 for right.

osgGA::GUIEventAdapter* osgGA::EventQueue::mouseButtonRelease ( float  x,
float  y,
unsigned int  button 
) [inline]

Method for adapting mouse button release events, placing this event on the back of the event queue.

Button numbering is 1 for left mouse button, 2 for middle, 3 for right.

References mouseButtonRelease().

Referenced by mouseButtonRelease().

osgGA::GUIEventAdapter* osgGA::EventQueue::mouseButtonRelease ( float  x,
float  y,
unsigned int  button,
double  time 
)

Method for adapting mouse button release events, placing this event on the back of the event queue, with specified time.

Button numbering is 1 for left mouse button, 2 for middle, 3 for right.

osgGA::GUIEventAdapter* osgGA::EventQueue::mouseDoubleButtonPress ( float  x,
float  y,
unsigned int  button 
) [inline]

Method for adapting mouse button pressed events, placing this event on the back of the event queue.

Button numbering is 1 for left mouse button, 2 for middle, 3 for right.

References mouseDoubleButtonPress().

Referenced by mouseDoubleButtonPress().

osgGA::GUIEventAdapter* osgGA::EventQueue::mouseDoubleButtonPress ( float  x,
float  y,
unsigned int  button,
double  time 
)

Method for adapting mouse button pressed events, placing this event on the back of the event queue, with specified time.

Button numbering is 1 for left mouse button, 2 for middle, 3 for right.

osgGA::GUIEventAdapter* osgGA::EventQueue::mouseMotion ( float  x,
float  y 
) [inline]

Method for adapting mouse motion events, placing this event on the back of the event queue.

References mouseMotion().

Referenced by mouseMotion().

osgGA::GUIEventAdapter* osgGA::EventQueue::mouseMotion ( float  x,
float  y,
double  time 
)

Method for adapting mouse motion events, placing this event on the back of the event queue, with specified time.

Method for adapting mouse scroll wheel events, placing this event on the back of the event queue.

References mouseScroll().

Referenced by mouseScroll().

Method for adapting mouse scroll wheel events, placing this event on the back of the event queue, with specified time.

osgGA::GUIEventAdapter* osgGA::EventQueue::mouseScroll2D ( float  x,
float  y 
) [inline]

Method for adapting mouse scroll wheel events, placing this event on the back of the event queue.

References mouseScroll2D().

Referenced by mouseScroll2D().

osgGA::GUIEventAdapter* osgGA::EventQueue::mouseScroll2D ( float  x,
float  y,
double  time 
)

Method for adapting mouse scroll wheel events, placing this event on the back of the event queue.

void osgGA::EventQueue::mouseWarped ( float  x,
float  y 
)

Method for updating in response to a mouse warp.

Note, just moves the mouse position without creating a new event for it.

EventQueue& osgGA::EventQueue::operator= ( const EventQueue ) [inline, protected]

Prevent unwanted copy operator.

osgGA::GUIEventAdapter* osgGA::EventQueue::penOrientation ( float  tiltX,
float  tiltY,
float  rotation 
) [inline]

Method for adapting pen orientation events, placing this event on the back of the event queue.

References penOrientation().

Referenced by penOrientation().

osgGA::GUIEventAdapter* osgGA::EventQueue::penOrientation ( float  tiltX,
float  tiltY,
float  rotation,
double  time 
)

Method for adapting pen orientation events, placing this event on the back of the event queue, with specified time.

Method for adapting pen pressure events, placing this event on the back of the event queue.

References penPressure().

Referenced by penPressure().

osgGA::GUIEventAdapter* osgGA::EventQueue::penPressure ( float  pressure,
double  time 
)

Method for adapting pen pressure events, placing this event on the back of the event queue, with specified time.

Method for adapting pen proximity events, placing this event on the back of the event queue.

References penProximity().

Referenced by penProximity().

Method for adapting pen proximity events, placing this event on the back of the event queue, with specified time.

Method for adapting application quit events.

References quitApplication().

Referenced by quitApplication().

Method for adapting application quit events with specified event time.

Set events.

Set the graphics context associated with this event queue.

Referenced by osgViewer::GraphicsWindow::GraphicsWindow().

void osgGA::EventQueue::setMouseInputRange ( float  xMin,
float  yMin,
float  xMax,
float  yMax 
) [inline]

Set the mouse input range.

void osgGA::EventQueue::setUseFixedMouseInputRange ( bool  useFixedMouseInputRange) [inline]

Specify if mouse coordinates should be transformed into a pre defined input range, or whether they should be simply based on as local coordinates to the window that generated the mouse events.

Read the window record dimensions from the graphics context.

Take the entire event queue leaving the EventQueue' event queue empty.

bool osgGA::EventQueue::takeEvents ( Events events,
double  cutOffTime 
)

Take the events that were recorded before with specified time queue.

GUIEventAdapter* osgGA::EventQueue::touchBegan ( unsigned int  id,
GUIEventAdapter::TouchPhase  phase,
float  x,
float  y,
double  time 
)
GUIEventAdapter* osgGA::EventQueue::touchBegan ( unsigned int  id,
GUIEventAdapter::TouchPhase  phase,
float  x,
float  y 
) [inline]
GUIEventAdapter* osgGA::EventQueue::touchEnded ( unsigned int  id,
GUIEventAdapter::TouchPhase  phase,
float  x,
float  y,
unsigned int  tap_count,
double  time 
)
GUIEventAdapter* osgGA::EventQueue::touchEnded ( unsigned int  id,
GUIEventAdapter::TouchPhase  phase,
float  x,
float  y,
unsigned int  tap_count 
) [inline]
GUIEventAdapter* osgGA::EventQueue::touchMoved ( unsigned int  id,
GUIEventAdapter::TouchPhase  phase,
float  x,
float  y,
double  time 
)
GUIEventAdapter* osgGA::EventQueue::touchMoved ( unsigned int  id,
GUIEventAdapter::TouchPhase  phase,
float  x,
float  y 
) [inline]

Method for adapting user defined events.

References userEvent().

Referenced by userEvent().

GUIEventAdapter* osgGA::EventQueue::userEvent ( osg::Referenced userEventData,
double  time 
)

Method for adapting user defined events with specified event time.

osgGA::GUIEventAdapter* osgGA::EventQueue::windowResize ( int  x,
int  y,
int  width,
int  height 
) [inline]

Method for adapting window resize event, placing this event on the back of the event queue.

References windowResize().

Referenced by windowResize().

osgGA::GUIEventAdapter* osgGA::EventQueue::windowResize ( int  x,
int  y,
int  width,
int  height,
double  time 
)

Method for adapting window resize event, placing this event on the back of the event queue, with specified time.


Member Data Documentation

OpenThreads::Mutex osgGA::EventQueue::_eventQueueMutex [mutable, protected]

The documentation for this class was generated from the following file:

osg logo
Generated at Tue Dec 8 2015 00:14:28 for the OpenSceneGraph by doxygen 1.7.6.1.