OpenSceneGraph  3.5.1
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
osgGA::EventQueue Class Reference

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

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

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. More...
 
bool takeEvents (Events &events)
 Take the entire event queue leaving the EventQueue' event queue empty. More...
 
bool takeEvents (Events &events, double cutOffTime)
 Take the events that were recorded before with specified time queue. More...
 
bool copyEvents (Events &events) const
 Take a copy the entire event queue leaving the EventQueue' event queue intact. More...
 
void appendEvents (Events &events)
 Add events to end of event queue. More...
 
void addEvent (Event *event)
 Add an event to the end of the event queue. More...
 
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. More...
 
bool getUseFixedMouseInputRange ()
 Get whether the mouse coordinates should be transformed into a pre defined input range. More...
 
void setGraphicsContext (osg::GraphicsContext *context)
 Set the graphics context associated with this event queue. More...
 
osg::GraphicsContextgetGraphicsContext ()
 
const osg::GraphicsContextgetGraphicsContext () const
 
void syncWindowRectangleWithGraphicsContext ()
 Read the window record dimensions from the graphics context. More...
 
void setMouseInputRange (float xMin, float yMin, float xMax, float yMax)
 Set the mouse input range. More...
 
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. More...
 
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. More...
 
osgGA::GUIEventAdaptermouseScroll (GUIEventAdapter::ScrollingMotion sm)
 Method for adapting mouse scroll wheel events, placing this event on the back of the event queue. More...
 
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. More...
 
osgGA::GUIEventAdaptermouseScroll2D (float x, float y)
 Method for adapting mouse scroll wheel events, placing this event on the back of the event queue. More...
 
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. More...
 
osgGA::GUIEventAdapterpenPressure (float pressure)
 Method for adapting pen pressure events, placing this event on the back of the event queue. More...
 
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. More...
 
osgGA::GUIEventAdapterpenOrientation (float tiltX, float tiltY, float rotation)
 Method for adapting pen orientation events, placing this event on the back of the event queue. More...
 
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. More...
 
osgGA::GUIEventAdapterpenProximity (GUIEventAdapter::TabletPointerType pt, bool isEntering)
 Method for adapting pen proximity events, placing this event on the back of the event queue. More...
 
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. More...
 
void mouseWarped (float x, float y)
 Method for updating in response to a mouse warp. More...
 
osgGA::GUIEventAdaptermouseMotion (float x, float y)
 Method for adapting mouse motion events, placing this event on the back of the event queue. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
osgGA::GUIEventAdapterkeyPress (int key, int unmodifiedKey=0)
 Method for adapting keyboard press events. More...
 
osgGA::GUIEventAdapterkeyPress (int key, double time, int unmodifiedKey=0)
 Method for adapting keyboard press events. More...
 
osgGA::GUIEventAdapterkeyRelease (int key, int unmodifiedKey=0)
 Method for adapting keyboard press events. More...
 
osgGA::GUIEventAdapterkeyRelease (int key, double time, int unmodifiedKey=0)
 Method for adapting keyboard press events. More...
 
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. More...
 
osgGA::GUIEventAdaptercloseWindow (double time)
 Method for adapting close window event with specified event time. More...
 
osgGA::GUIEventAdapterquitApplication ()
 Method for adapting application quit events. More...
 
osgGA::GUIEventAdapterquitApplication (double time)
 Method for adapting application quit events with specified event time. More...
 
osgGA::GUIEventAdapterframe (double time)
 Method for adapting frame events. More...
 
void setStartTick (osg::Timer_t tick)
 
osg::Timer_t getStartTick () const
 
double getTime () const
 
void clear ()
 clear all events from queue. More...
 
GUIEventAdaptercreateEvent ()
 convenience method for create an event ready to fill in. More...
 
void setCurrentEventState (GUIEventAdapter *ea)
 
GUIEventAdaptergetCurrentEventState ()
 
const GUIEventAdaptergetCurrentEventState () const
 
GUIEventAdapteruserEvent (osg::Referenced *userEventData)
 Method for adapting user defined events. More...
 
GUIEventAdapteruserEvent (osg::Referenced *userEventData, double time)
 Method for adapting user defined events with specified event time. More...
 
void setFirstTouchEmulatesMouse (bool b)
 
bool getFirstTouchEmulatesMouse () const
 
- Public Member Functions inherited from osg::Referenced
 Referenced ()
 
 Referenced (bool threadSafeRefUnref)
 
 Referenced (const Referenced &)
 
Referencedoperator= (const Referenced &)
 
virtual void setThreadSafeRefUnref (bool threadSafe)
 Set whether to use a mutex to ensure ref() and unref() are thread safe. More...
 
bool getThreadSafeRefUnref () const
 Get whether a mutex is used to ensure ref() and unref() are thread safe. More...
 
OpenThreads::Mutex * getRefMutex () const
 Get the mutex used to ensure thread safety of ref()/unref(). More...
 
int ref () const
 Increment the reference count by one, indicating that this object has another pointer which is referencing it. More...
 
int unref () const
 Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More...
 
int unref_nodelete () const
 Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More...
 
int referenceCount () const
 Return the number of pointers currently referencing this object. More...
 
ObserverSetgetObserverSet () const
 Get the ObserverSet if one is attached, otherwise return NULL. More...
 
ObserverSetgetOrCreateObserverSet () const
 Get the ObserverSet if one is attached, otherwise create an ObserverSet, attach it, then return this newly created ObserverSet. More...
 
void addObserver (Observer *observer) const
 Add a Observer that is observing this object, notify the Observer when this object gets deleted. More...
 
void removeObserver (Observer *observer) const
 Remove Observer that is observing this object. More...
 

