00001 #ifndef SO_EVENT_BUILDER 00002 #define SO_EVENT_BUILDER 00003 00004 #include <Inventor/events/SoMouseButtonEvent.h> 00005 #include <Inventor/events/SoKeyboardEvent.h> 00006 #include <Inventor/SbPImpl.h> 00007 00008 class SoMouseWheelEvent; 00009 class SoLocation2Event; 00010 class SoTouchManager; 00011 00012 SO_PIMPL_BASE_PUBLIC_DECLARATION(SoEventBuilder); 00013 00027 class SoEventBuilder 00028 { 00029 00030 SO_PIMPL_BASE_PUBLIC_HEADER(SoEventBuilder); 00031 00032 public: 00033 00035 SoEventBuilder(); 00036 00038 ~SoEventBuilder(); 00039 00050 SoMouseButtonEvent* getMouseReleaseEvent(int x, int y, SoMouseButtonEvent::Button buttonId, bool isAltDown, bool isCtrlDown, bool isShiftDown); 00051 00062 SoMouseButtonEvent* getMousePressEvent(int x, int y, SoMouseButtonEvent::Button buttonId, bool isAltDown, bool isCtrlDown, bool isShiftDown); 00063 00074 SoMouseButtonEvent* getMouseDoubleClickEvent(int x, int y, SoMouseButtonEvent::Button buttonId, bool isAltDown, bool isCtrlDown, bool isShiftDown); 00075 00085 SoMouseWheelEvent* getMouseWheelEvent(int delta, bool isAltDown, bool isCtrlDown, bool isShiftDown); 00086 00096 SoLocation2Event* getMouseMoveEvent(int x, int y, bool isAltDown, bool isCtrlDown, bool isShiftDown); 00097 00108 SoLocation2Event* getMouseEnterEvent(int x, int y, bool isAltDown, bool isCtrlDown, bool isShiftDown); 00109 00120 SoLocation2Event* getMouseLeaveEvent(int x, int y, bool isAltDown, bool isCtrlDown, bool isShiftDown); 00121 00130 SoKeyboardEvent* getKeyReleaseEvent(SoKeyboardEvent::Key key, bool isAltDown, bool isCtrlDown, bool isShiftDown); 00131 00132 00141 SoKeyboardEvent* getKeyPressEvent(SoKeyboardEvent::Key key, bool isAltDown, bool isCtrlDown, bool isShiftDown); 00142 00151 const std::vector<const SoEvent*>& getTouchDownEvent(int x, int y, unsigned long fingerId); 00152 00161 const std::vector<const SoEvent*>& getTouchUpEvent(int x, int y, unsigned long fingerId); 00162 00171 const std::vector<const SoEvent*>& getTouchMoveEvent(int x, int y, unsigned long fingerId); 00172 00176 SoTouchManager& getTouchManager() const; 00177 00178 }; 00179 00180 #endif // SO_EVENT_BUILDER 00181