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

Method notifyMouseButtonPressed

MyGUIEngine/src/MyGUI_ItemBox.cpp:604–640  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

602 }
603
604 void ItemBox::notifyMouseButtonPressed(Widget* _sender, int _left, int _top, MouseButton _id)
605 {
606 mouseButtonPressed(_id);
607
608 if (MouseButton::Left == _id)
609 {
610 size_t old = mIndexSelect;
611
612 if (_sender == _getClientWidget())
613 {
614 // сбрасываем выделение
615 setIndexSelected(ITEM_NONE);
616 }
617 else
618 {
619 // индекс отправителя
620 mDropSenderIndex = getIndexByWidget(_sender);
621
622 // выделенный елемент
623 setIndexSelected(mDropSenderIndex);
624 }
625
626 // смещение внутри виджета, куда кликнули мышкой
627 mClickInWidget =
628 InputManager::getInstance().getLastPressedPosition(MouseButton::Left) - _sender->getAbsolutePosition();
629
630 // отсылаем событие
631 eventMouseItemActivate(this, mIndexSelect);
632 // смену позиции отсылаем только при реальном изменении
633 if (old != mIndexSelect)
634 eventChangeItemPosition(this, mIndexSelect);
635 }
636
637 eventNotifyItem(
638 this,
639 IBNotifyItemData(getIndexByWidget(_sender), IBNotifyItemData::MousePressed, _left, _top, _id));
640 }
641
642 void ItemBox::notifyMouseButtonReleased(Widget* _sender, int _left, int _top, MouseButton _id)
643 {

Callers

nothing calls this directly

Calls 1

IBNotifyItemDataFunction · 0.50

Tested by

no test coverage detected