16#ifndef OSGWIDGET_WINDOW_MANAGER
17#define OSGWIDGET_WINDOW_MANAGER
42 WM_USE_LUA = 0x00000001,
43 WM_USE_PYTHON = 0x00000002,
44 WM_USE_RENDERBINS = 0x00000004,
45 WM_PICK_DEBUG = 0x00000008
51 PD_RIGHT = 0x00000002,
57 PFM_FOCUS = 0x00000000,
58 PFM_UNFOCUS = 0x00000001,
59 PFM_SLOPPY = 0x00000002
116 return (_flags & WM_USE_LUA) != 0;
120 return (_flags & WM_USE_PYTHON) != 0;
124 return (_flags & WM_USE_RENDERBINS) != 0;
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;
190 return _lastHorizontal == PD_RIGHT;
194 return _lastVertical != PD_NONE;
198 return _lastHorizontal != PD_NONE;
222 return setFocused(getByName(name));
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;
315 EventInterface* _lastEvent;
316 EventInterface* _lastPush;
317 PointerDirection _lastVertical;
318 PointerDirection _lastHorizontal;
319 PointerFocusMode _focusMode;
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();
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
Definition observer_ptr:39