Protected Member Functions

virtual ~EventQueue ()
 
EventQueueoperator= (const EventQueue &)
 Prevent unwanted copy operator. More...
 
- Protected Member Functions inherited from osg::Referenced
virtual ~Referenced ()
 
void signalObserversAndDelete (bool signalDelete, bool doDelete) const
 
void deleteUsingDeleteHandler () const
 

Protected Attributes

osg::ref_ptr< GUIEventAdapter_accumulateEventState
 
bool _useFixedMouseInputRange
 
osg::Timer_t _startTick
 
OpenThreads::Mutex _eventQueueMutex
 
Events _eventQueue
 
bool _firstTouchEmulatesMouse
 
- Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr _observerSet
 
OpenThreads::Atomic _refCount
 

Additional Inherited Members

- Static Public Member Functions inherited from osg::Referenced
static OpenThreads::Mutex * getGlobalReferencedMutex ()
 Get the optional global Referenced mutex, this can be shared between all osg::Referenced. More...
 
static void setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting)
 Set whether reference counting should use a mutex for thread safe reference counting. More...
 
static bool getThreadSafeReferenceCounting ()
 Get whether reference counting is active. More...
 
static void setDeleteHandler (DeleteHandler *handler)
 Set a DeleteHandler to which deletion of all referenced counted objects will be delegated. More...
 
static DeleteHandlergetDeleteHandler ()
 Get a DeleteHandler. More...
 

Detailed Description

EventQueue implementation for collecting and adapting windowing events.

Member Typedef Documentation

Constructor & Destructor Documentation

osgGA::EventQueue::EventQueue ( GUIEventAdapter::MouseYOrientation  mouseYOrientation = GUIEventAdapter::Y_INCREASING_DOWNWARDS)
virtual osgGA::EventQueue::~EventQueue ( )
protectedvirtual

Member Function Documentation

void osgGA::EventQueue::addEvent ( Event event)

Add an event to the end of the event queue.

void osgGA::EventQueue::appendEvents ( Events events)

Add events to end of event queue.

void osgGA::EventQueue::clear ( )

clear all events from queue.

osgGA::GUIEventAdapter* osgGA::EventQueue::closeWindow ( )
inline

Method for adapting close window events.

osgGA::GUIEventAdapter* osgGA::EventQueue::closeWindow ( double  time)

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.

GUIEventAdapter* osgGA::EventQueue::createEvent ( )

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
osgGA::GUIEventAdapter* osgGA::EventQueue::frame ( double  time)

Method for adapting frame events.

GUIEventAdapter* osgGA::EventQueue::getCurrentEventState ( )
inline
const GUIEventAdapter* osgGA::EventQueue::getCurrentEventState ( ) const
inline
bool osgGA::EventQueue::getFirstTouchEmulatesMouse ( ) const
inline
osg::GraphicsContext* osgGA::EventQueue::getGraphicsContext ( )
inline
const osg::GraphicsContext* osgGA::EventQueue::getGraphicsContext ( ) const
inline
osg::Timer_t osgGA::EventQueue::getStartTick ( ) const
inline
double osgGA::EventQueue::getTime ( ) const
inline
bool osgGA::EventQueue::getUseFixedMouseInputRange ( )
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.

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.

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.

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.

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.

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.

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.

osgGA::GUIEventAdapter* osgGA::EventQueue::mouseScroll ( GUIEventAdapter::ScrollingMotion  sm)
inline

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

osgGA::GUIEventAdapter* osgGA::EventQueue::mouseScroll ( 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::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.

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 )
inlineprotected

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.

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.

osgGA::GUIEventAdapter* osgGA::EventQueue::penPressure ( float  pressure)
inline

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

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.

osgGA::GUIEventAdapter* osgGA::EventQueue::penProximity ( GUIEventAdapter::TabletPointerType  pt,
bool  isEntering 
)
inline

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

osgGA::GUIEventAdapter* osgGA::EventQueue::penProximity ( 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.

osgGA::GUIEventAdapter* osgGA::EventQueue::quitApplication ( )
inline

Method for adapting application quit events.

osgGA::GUIEventAdapter* osgGA::EventQueue::quitApplication ( double  time)

Method for adapting application quit events with specified event time.

void osgGA::EventQueue::setCurrentEventState ( GUIEventAdapter ea)
inline
void osgGA::EventQueue::setEvents ( Events events)

Set events.

void osgGA::EventQueue::setFirstTouchEmulatesMouse ( bool  b)
inline
void osgGA::EventQueue::setGraphicsContext ( osg::GraphicsContext context)
inline

Set the graphics context associated with this event queue.

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

Set the mouse input range.

void osgGA::EventQueue::setStartTick ( osg::Timer_t  tick)
inline
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.

void osgGA::EventQueue::syncWindowRectangleWithGraphicsContext ( )

Read the window record dimensions from the graphics context.

bool osgGA::EventQueue::takeEvents ( Events events)

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
GUIEventAdapter* osgGA::EventQueue::userEvent ( osg::Referenced userEventData)
inline

Method for adapting user defined events.

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.

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

osg::ref_ptr<GUIEventAdapter> osgGA::EventQueue::_accumulateEventState
protected
Events osgGA::EventQueue::_eventQueue
protected
OpenThreads::Mutex osgGA::EventQueue::_eventQueueMutex
mutableprotected
bool osgGA::EventQueue::_firstTouchEmulatesMouse
protected
osg::Timer_t osgGA::EventQueue::_startTick
protected
bool osgGA::EventQueue::_useFixedMouseInputRange
protected

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

osg logo
Generated at Wed Nov 11 2015 22:14:58 for the OpenSceneGraph by doxygen 1.8.10.