From 8611b3c1ea3316bfc4740149b8f41c35dacee7c1 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 28 Jun 2012 00:31:06 +0300 Subject: Change texture order drawing in item containers. --- src/gui/widgets/dropshortcutcontainer.cpp | 20 +++++++++++++------- src/gui/widgets/emoteshortcutcontainer.cpp | 21 ++++++++++++++++----- src/gui/widgets/itemshortcutcontainer.cpp | 22 ++++++++++++++-------- src/gui/widgets/spellshortcutcontainer.cpp | 16 +++++++++++----- 4 files changed, 54 insertions(+), 25 deletions(-) (limited to 'src/gui/widgets') diff --git a/src/gui/widgets/dropshortcutcontainer.cpp b/src/gui/widgets/dropshortcutcontainer.cpp index 167ba2b5a..af3b78a31 100644 --- a/src/gui/widgets/dropshortcutcontainer.cpp +++ b/src/gui/widgets/dropshortcutcontainer.cpp @@ -103,21 +103,27 @@ void DropShortcutContainer::draw(gcn::Graphics *graphics) graphics->setFont(getFont()); + if (mBackgroundImg) + { + for (unsigned i = 0; i < mMaxItems; i++) + { + g->drawImage(mBackgroundImg, (i % mGridWidth) * mBoxWidth, + (i / mGridWidth) * mBoxHeight); + } + } + + Inventory *inv = PlayerInfo::getInventory(); + if (!inv) + return; + for (unsigned i = 0; i < mMaxItems; i++) { const int itemX = (i % mGridWidth) * mBoxWidth; const int itemY = (i / mGridWidth) * mBoxHeight; - if (mBackgroundImg) - g->drawImage(mBackgroundImg, itemX, itemY); - if (dropShortcut->getItem(i) < 0) continue; - Inventory *inv = PlayerInfo::getInventory(); - if (!inv) - return; - Item *item = inv->findItem(dropShortcut->getItem(i), dropShortcut->getItemColor(i)); diff --git a/src/gui/widgets/emoteshortcutcontainer.cpp b/src/gui/widgets/emoteshortcutcontainer.cpp index f1f040966..aaf22c066 100644 --- a/src/gui/widgets/emoteshortcutcontainer.cpp +++ b/src/gui/widgets/emoteshortcutcontainer.cpp @@ -109,23 +109,34 @@ void EmoteShortcutContainer::draw(gcn::Graphics *graphics) graphics->setFont(getFont()); + if (mBackgroundImg) + { + for (unsigned i = 0; i < mMaxItems; i++) + { + g->drawImage(mBackgroundImg, (i % mGridWidth) * mBoxWidth, + (i / mGridWidth) * mBoxHeight); + } + } + for (unsigned i = 0; i < mMaxItems; i++) { const int emoteX = (i % mGridWidth) * mBoxWidth; const int emoteY = (i / mGridWidth) * mBoxHeight; - if (mBackgroundImg) - g->drawImage(mBackgroundImg, emoteX, emoteY); - // Draw emote keyboard shortcut. std::string key = inputManager.getKeyValueString( Input::KEY_EMOTE_1 + i); graphics->setColor(getForegroundColor()); g->drawText(key, emoteX + 2, emoteY + 2, gcn::Graphics::LEFT); - + } + for (unsigned i = 0; i < mMaxItems; i++) + { if (i < mEmoteImg.size() && mEmoteImg[i] && mEmoteImg[i]->sprite) - mEmoteImg[i]->sprite->draw(g, emoteX + 2, emoteY + 10); + { + mEmoteImg[i]->sprite->draw(g, (i % mGridWidth) * mBoxWidth + 2, + (i / mGridWidth) * mBoxHeight + 10); + } } if (mEmoteMoved && mEmoteMoved < static_cast( diff --git a/src/gui/widgets/itemshortcutcontainer.cpp b/src/gui/widgets/itemshortcutcontainer.cpp index 4d9e6dd2d..0585f59cd 100644 --- a/src/gui/widgets/itemshortcutcontainer.cpp +++ b/src/gui/widgets/itemshortcutcontainer.cpp @@ -113,14 +113,24 @@ void ItemShortcutContainer::draw(gcn::Graphics *graphics) graphics->setFont(getFont()); + if (mBackgroundImg) + { + for (unsigned i = 0; i < mMaxItems; i++) + { + g->drawImage(mBackgroundImg, (i % mGridWidth) * mBoxWidth, + (i / mGridWidth) * mBoxHeight); + } + } + + Inventory *inv = PlayerInfo::getInventory(); + if (!inv) + return; + for (unsigned i = 0; i < mMaxItems; i++) { const int itemX = (i % mGridWidth) * mBoxWidth; const int itemY = (i / mGridWidth) * mBoxHeight; - if (mBackgroundImg) - g->drawImage(mBackgroundImg, itemX, itemY); - // Draw item keyboard shortcut. std::string key = inputManager.getKeyValueString( Input::KEY_SHORTCUT_1 + i); @@ -137,11 +147,7 @@ void ItemShortcutContainer::draw(gcn::Graphics *graphics) // this is item if (itemId < SPELL_MIN_ID) { - if (!PlayerInfo::getInventory()) - continue; - - Item *item = PlayerInfo::getInventory()->findItem( - itemId, itemColor); + Item *item = inv->findItem(itemId, itemColor); if (item) { diff --git a/src/gui/widgets/spellshortcutcontainer.cpp b/src/gui/widgets/spellshortcutcontainer.cpp index 07ecbfaf0..7818dc8dc 100644 --- a/src/gui/widgets/spellshortcutcontainer.cpp +++ b/src/gui/widgets/spellshortcutcontainer.cpp @@ -111,20 +111,26 @@ void SpellShortcutContainer::draw(gcn::Graphics *graphics) int selectedId = spellShortcut->getSelectedItem(); g->setColor(getForegroundColor()); + if (mBackgroundImg) + { + for (unsigned i = 0; i < mMaxItems; i++) + { + g->drawImage(mBackgroundImg, (i % mGridWidth) * mBoxWidth, + (i / mGridWidth) * mBoxHeight); + } + } + for (unsigned i = 0; i < mMaxItems; i++) { const int itemX = (i % mGridWidth) * mBoxWidth; const int itemY = (i / mGridWidth) * mBoxHeight; - g->drawImage(mBackgroundImg, itemX, itemY); - int itemId = spellShortcut->getItem( (mNumber * SPELL_SHORTCUT_ITEMS) + i); if (selectedId >= 0 && itemId == selectedId) { - g->drawRectangle(gcn::Rectangle( - itemX + 1, itemY + 1, - mBoxWidth - 1, mBoxHeight - 1)); + g->drawRectangle(gcn::Rectangle(itemX + 1, itemY + 1, + mBoxWidth - 1, mBoxHeight - 1)); } if (!spellManager) -- cgit v1.2.3-70-g09d2