summaryrefslogtreecommitdiff
path: root/src/guiEngine.cpp
diff options
context:
space:
mode:
authorEkdohibs <nathanael.courant@laposte.net>2016-05-31 17:30:11 +0200
committerEkdohibs <nathanael.courant@laposte.net>2016-05-31 17:34:29 +0200
commit14ef2b445adcec770defe1abf83af9d22ccf39d8 (patch)
treebe434ea35d6134f4e7b90a74283a21815ed079ee /src/guiEngine.cpp
parent1d40385d4aacf0cbea4b19ff06940e8c9bebaf47 (diff)
downloadminetest-14ef2b445adcec770defe1abf83af9d22ccf39d8.tar.gz
minetest-14ef2b445adcec770defe1abf83af9d22ccf39d8.tar.bz2
minetest-14ef2b445adcec770defe1abf83af9d22ccf39d8.zip
Add colored text (not only colored chat).
Add documentation, move files to a proper place and avoid memory leaks. Make it work with most kind of texts, and allow backgrounds too.
Diffstat (limited to 'src/guiEngine.cpp')
-rw-r--r--src/guiEngine.cpp23
1 files changed, 12 insertions, 11 deletions
diff --git a/src/guiEngine.cpp b/src/guiEngine.cpp
index ba286a91c..96de7a4f7 100644
--- a/src/guiEngine.cpp
+++ b/src/guiEngine.cpp
@@ -37,6 +37,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "log.h"
#include "fontengine.h"
#include "guiscalingfilter.h"
+#include "irrlicht_changes/static_text.h"
#ifdef __ANDROID__
#include "client/tile.h"
@@ -172,15 +173,16 @@ GUIEngine::GUIEngine( irr::IrrlichtDevice* dev,
m_sound_manager = &dummySoundManager;
//create topleft header
- std::wstring t = utf8_to_wide(std::string(PROJECT_NAME_C " ") +
+ m_toplefttext = utf8_to_wide(std::string(PROJECT_NAME_C " ") +
g_version_hash);
- core::rect<s32> rect(0, 0, g_fontengine->getTextWidth(t), g_fontengine->getTextHeight());
+ core::rect<s32> rect(0, 0, g_fontengine->getTextWidth(m_toplefttext.c_str()),
+ g_fontengine->getTextHeight());
rect += v2s32(4, 0);
m_irr_toplefttext =
- m_device->getGUIEnvironment()->addStaticText(t.c_str(),
- rect,false,true,0,-1);
+ addStaticText(m_device->getGUIEnvironment(), m_toplefttext,
+ rect, false, true, 0, -1);
//create formspecsource
m_formspecgui = new FormspecFormSource("");
@@ -578,7 +580,7 @@ void GUIEngine::setTopleftText(std::string append)
toset += utf8_to_wide(append);
}
- m_irr_toplefttext->setText(toset.c_str());
+ m_toplefttext = toset;
updateTopLeftTextSize();
}
@@ -586,15 +588,14 @@ void GUIEngine::setTopleftText(std::string append)
/******************************************************************************/
void GUIEngine::updateTopLeftTextSize()
{
- std::wstring text = m_irr_toplefttext->getText();
-
- core::rect<s32> rect(0, 0, g_fontengine->getTextWidth(text), g_fontengine->getTextHeight());
- rect += v2s32(4, 0);
+ core::rect<s32> rect(0, 0, g_fontengine->getTextWidth(m_toplefttext.c_str()),
+ g_fontengine->getTextHeight());
+ rect += v2s32(4, 0);
m_irr_toplefttext->remove();
m_irr_toplefttext =
- m_device->getGUIEnvironment()->addStaticText(text.c_str(),
- rect,false,true,0,-1);
+ addStaticText(m_device->getGUIEnvironment(), m_toplefttext,
+ rect, false, true, 0, -1);
}
/******************************************************************************/