void ImageBox::updateSelectIndex(size_t _index) { mIndexSelect = _index; if ((_index == ITEM_NONE) || (_index >= mItems.size())) { _setTextureName(""); return; } else { _setTextureName(mCurrentTextureName); } VectorImages::iterator iter = mItems.begin() + _index; if (iter->images.size() < 2) { frameAdvise(false); } else { if ( ! mFrameAdvise) { mCurrentTime = 0; mCurrentFrame = 0; } frameAdvise(true); } if ( ! iter->images.empty()) { _setUVSet(iter->images.front()); } }
void Canvas::frameEntered( float _time ) { int width = mReqTexSize.width; int height = mReqTexSize.height; TextureUsage usage = getDefaultTextureUsage(); PixelFormat format = getDefaultTextureFormat(); validate( width, height, usage, format ); bool create = checkCreate( width, height ); if ( mTexResizeMode == TRM_PT_CONST_SIZE ) create = false; if ( create ) { createExactTexture( width, height, usage, format ); correctUV(); } else // I thought order is important { correctUV(); requestUpdateCanvas( this, Event( false, true, mInvalidateData ) ); } mInvalidateData = false; frameAdvise( false ); }
void Canvas::resize( const IntSize& _size ) { if ( _size.width <= 0 || _size.height <= 0 || ! mTexManaged ) return; mReqTexSize = _size; frameAdvise( true ); }
void MultiListBox::setSubItemNameAt(size_t _column, size_t _index, const UString& _name) { MYGUI_ASSERT_RANGE(_index, mVectorColumnInfo.begin()->list->getItemCount(), "MultiListBox::setSubItemAt"); size_t index = BiIndexBase::convertToBack(_index); getSubItemAt(_column)->setItemNameAt(index, _name); // если мы попортили список с активным сортом, надо пересчитывать if (_column == mSortColumnIndex) frameAdvise(true); }
void RenderBoxScene::setAnimation(const Ogre::String& _animation) { if (mEntity == nullptr) return; try { mAnimationState = mEntity->getAnimationState(_animation); mAnimationState->setEnabled(true); mAnimationState->setLoop(true); mAnimationState->setWeight(1); } catch (Ogre::ItemIdentityException&) { } frameAdvise(needFrameUpdate()); }
void RenderBoxScene::destroy() { clearScene(); if (mCanvas) { frameAdvise(false); mCanvas->eventMouseDrag = nullptr; mCanvas->eventMouseButtonPressed = nullptr; mCanvas->eventMouseButtonReleased = nullptr; Ogre::Root* root = Ogre::Root::getSingletonPtr(); if (root && mScene) root->destroySceneManager(mScene); mScene= nullptr; } RenderBox::destroy(); }
void MultiList2::sortList() { return; if (ITEM_NONE == mSortColumnIndex) return; ListBox* list = mVectorColumnInfo[mSortColumnIndex].list; size_t count = list->getItemCount(); if (0 == count) return; // shell sort int first; size_t last; for (size_t step = count >> 1; step > 0 ; step >>= 1) { for (size_t i = 0; i < (count - step); ++i) { first = (int)i; while (first >= 0) { last = first + step; if (compare(list, first, last)) { BiIndexBase::swapItemsBackAt(first, last); for (VectorColumnInfo::iterator iter = mVectorColumnInfo.begin(); iter != mVectorColumnInfo.end(); ++iter) { (*iter).list->swapItemsAt(first, last); } } first--; } } } frameAdvise(false); updateBackSelected(BiIndexBase::convertToBack(mItemSelected)); }
void MultiListBox::insertItemAt(size_t _index, const UString& _name, Any _data) { MYGUI_ASSERT(!mVectorColumnInfo.empty(), "MultiListBox::insertItemAt"); MYGUI_ASSERT_RANGE_INSERT(_index, mVectorColumnInfo.front().list->getItemCount(), "MultiListBox::insertItemAt"); if (ITEM_NONE == _index) _index = mVectorColumnInfo.front().list->getItemCount(); // если надо, то меняем выделенный элемент // при сортировке, обновится if ((mItemSelected != ITEM_NONE) && (_index <= mItemSelected)) mItemSelected ++; size_t index = BiIndexBase::insertItemAt(_index); // вставляем во все поля пустые, а потом присваиваем первому for (VectorColumnInfo::iterator iter = mVectorColumnInfo.begin(); iter != mVectorColumnInfo.end(); ++iter) { (*iter).list->insertItemAt(index, ""); } mVectorColumnInfo.front().list->setItemNameAt(index, _name); mVectorColumnInfo.front().list->setItemDataAt(index, _data); frameAdvise(true); }
void Canvas::shutdownOverride() { _destroyTexture(false); frameAdvise(false); }
void Canvas::updateTexture() { mInvalidateData = true; frameAdvise( true ); }
void RenderBoxScene::setAutoRotation(bool _auto) { mAutoRotation = _auto; frameAdvise(needFrameUpdate()); }
void ImageBox::shutdownOverride() { frameAdvise(false); Base::shutdownOverride(); }