diff options
author | Ira Rice <irarice@gmail.com> | 2009-03-05 23:13:55 -0700 |
---|---|---|
committer | Ira Rice <irarice@gmail.com> | 2009-03-05 23:13:55 -0700 |
commit | aa4229cbb9f2b264ca96c3beedc66b1c79ccc1f5 (patch) | |
tree | 19c5a75a766b7df51ae468fb6b8fdbcfd2c6cc72 /src/gui/speechbubble.cpp | |
parent | 93e45964f3b7a0735984616f622ec32b40a21781 (diff) | |
download | mana-aa4229cbb9f2b264ca96c3beedc66b1c79ccc1f5.tar.gz mana-aa4229cbb9f2b264ca96c3beedc66b1c79ccc1f5.tar.bz2 mana-aa4229cbb9f2b264ca96c3beedc66b1c79ccc1f5.tar.xz mana-aa4229cbb9f2b264ca96c3beedc66b1c79ccc1f5.zip |
Made some optimizations based on some profiling done by Octalot, as well
as some other optimizations that I could see that cut down on some
unneeded redraws, which in turn improved frame rates slightly.
Signed-off-by: Ira Rice <irarice@gmail.com>
Diffstat (limited to 'src/gui/speechbubble.cpp')
-rw-r--r-- | src/gui/speechbubble.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/gui/speechbubble.cpp b/src/gui/speechbubble.cpp index 209f964b..d54bf9ad 100644 --- a/src/gui/speechbubble.cpp +++ b/src/gui/speechbubble.cpp @@ -32,7 +32,8 @@ #include "../utils/gettext.h" SpeechBubble::SpeechBubble(): - Window(_("Speech"), false, NULL, "graphics/gui/speechbubble.xml") + Window(_("Speech"), false, NULL, "graphics/gui/speechbubble.xml"), + mText("") { setContentSize(140, 46); setShowTitle(false); @@ -67,10 +68,13 @@ void SpeechBubble::setCaption(const std::string &name, const gcn::Color &color) mCaption->setForegroundColor(color); } -void SpeechBubble::setText(std::string mText, bool showName) +void SpeechBubble::setText(std::string text, bool showName) { + if ((text == mText) && (mCaption->getWidth() <= mSpeechBox->getMinWidth())) + return; + int width = mCaption->getWidth(); - mSpeechBox->setTextWrapped(mText, 130 > width ? 130 : width); + mSpeechBox->setTextWrapped(text, 130 > width ? 130 : width); const int fontHeight = getFont()->getHeight(); const int numRows = showName ? mSpeechBox->getNumberOfRows() + 1 : |