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
< GUIEventAdapter > > 
Events

Public Member Functions

 EventQueue (GUIEventAdapter::MouseYOrientation mouseYOrientation=GUIEventAdapter::Y_INCREASING_DOWNWARDS)
void setEvents (Events &events)
 Set events.
bool takeEvents (Events &events)
 Take the entire event queue leaving the EventQueue' event queue empty.
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 (GUIEventAdapter *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 setMouseInputRange (float xMin, float yMin, float xMax, float yMax)
 Set the mouse input range.
void windowResize (int x, int y, int width, int height)
 Method for adapting window resize event, placing this event on the back of the event queue.
void 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.
void mouseScroll (GUIEventAdapter::ScrollingMotion sm)
 Method for adapting mouse scroll wheel events, placing this event on the back of the event queue.
void 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 mouseScroll2D (float x, float y)
 Method for adapting mouse scroll wheel events, placing this event on the back of the event queue.
void 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 penPressure (float pressure)
 Method for adapting pen pressure events, placing this event on the back of the event queue.
void 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 penProximity (GUIEventAdapter::TabletPointerType pt, bool isEntering)
 Method for adapting pen proximity events, placing this event on the back of the event queue.
void 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 mouseWarped (float x, float y)
 Method for updating in response to a mouse warp.
void mouseMotion (float x, float y)
 Method for adapting mouse motion events, placing this event on the back of the event queue.
void 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 mouseButtonPress (float x, float y, unsigned int button)
 Method for adapting mouse button pressed events, placing this event on the back of the event queue.
void 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.
void mouseDoubleButtonPress (float x, float y, unsigned int button)
 Method for adapting mouse button pressed events, placing this event on the back of the event queue.
void 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.
void mouseButtonRelease (float x, float y, unsigned int button)
 Method for adapting mouse button release events, placing this event on the back of the event queue.
void 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.
void keyPress (int key)
 Method for adapting keyboard press events.
void keyPress (int key, double time)
 Method for adapting keyboard press events.
void keyRelease (int key)
 Method for adapting keyboard press events.
void keyRelease (int key, double time)
 Method for adapting keyboard press events.
void closeWindow ()
 Method for adapting close window events.
void closeWindow (double time)
 Method for adapting close window event with specified event time.
void quitApplication ()
 Method for adapting application quit events.
void quitApplication (double time)
 Method for adapting application quit events with specified event time.
void frame (double time)
 Method for adapting frame events.
void setStartTick (osg::Timer_t tick)
osg::Timer_t getStartTick () const
double getTime () const
GUIEventAdaptercreateEvent ()
 convinience method for create an event ready to fill in.
void setCurrentEventState (GUIEventAdapter *ea)
GUIEventAdaptergetCurrentEventState ()
const GUIEventAdaptergetCurrentEventState () const
void userEvent (osg::Referenced *userEventData)
 Method for adapting user defined events.
void userEvent (osg::Referenced *userEventData, double time)
 Method for adapting user defined events with specified event time.

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


Detailed Description

EventQueue implementation for collecting and adapting windowing events.

Member Typedef Documentation

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


Constructor & Destructor Documentation

osgGA::EventQueue::EventQueue ( GUIEventAdapter::MouseYOrientation  mouseYOrientation = GUIEventAdapter::Y_INCREASING_DOWNWARDS  ) 

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


Member Function Documentation

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

Set events.

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

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

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

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

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

Add events to end of event queue.

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

Add an event to the end of the event queue.

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.

bool osgGA::EventQueue::getUseFixedMouseInputRange (  )  [inline]

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

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

Set the mouse input range.

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.

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

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::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::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::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::keyPress ( int  key  )  [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 
)

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

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::closeWindow (  )  [inline]

Method for adapting close window events.

void osgGA::EventQueue::closeWindow ( double  time  ) 

Method for adapting close window event with specified event 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::frame ( double  time  ) 

Method for adapting frame events.

void osgGA::EventQueue::setStartTick ( osg::Timer_t  tick  )  [inline]

osg::Timer_t osgGA::EventQueue::getStartTick (  )  const [inline]

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

GUIEventAdapter* osgGA::EventQueue::createEvent (  ) 

convinience method for create an event ready to fill in.

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

void osgGA::EventQueue::setCurrentEventState ( GUIEventAdapter ea  )  [inline]

GUIEventAdapter* osgGA::EventQueue::getCurrentEventState (  )  [inline]

const GUIEventAdapter* osgGA::EventQueue::getCurrentEventState (  )  const [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.

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

Prevent unwanted copy operator.


Member Data Documentation

osg::ref_ptr<GUIEventAdapter> osgGA::EventQueue::_accumulateEventState [protected]

bool osgGA::EventQueue::_useFixedMouseInputRange [protected]

osg::Timer_t osgGA::EventQueue::_startTick [protected]

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

Events osgGA::EventQueue::_eventQueue [protected]


The documentation for this class was generated from the following file:
Generated at Sun Oct 14 02:12:21 2007 for the OpenSceneGraph by doxygen 1.5.3.