Changed Font::getHeight to return a float like it should.

Added minimum message height to GuiMsgBox.
TextComponent now vertically centers text.
Fixed a bug that would cause ScraperSearchComponent to return results
continuously until another search was started.
This commit is contained in:
Aloshi 2014-03-19 13:10:30 -05:00
parent 8e5c910de3
commit daa62123d1
8 changed files with 15 additions and 11 deletions

View file

@ -334,8 +334,11 @@ void ScraperSearchComponent::update(int deltaTime)
{
if(mMDResolveHandle->status() == ASYNC_DONE)
{
ScraperSearchResult result = mMDResolveHandle->getResult();
mMDResolveHandle.reset();
// this might end in us being deleted, depending on mAcceptCallback - so make sure this is the last thing we do in update()
returnResult(mMDResolveHandle->getResult());
returnResult(result);
}else if(mMDResolveHandle->status() == ASYNC_ERROR)
{
onSearchError(mMDResolveHandle->getStatusString());

View file

@ -79,7 +79,7 @@ void TextComponent::render(const Eigen::Affine3f& parentTrans)
if(mCentered)
{
const Eigen::Vector2f& textSize = mTextCache->metrics.size;
Eigen::Vector3f off((getSize().x() - textSize.x()) / 2, 0, 0);
Eigen::Vector3f off((getSize().x() - textSize.x()) / 2, (getSize().y() - textSize.y()) / 2, 0);
trans.translate(off);
Renderer::setMatrix(trans);

View file

@ -206,7 +206,7 @@ void TextEditComponent::render(const Eigen::Affine3f& parentTrans)
cursorPos[1] = 0;
}
Renderer::drawRect((int)cursorPos.x(), (int)cursorPos.y(), 3, f->getHeight(), 0x000000FF);
Renderer::drawRect((int)cursorPos.x(), (int)cursorPos.y(), 3, (int)f->getHeight(), 0x000000FF);
}
Renderer::popClipRect();

View file

@ -129,7 +129,7 @@ void TextListComponent<T>::render(const Eigen::Affine3f& parentTrans)
}
const int cutoff = 0;
const int entrySize = font->getHeight() + 5;
const int entrySize = (int)font->getHeight() + 5;
int startEntry = 0;
@ -161,7 +161,7 @@ void TextListComponent<T>::render(const Eigen::Affine3f& parentTrans)
if(mCursor == i)
{
Renderer::setMatrix(trans);
Renderer::drawRect(0, (int)y, (int)mSize.x(), font->getHeight(), mSelectorColor);
Renderer::drawRect(0, (int)y, (int)mSize.x(), (int)font->getHeight(), mSelectorColor);
}
typename IList<TextListData, T>::Entry& entry = mEntries.at((unsigned int)i);

View file

@ -85,11 +85,11 @@ void GuiInputConfig::render(const Eigen::Affine3f& parentTrans)
stream << "PLAYER " << mTargetConfig->getPlayerNum() + 1 << ", press...";
font->drawText(stream.str(), Eigen::Vector2f(10, 10), 0x000000FF);
int y = 14 + font->getHeight();
int y = 14 + (int)font->getHeight();
for(int i = 0; i < mCurInputId; i++)
{
font->drawText(inputDispName[i], Eigen::Vector2f(10, y), 0x00CC00FF);
y += font->getHeight() + 5;
y += (int)font->getHeight() + 5;
}
if(mCurInputId >= inputCount)

View file

@ -59,7 +59,8 @@ GuiMsgBox::GuiMsgBox(Window* window, const std::string& text,
}
}
setSize(width, mMsg->getSize().y() + mButtonGrid->getSize().y() + BUTTON_VERT_PADDING);
const float msgHeight = std::max(Font::get(FONT_SIZE_LARGE)->getHeight(), mMsg->getSize().y());
setSize(width, msgHeight + mButtonGrid->getSize().y() + BUTTON_VERT_PADDING);
// center for good measure
setPosition((Renderer::getScreenWidth() - mSize.x()) / 2.0f, (Renderer::getScreenHeight() - mSize.y()) / 2.0f);

View file

@ -276,9 +276,9 @@ Eigen::Vector2f Font::sizeText(std::string text) const
return Eigen::Vector2f(highestWidth, y);
}
int Font::getHeight() const
float Font::getHeight() const
{
return (int)(mMaxGlyphHeight * 1.5f * fontScale);
return mMaxGlyphHeight * 1.5f * fontScale;
}

View file

@ -65,7 +65,7 @@ public:
void drawCenteredText(std::string text, float xOffset, float y, unsigned int color);
int getHeight() const;
float getHeight() const;
void unload(std::shared_ptr<ResourceManager>& rm) override;
void reload(std::shared_ptr<ResourceManager>& rm) override;