From cf4a8c96a0a3b1910a2094cc1e967e720111abb8 Mon Sep 17 00:00:00 2001 From: Bjørn Lindeijer Date: Thu, 16 Jun 2005 13:36:04 +0000 Subject: Fixed cutting off bottom item row of inventory in some cases --- src/gui/itemcontainer.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'src/gui/itemcontainer.cpp') diff --git a/src/gui/itemcontainer.cpp b/src/gui/itemcontainer.cpp index cdf77436..1a95c857 100644 --- a/src/gui/itemcontainer.cpp +++ b/src/gui/itemcontainer.cpp @@ -39,7 +39,8 @@ ItemContainer::ItemContainer() selectedItem = -1; // No item selected - for (int i = 0; i < INVENTORY_SIZE; i++) { + for (int i = 0; i < INVENTORY_SIZE; i++) + { items[i].id = -1; items[i].quantity = 0; items[i].equipment = false; @@ -120,6 +121,23 @@ void ItemContainer::draw(gcn::Graphics* graphics) } } +void ItemContainer::setWidth(int width) +{ + gcn::Widget::setWidth(width); + + int gridWidth = itemset->spriteset[0]->getWidth() + 4; + int gridHeight = itemset->spriteset[0]->getHeight() + 10; + int columns = getWidth() / gridWidth; + + if (columns < 1) + { + columns = 1; + } + + setHeight(((INVENTORY_SIZE / columns) + + (INVENTORY_SIZE % columns > 0 ? 1 : 0)) * gridHeight); +} + int ItemContainer::getIndex() { return selectedItem; -- cgit v1.2.3-70-g09d2