diff --git a/projects/mtg/include/DeckMenuItem.h b/projects/mtg/include/DeckMenuItem.h index 93e4f2e97..09cf9eb51 100644 --- a/projects/mtg/include/DeckMenuItem.h +++ b/projects/mtg/include/DeckMenuItem.h @@ -8,10 +8,6 @@ using std::string; -#define SCALE_SELECTED 1.2f -#define SCALE_NORMAL 1.0f - - class DeckMenuItem: public JGuiObject { private: diff --git a/projects/mtg/src/DeckMenu.cpp b/projects/mtg/src/DeckMenu.cpp index 3b3a9d9aa..44315f51f 100644 --- a/projects/mtg/src/DeckMenu.cpp +++ b/projects/mtg/src/DeckMenu.cpp @@ -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){ diff --git a/projects/mtg/src/DeckMenuItem.cpp b/projects/mtg/src/DeckMenuItem.cpp index d53a20e28..24b2b5b69 100644 --- a/projects/mtg/src/DeckMenuItem.cpp +++ b/projects/mtg/src/DeckMenuItem.cpp @@ -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()