openscenegraph
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
osgGA::EventQueue Class Reference
Inheritance diagram for osgGA::EventQueue:
osg::Referenced

Public Types

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

Public Member Functions

 EventQueue (GUIEventAdapter::MouseYOrientation mouseYOrientation=GUIEventAdapter::Y_INCREASING_DOWNWARDS)
 
bool empty () const
 
void setEvents (Events &events)
 
bool takeEvents (Events &events)
 
bool takeEvents (Events &events, double cutOffTime)
 
bool copyEvents (Events &events) const
 
void appendEvents (Events &events)
 
void addEvent (GUIEventAdapter *event)
 
void setUseFixedMouseInputRange (bool useFixedMouseInputRange)
 
bool getUseFixedMouseInputRange ()
 
void setGraphicsContext (osg::GraphicsContext *context)
 
osg::GraphicsContextgetGraphicsContext ()
 
const osg::GraphicsContextgetGraphicsContext () const
 
void syncWindowRectangleWithGraphcisContext ()
 
void setMouseInputRange (float xMin, float yMin, float xMax, float yMax)
 
void windowResize (int x, int y, int width, int height)
 
void windowResize (int x, int y, int width, int height, double time)
 
void mouseScroll (GUIEventAdapter::ScrollingMotion sm)
 
void mouseScroll (GUIEventAdapter::ScrollingMotion sm, double time)
 
void mouseScroll2D (float x, float y)
 
void mouseScroll2D (float x, float y, double time)
 
void penPressure (float pressure)
 
void penPressure (float pressure, double time)
 
void penOrientation (float tiltX, float tiltY, float rotation)
 
void penOrientation (float tiltX, float tiltY, float rotation, double time)
 
void penProximity (GUIEventAdapter::TabletPointerType pt, bool isEntering)
 
void penProximity (GUIEventAdapter::TabletPointerType pt, bool isEntering, double time)
 
void mouseWarped (float x, float y)
 
void mouseMotion (float x, float y)
 
void mouseMotion (float x, float y, double time)
 
void mouseButtonPress (float x, float y, unsigned int button)
 
void mouseButtonPress (float x, float y, unsigned int button, double time)
 
void mouseDoubleButtonPress (float x, float y, unsigned int button)
 
void mouseDoubleButtonPress (float x, float y, unsigned int button, double time)
 
void mouseButtonRelease (float x, float y, unsigned int button)
 
void mouseButtonRelease (float x, float y, unsigned int button, double time)
 
void keyPress (int key, int unmodifiedKey=0)
 
void keyPress (int key, double time, int unmodifiedKey=0)
 
void keyRelease (int key, int unmodifiedKey=0)
 
void keyRelease (int key, double time, int unmodifiedKey=0)
 
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)
 
void closeWindow ()
 
void closeWindow (double time)
 
void quitApplication ()
 
void quitApplication (double time)
 
void frame (double time)
 
void setStartTick (osg::Timer_t tick)
 
osg::Timer_t getStartTick () const
 
double getTime () const
 
void clear ()
 
GUIEventAdaptercreateEvent ()
 
void setCurrentEventState (GUIEventAdapter *ea)
 
GUIEventAdaptergetCurrentEventState ()
 
const GUIEventAdaptergetCurrentEventState () const
 
void userEvent (osg::Referenced *userEventData)
 
void userEvent (osg::Referenced *userEventData, double time)
 
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)
 
bool getThreadSafeRefUnref () const
 
OpenThreads::MutexgetRefMutex () const
 
int ref () const
 
int unref () const
 
int unref_nodelete () const
 
int referenceCount () const
 
ObserverSetgetObserverSet () const
 
ObserverSetgetOrCreateObserverSet () const
 
void addObserver (Observer *observer) const
 
void removeObserver (Observer *observer) const
 

Protected Member Functions

virtual ~EventQueue ()
 
EventQueueoperator= (const EventQueue &)
 
- 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::MutexgetGlobalReferencedMutex ()
 
static void setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting)
 
static bool getThreadSafeReferenceCounting ()
 
static void setDeleteHandler (DeleteHandler *handler)
 
static DeleteHandlergetDeleteHandler ()
 

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 ( GUIEventAdapter 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.

void osgGA::EventQueue::closeWindow ( )
inline

Method for adapting close window events.

void 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
void 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.

void 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.

void 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.

void 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.

void 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.

void 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.

void 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.

void 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.

void 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.

void 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.

void 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.

void osgGA::EventQueue::mouseMotion ( float  x,
float  y 
)
inline

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

void 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.

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

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

void 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.

void 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.

void 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.

void 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.

void 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.

void osgGA::EventQueue::penPressure ( float  pressure)
inline

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

void 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.

void 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.

void 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.

void osgGA::EventQueue::quitApplication ( )
inline

Method for adapting application quit events.

void 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::syncWindowRectangleWithGraphcisContext ( )

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

Method for adapting user defined events

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

Method for adapting user defined events with specified event time

void 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.

void 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: