From 2d916efa7963e6c247a451f3046f7bfce683737d Mon Sep 17 00:00:00 2001 From: Jon Bergli Heier Date: Fri, 28 Jan 2011 23:32:31 +0100 Subject: Added the Text class. --- text.cpp | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 text.cpp (limited to 'text.cpp') diff --git a/text.cpp b/text.cpp new file mode 100644 index 0000000..82aa606 --- /dev/null +++ b/text.cpp @@ -0,0 +1,41 @@ +#include "text.h" + +#include + +extern sf::RenderWindow *renderwindow; + +sf::Font *font = NULL; + +Text::Text(std::string str, int x, int y) { + if(!font) { + font = new sf::Font(); + font->LoadFromFile("fonts/VeraMono.ttf"); + } + string.SetSize(20); + string.SetFont(*font); + set_text(str); + set_position(x, y); +} + +void Text::draw() { + renderwindow->Draw(string); +} + +void Text::set_text(std::string str) { + string.SetText(str); +} + +void Text::set_position(int x, int y) { + float wf = (float)renderwindow->GetWidth() / 1024; + float hf = (float)renderwindow->GetHeight() / 768; + float xf = x * wf; + float yf = y * hf; + string.SetPosition(xf, yf); +} + +void Text::subtract_height() { + sf::FloatRect fr = string.GetRect(); + sf::Vector2f pos = string.GetPosition(); + pos.y -= fr.GetHeight(); + string.SetPosition(pos); +} -- cgit v1.2.3