16 #ifndef OSGWIDGET_EVENT_INTERFACE
17 #define OSGWIDGET_EVENT_INTERFACE
20 #include <osg/ref_ptr>
21 #include <osg/observer_ptr>
22 #include <osg/Referenced>
24 #include <osgWidget/Export>
164 virtual const char*
className()
const {
return "osgWidget::CallbackInterface"; }
178 _callback (callback) {}
181 return (_object->*_callback)(ev);
210 Callback(
const Callback& rhs):
osg::Referenced(rhs), _type(rhs._type), _data(rhs._data), _callback(rhs._callback) {}
212 virtual const char*
className()
const {
return "osgWidget::Callback"; }
240 if(!_callback)
return false;
242 return (*_callback)(ev);
273 _eventMask (ei._eventMask),
274 _callbacks (ei._callbacks) {}
323 _callbacks.push_back(cb);
329 for(CallbackList::iterator i = _callbacks.begin(); i != _callbacks.end(); i++) {
333 if(i->get()->getType() & ev.
type) {
334 ev.
setData(i->get()->getData());
336 if((*i->get())(ev))
return true;
346 bool handled =
false;
390 return callCallbacks(ev) || handled;
409 unsigned int _eventMask;
410 CallbackList _callbacks;
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum GLenum type