void ColourPanel::updateFirst() { notifyScrollChangePosition(nullptr, mScrollRange->getScrollPosition()); notifyMouseDrag(nullptr, mImageColourPicker->getAbsoluteLeft() + (mColourRect->getWidth() / 2), mImageColourPicker->getAbsoluteTop() + (mColourRect->getHeight() / 2), MyGUI::MouseButton::Left); }
void ItemBox::updateFromResize(const IntSize& _size) { int old_count = mCountItemInLine; updateMetrics(); updateScroll(); // если колличество айтемов в строке изменилось, то перерисовываем все if (old_count == mCountItemInLine) { // если строк стало меньшн то ничего не нужно if (_size.height >= mCoord.height) return; } notifyScrollChangePosition(null, mWidgetScroll->getScrollPosition()); _redrawAllVisible(); }
void ItemBox::notifyMouseWheel(MyGUI::WidgetPtr _sender, int _rel) { if (mRangeIndex <= 0) return; int offset = (int)mWidgetScroll->getScrollPosition(); if (_rel < 0) offset += mSizeItem.height; else offset -= mSizeItem.height; if (offset >= mRangeIndex) offset = mRangeIndex; else if (offset < 0) offset = 0; if ((int)mWidgetScroll->getScrollPosition() == offset) return; mWidgetScroll->setScrollPosition(offset); notifyScrollChangePosition(null, offset); }
void ListBox::beginToItemAt(size_t _index) { MYGUI_ASSERT_RANGE(_index, mItemsInfo.size(), "ListBox::beginToItemAt"); if (mRangeIndex <= 0) return; int offset = (int)_index * mHeightLine; if (offset >= mRangeIndex) offset = mRangeIndex; if (mWidgetScroll != nullptr) { if ((int)mWidgetScroll->getScrollPosition() == offset) return; mWidgetScroll->setScrollPosition(offset); } notifyScrollChangePosition(nullptr, offset); #if MYGUI_DEBUG_MODE == 1 _checkMapping("ListBox::beginToItemAt"); #endif }