summaryrefslogtreecommitdiff
path: root/text.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'text.cpp')
-rw-r--r--text.cpp41
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);
+}