- trim long deck names in deck editor/ deck selection
- fixed a bug were the background was rendered in the items loop of the deck selection screen
This commit is contained in:
wagic.the.homebrew@gmail.com
2010-11-14 02:25:01 +00:00
parent b934f0a5ab
commit e758c7eea1
3 changed files with 22 additions and 17 deletions
-4
View File
@@ -8,10 +8,6 @@
using std::string;
#define SCALE_SELECTED 1.2f
#define SCALE_NORMAL 1.0f
class DeckMenuItem: public JGuiObject
{
private:
+13 -10
View File
@@ -172,17 +172,20 @@ void DeckMenu::Render()
mFont->SetScale( menuFontScale );
currentMenuItem->RenderWithOffset(-kLineHeight*startId);
}
RenderBackground();
if (!title.empty())
{
mFont->SetScale( titleFontScale );
mFont->DrawString(title.c_str(), titleX, titleY, JGETEXT_CENTER);
}
mFont->SetScale( 1.0f );
scroller->Render();
}
RenderBackground();
if (!title.empty())
{
mFont->SetColor(ARGB(255,255,255,255));
mFont->SetScale( titleFontScale );
mFont->DrawString(title.c_str(), titleX, titleY, JGETEXT_CENTER);
}
mFont->SetScale( 1.0f );
scroller->Render();
}
void DeckMenu::Update(float dt){
+9 -3
View File
@@ -4,6 +4,7 @@
#include "Translate.h"
#include "WResourceManager.h"
#define ITEM_PX_WIDTH 190.f
DeckMenuItem::DeckMenuItem(DeckMenu* _parent, int id, int fontId, string text, float x, float y, bool hasFocus, bool autoTranslate, DeckMetaData *deckMetaData)
: JGuiObject(id), parent(_parent), fontId(fontId), mX(x), mY(y)
@@ -12,8 +13,14 @@ DeckMenuItem::DeckMenuItem(DeckMenu* _parent, int id, int fontId, string text, f
mText = _(text);
else
mText = text;
mHasFocus = hasFocus;
//trim the string so that its width fits in the background.
//in the future we might want to replace this with a horizontal scrolling of long strings
WFont * mFont = resources.GetWFont(fontId);
while (mFont->GetStringWidth(mText.c_str()) > ITEM_PX_WIDTH)
mText.erase(mText.size()-1);
mHasFocus = hasFocus;
if (hasFocus)
Entering();
@@ -29,8 +36,7 @@ DeckMenuItem::DeckMenuItem(DeckMenu* _parent, int id, int fontId, string text, f
void DeckMenuItem::RenderWithOffset(float yOffset)
{
WFont * mFont = resources.GetWFont(fontId);
string displayName = mText;
mFont->DrawString(displayName.c_str(), mX, mY + yOffset, JGETEXT_CENTER);
mFont->DrawString(mText.c_str(), mX, mY + yOffset, JGETEXT_CENTER);
}
void DeckMenuItem::Render()