16#ifndef OSGWIDGET_WINDOW_MANAGER
17#define OSGWIDGET_WINDOW_MANAGER
146 return _python.get();
150 return _python.get();
154 return _styleManager.get();
158 return _styleManager.get();
162 return _lastVertical;
166 return _lastHorizontal;
174 return _lastVertical | _lastHorizontal;
178 return _lastVertical ==
PD_UP;
182 return _lastVertical ==
PD_DOWN;
186 return _lastHorizontal ==
PD_LEFT;
194 return _lastVertical !=
PD_NONE;
198 return _lastHorizontal !=
PD_NONE;
255 return _handleMousePushed(x, y, _leftDown);
259 return _handleMousePushed(x, y, _middleDown);
263 return _handleMousePushed(x, y, _rightDown);
267 return _handleMouseReleased(x, y, _leftDown);
271 return _handleMouseReleased(x, y, _middleDown);
275 return _handleMouseReleased(x, y, _rightDown);
288 struct WindowZCompare
290 bool operator()(
const ptr_type& x,
const ptr_type& y) {
291 return x.get()->getZ() > y.get()->getZ();
296 struct WindowBinNumberCompare
298 bool operator()(
const ptr_type& x,
const ptr_type& y) {
300 x.get()->getOrCreateStateSet()->getBinNumber() >
301 y.get()->getOrCreateStateSet()->getBinNumber()
311 unsigned int _nodeMask;
312 osgViewer::View* _view;
315 EventInterface* _lastEvent;
316 EventInterface* _lastPush;
317 PointerDirection _lastVertical;
318 PointerDirection _lastHorizontal;
319 PointerFocusMode _focusMode;
326 osg::ref_ptr<ScriptEngine> _lua;
327 osg::ref_ptr<ScriptEngine> _python;
328 osg::ref_ptr<StyleManager> _styleManager;
330 osg::observer_ptr<Widget> _widget;
331 osg::observer_ptr<Window> _focused;
332 osg::observer_ptr<Window> _pickWindow;
334 void childInserted (
unsigned int);
335 void childRemoved (
unsigned int,
unsigned int);
337 bool _handleMousePushed (
float,
float,
bool&);
338 bool _handleMouseReleased (
float,
float,
bool&);
339 bool _handleMouseScrolled (
float,
float,
bool =
false);
340 void _getPointerXYDiff (
float&,
float&);
341 void _updatePickWindow (
const WidgetList*, point_type, point_type);
349 if(!container.size())
return 0;
352 for(
typename T::iterator i = container.begin(); i != container.end(); i++) {
353 Widget* widget = i->get();
368 Window* parent = container.back()->getParent();
375 for(WindowList::iterator i = windowList.begin(); i != windowList.end(); i++) {
376 Window* window = i->get();
@ RIGHT_MOUSE_BUTTON
Definition GUIEventAdapter:88
@ MIDDLE_MOUSE_BUTTON
Definition GUIEventAdapter:87
@ LEFT_MOUSE_BUTTON
Definition GUIEventAdapter:86
ScrollingMotion
Definition GUIEventAdapter:360
@ SCROLL_DOWN
Definition GUIEventAdapter:365
@ SCROLL_UP
Definition GUIEventAdapter:364
std::multiset< Intersection > Intersections
Definition LineSegmentIntersector:74
Definition osgViewer/View:76