From 7c59b83419809721f03a107d74be13434cf12597 Mon Sep 17 00:00:00 2001 From: scrawl Date: Fri, 14 Sep 2012 17:10:10 +0200 Subject: [PATCH] performance optimization --- apps/openmw/mwgui/inventorywindow.cpp | 16 ++++++++-------- apps/openmw/mwgui/inventorywindow.hpp | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/apps/openmw/mwgui/inventorywindow.cpp b/apps/openmw/mwgui/inventorywindow.cpp index f5091eea6..dffd14d17 100644 --- a/apps/openmw/mwgui/inventorywindow.cpp +++ b/apps/openmw/mwgui/inventorywindow.cpp @@ -44,8 +44,8 @@ namespace MWGui : ContainerBase(dragAndDrop) , WindowPinnableBase("openmw_inventory_window.layout", parWindowManager) , mTrading(false) - , mAvatarClickedPosX(0) - , mAvatarClickedPosY(0) + , mLastXSize(0) + , mLastYSize(0) { static_cast(mMainWidget)->eventWindowChangeCoord += MyGUI::newDelegate(this, &InventoryWindow::onWindowResize); @@ -102,13 +102,13 @@ namespace MWGui mRightPane->getPosition().top, _sender->getSize().width - 12 - (_sender->getSize().height-44) * aspect - 15, _sender->getSize().height-44 ); - drawItems(); - MyGUI::IntSize size = mAvatar->getSize(); - - MWBase::Environment::get().getWorld()->updateCharacterPreview (size.width, size.height); - mAvatarImage->setSize(MyGUI::IntSize(std::max(mAvatar->getSize().width, 512), std::max(mAvatar->getSize().height, 1024))); - mAvatarImage->setImageTexture("CharacterPreview"); + if (mMainWidget->getSize().width != mLastXSize || mMainWidget->getSize().height != mLastYSize) + { + drawItems(); + mLastXSize = mMainWidget->getSize().width; + mLastYSize = mMainWidget->getSize().height; + } } void InventoryWindow::onFilterChanged(MyGUI::Widget* _sender) diff --git a/apps/openmw/mwgui/inventorywindow.hpp b/apps/openmw/mwgui/inventorywindow.hpp index 288f32704..f17431597 100644 --- a/apps/openmw/mwgui/inventorywindow.hpp +++ b/apps/openmw/mwgui/inventorywindow.hpp @@ -40,8 +40,8 @@ namespace MWGui MyGUI::Button* mFilterMagic; MyGUI::Button* mFilterMisc; - int mAvatarClickedPosX; - int mAvatarClickedPosY; + int mLastXSize; + int mLastYSize; bool mTrading;