void BerkeliumWidget::onMouseDrag(int _left, int _top, MouseButton _id) { if (mWindow != nullptr) mWindow->mouseMoved(_left - getAbsoluteLeft(), _top - getAbsoluteTop()); Base::onMouseDrag(_left, _top, _id); }
void BerkeliumWidget::onMouseMove(int _left, int _top) { if (mWindow != nullptr) mWindow->mouseMoved(_left - getAbsoluteLeft(), _top - getAbsoluteTop()); Base::onMouseMove(_left, _top); }
void CachedWidget::frameEntered(float dt) { MyGUI::IntSize size = getSize(); size.width = next_pot(size.width); size.height = next_pot(size.height); bool need_recreate = !m_target; if (!need_recreate) { if (size.width > m_target->getWidth()) need_recreate = true; if (size.height > m_target->getHeight()) need_recreate = true; } if (need_recreate) { if (m_target) { m_target->resize(size); } else { m_target = static_cast<mygui::RenderManager*>(MyGUI::RenderManager::getInstancePtr())->createTarget(size); } setRenderItemTexture(m_target->getTexture()); _updateView(); } else { if (!m_replaced_layer->isOutOfDate() && !m_render_content) return; } if (m_target) { m_target->begin(); Sandbox::Transform2d tr = m_target->graphics()->GetTransform(); m_target->graphics()->SetTransform(tr.translated(-getAbsoluteLeft(),-getAbsoluteTop()).translated(m_suboffset)); doRenderToTarget(m_target); m_target->graphics()->SetTransform(tr); m_target->end(); } }
void HikariWidget::onMouseWheel(int _rel) { const MyGUI::IntPoint& point = MyGUI::InputManager::getInstance().getMousePosition(); if (mControl) mControl->injectMouseWheel(_rel, point.left - getAbsoluteLeft(), point.top - getAbsoluteTop()); Base::onMouseWheel(_rel); }
void MenuControl::_setItemChildVisibleAt(size_t _index, bool _visible, bool _smooth) { MYGUI_ASSERT_RANGE(_index, mItemsInfo.size(), "MenuControl::setItemChildVisibleAt"); if (_visible) { if (mItemsInfo[_index].submenu && mItemsInfo[_index].submenu->getItemCount()) { int offset = mItemsInfo[0].item->getAbsoluteTop() - getAbsoluteTop(); const IntCoord& coord = mItemsInfo[_index].item->getAbsoluteCoord(); IntPoint point(getAbsoluteRect().right, coord.top - offset); MenuControl* menu = mItemsInfo[_index].submenu; if (mVerticalAlignment) { // too wide if (point.left + menu->getWidth() > menu->getParentSize().width) { // move to the left side if possible if (point.left - menu->getWidth() - getWidth() > 0) point.left -= menu->getWidth() + getWidth(); // or put near right parent border (window) if too wide for left side too else point.left = menu->getParentSize().width - menu->getWidth(); } // too high (same logic as for too wide) if (point.top + menu->getHeight() > menu->getParentSize().height) { // move to the top side if possible if (point.top - menu->getHeight() - getHeight() > 0) point.top -= menu->getHeight() + getHeight(); // or put near bottom parent border (window) if too high for top side too else point.top = menu->getParentSize().height - menu->getHeight(); } } else { point.set(coord.left, getAbsoluteRect().bottom); } menu->setPosition(point); if (_smooth) menu->setVisibleSmooth(true); else menu->setVisible(true); MyGUI::LayerManager::getInstance().upLayerItem(menu); } } else { if (mItemsInfo[_index].submenu) { if (_smooth) mItemsInfo[_index].submenu->setVisibleSmooth(false); else mItemsInfo[_index].submenu->setVisible(false); } } }
void TabControl::onWidgetCreated(Widget* _widget) { Base::onWidgetCreated(_widget); TabItem* child = _widget->castType<TabItem>(false); if (child != nullptr) { child->setCoord(_getWidgetTemplate()->getAbsoluteLeft() - getAbsoluteLeft(), _getWidgetTemplate()->getAbsoluteTop() - getAbsoluteTop(), _getWidgetTemplate()->getWidth(), _getWidgetTemplate()->getHeight()); child->setAlign(_getWidgetTemplate()->getAlign()); _insertItem(ITEM_NONE, "", child, Any::Null); } }
void HikariWidget::onMouseButtonReleased(int _left, int _top, MyGUI::MouseButton _id) { if (_id == MyGUI::MouseButton::Left && mControl) mControl->injectMouseUp(_left - getAbsoluteLeft(), _top - getAbsoluteTop()); Base::onMouseButtonReleased(_left, _top, _id); }
void HikariWidget::onMouseMove(int _left, int _top) { if (mControl) mControl->injectMouseMove(_left - getAbsoluteLeft(), _top - getAbsoluteTop()); Base::onMouseMove(_left, _top); }
void HikariWidget::onMouseDrag(int _left, int _top, MyGUI::MouseButton _id) { if (mControl) mControl->injectMouseMove(_left - getAbsoluteLeft(), _top - getAbsoluteTop()); Base::onMouseDrag(_left, _top, _id); }