14#ifndef OSGGA_EVENTQUEUE
15#define OSGGA_EVENTQUEUE 1
36 typedef std::list< osg::ref_ptr<Event> >
Events;
41 return _eventQueue.empty();
83 void setMouseInputRange(
float xMin,
float yMin,
float xMax,
float yMax) { getCurrentEventState()->setInputRange(xMin, yMin, xMax, yMax); }
179 return touchBegan(
id, phase, x, y, getTime());
184 return touchMoved(
id, phase, x, y, getTime());
189 return touchEnded(
id, phase, x, y, tap_count, getTime());
This class provides an object-oriented thread mutex interface.
Definition Mutex:31
osgGA::GUIEventAdapter * mouseScroll2D(float x, float y)
Definition EventQueue:101
osgGA::GUIEventAdapter * penPressure(float pressure, double time)
GUIEventAdapter * userEvent(osg::Referenced *userEventData, double time)
void setCurrentEventState(GUIEventAdapter *ea)
Definition EventQueue:224
bool takeEvents(Events &events, double cutOffTime)
osgGA::GUIEventAdapter * penOrientation(float tiltX, float tiltY, float rotation, double time)
void setUseFixedMouseInputRange(bool useFixedMouseInputRange)
Definition EventQueue:65
GUIEventAdapter * touchBegan(unsigned int id, GUIEventAdapter::TouchPhase phase, float x, float y, double time)
osgGA::GUIEventAdapter * mouseScroll(GUIEventAdapter::ScrollingMotion sm)
Definition EventQueue:94
osgGA::GUIEventAdapter * keyRelease(int key, double time, int unmodifiedKey=0)
bool _useFixedMouseInputRange
Definition EventQueue:246
GUIEventAdapter * touchMoved(unsigned int id, GUIEventAdapter::TouchPhase phase, float x, float y, double time)
void setFirstTouchEmulatesMouse(bool b)
Definition EventQueue:234
osgGA::GUIEventAdapter * penProximity(GUIEventAdapter::TabletPointerType pt, bool isEntering)
Definition EventQueue:120
bool _firstTouchEmulatesMouse
Definition EventQueue:251
GUIEventAdapter * userEvent(osg::Referenced *userEventData)
Definition EventQueue:229
GUIEventAdapter * touchEnded(unsigned int id, GUIEventAdapter::TouchPhase phase, float x, float y, unsigned int tap_count)
Definition EventQueue:188
osg::Timer_t getStartTick() const
Definition EventQueue:213
std::list< osg::ref_ptr< Event > > Events
Definition EventQueue:36
osgGA::GUIEventAdapter * keyPress(int key, double time, int unmodifiedKey=0)
osgGA::GUIEventAdapter * keyPress(int key, int unmodifiedKey=0)
Definition EventQueue:165
bool getUseFixedMouseInputRange()
Definition EventQueue:68
GUIEventAdapter * getCurrentEventState()
Definition EventQueue:225
osgGA::GUIEventAdapter * keyRelease(int key, int unmodifiedKey=0)
Definition EventQueue:172
osgGA::GUIEventAdapter * closeWindow()
Definition EventQueue:195
GUIEventAdapter * touchEnded(unsigned int id, GUIEventAdapter::TouchPhase phase, float x, float y, unsigned int tap_count, double time)
bool empty() const
Definition EventQueue:38
void addEvent(Event *event)
osgGA::GUIEventAdapter * mouseButtonRelease(float x, float y, unsigned int button, double time)
osgGA::GUIEventAdapter * mouseMotion(float x, float y, double time)
osgGA::GUIEventAdapter * penOrientation(float tiltX, float tiltY, float rotation)
Definition EventQueue:114
osgGA::GUIEventAdapter * mouseDoubleButtonPress(float x, float y, unsigned int button)
Definition EventQueue:148
osgGA::GUIEventAdapter * windowResize(int x, int y, int width, int height, double time)
osgGA::GUIEventAdapter * mouseButtonPress(float x, float y, unsigned int button)
Definition EventQueue:139
GUIEventAdapter * touchMoved(unsigned int id, GUIEventAdapter::TouchPhase phase, float x, float y)
Definition EventQueue:183
osgGA::GUIEventAdapter * closeWindow(double time)
void appendEvents(Events &events)
osgGA::GUIEventAdapter * mouseButtonRelease(float x, float y, unsigned int button)
Definition EventQueue:157
osgGA::GUIEventAdapter * mouseButtonPress(float x, float y, unsigned int button, double time)
void setStartTick(osg::Timer_t tick)
Definition EventQueue:212
const GUIEventAdapter * getCurrentEventState() const
Definition EventQueue:226
void setEvents(Events &events)
osgGA::GUIEventAdapter * penProximity(GUIEventAdapter::TabletPointerType pt, bool isEntering, double time)
const osg::GraphicsContext * getGraphicsContext() const
Definition EventQueue:76
osgGA::GUIEventAdapter * quitApplication()
Definition EventQueue:202
GUIEventAdapter * createEvent()
double getTime() const
Definition EventQueue:215
osgGA::GUIEventAdapter * windowResize(int x, int y, int width, int height)
Definition EventQueue:87
OpenThreads::Mutex _eventQueueMutex
Definition EventQueue:249
bool takeEvents(Events &events)
bool getFirstTouchEmulatesMouse() const
Definition EventQueue:235
osgGA::GUIEventAdapter * penPressure(float pressure)
Definition EventQueue:108
osgGA::GUIEventAdapter * frame(double time)
void mouseWarped(float x, float y)
osg::Timer_t _startTick
Definition EventQueue:248
osg::ref_ptr< GUIEventAdapter > _accumulateEventState
Definition EventQueue:244
bool copyEvents(Events &events) const
void setGraphicsContext(osg::GraphicsContext *context)
Definition EventQueue:72
void setMouseInputRange(float xMin, float yMin, float xMax, float yMax)
Definition EventQueue:83
Events _eventQueue
Definition EventQueue:250
osgGA::GUIEventAdapter * mouseMotion(float x, float y)
Definition EventQueue:131
GUIEventAdapter * touchBegan(unsigned int id, GUIEventAdapter::TouchPhase phase, float x, float y)
Definition EventQueue:178
osgGA::GUIEventAdapter * mouseScroll(GUIEventAdapter::ScrollingMotion sm, double time)
osgGA::GUIEventAdapter * mouseDoubleButtonPress(float x, float y, unsigned int button, double time)
osgGA::GUIEventAdapter * mouseScroll2D(float x, float y, double time)
osgGA::GUIEventAdapter * quitApplication(double time)
EventQueue(GUIEventAdapter::MouseYOrientation mouseYOrientation=GUIEventAdapter::Y_INCREASING_DOWNWARDS)
osg::GraphicsContext * getGraphicsContext()
Definition EventQueue:74
void syncWindowRectangleWithGraphicsContext()
Definition GUIEventAdapter:82
ScrollingMotion
Definition GUIEventAdapter:360
MouseYOrientation
Definition GUIEventAdapter:354
TouchPhase
Definition GUIEventAdapter:378
TabletPointerType
Definition GUIEventAdapter:370
Definition GraphicsContext:30
static Timer * instance()
double delta_s(Timer_t t1, Timer_t t2) const
Definition Timer:59
unsigned long long Timer_t
Definition Timer:24
#define OSGGA_EXPORT
Definition osgGA/Export:40