diff options
Diffstat (limited to 'text.cpp')
-rw-r--r-- | text.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
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 <SFML/Graphics/RenderWindow.hpp> + +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); +} |