MCPcopy Create free account
hub / github.com/MyGUI/mygui / _resetMouseFocusWidget

Method _resetMouseFocusWidget

MyGUIEngine/src/MyGUI_InputManager.cpp:441–477  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

439 }
440
441 void InputManager::_resetMouseFocusWidget()
442 {
443 Widget* mouseFocus = mWidgetMouseFocus;
444 mWidgetMouseFocus = nullptr;
445
446 // recursively reset old widget focus
447 Widget* root_focus = mouseFocus;
448 while (root_focus != nullptr)
449 {
450 root_focus->_setRootMouseFocus(false);
451 root_focus->_riseMouseChangeRootFocus(false);
452 root_focus = root_focus->getParent();
453 }
454
455 for (int i = MouseButton::Button0; i < MouseButton::MAX; ++i)
456 {
457 if (mMouseCapture[i])
458 {
459 mMouseCapture[i] = false;
460 if (nullptr != mouseFocus)
461 {
462 mouseFocus->_riseMouseButtonReleased(
463 mLastPressed[i].left,
464 mLastPressed[i].top,
465 MouseButton::Enum(i));
466 }
467 }
468 }
469
470 if (nullptr != mouseFocus)
471 {
472 mouseFocus->_riseMouseLostFocus(nullptr);
473 }
474
475 if (mouseFocus != mWidgetMouseFocus)
476 eventChangeMouseFocus(mWidgetMouseFocus);
477 }
478
479 // удаляем данный виджет из всех возможных мест
480 void InputManager::_unlinkWidget(Widget* _widget)

Callers 1

_updateVisibleMethod · 0.80

Calls 6

_setRootMouseFocusMethod · 0.80
_riseMouseLostFocusMethod · 0.80
EnumEnum · 0.50
getParentMethod · 0.45

Tested by

no test coverage detected