From d0ee939a32fc7cec65a77d028d72881ee8ea1495 Mon Sep 17 00:00:00 2001 From: Ekaitz Zarraga Date: Sat, 10 Dec 2022 20:42:27 +0100 Subject: Move font support and clean --- src/graphics/textureFont.h | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/graphics/textureFont.h (limited to 'src/graphics/textureFont.h') diff --git a/src/graphics/textureFont.h b/src/graphics/textureFont.h new file mode 100644 index 0000000..aa89e50 --- /dev/null +++ b/src/graphics/textureFont.h @@ -0,0 +1,38 @@ +#ifndef GRAPHICS_FONT_H +#define GRAPHICS_FONT_H + +#include +#include +#include"SFML/Graphics.hpp" + +namespace Graphics { + class TextureFont { + public: + struct Descr { + std::string mapping; + unsigned int numrows, numcols; + }; + private: + const sf::Texture &tex_; + const Descr description_; + sf::Vector2f glyphSize_; + public: + TextureFont(const sf::Texture &texture, Descr desc); + std::array getGlyphMapping(const char ch); + sf::Vector2f getGlyphSize(); + const sf::Texture *getTexture(); + }; + + class Text : public sf::Drawable, public sf::Transformable { + private: + TextureFont &font_; + const std::string text_; + sf::VertexArray vertices_; + public: + Text(TextureFont &font, const std::string &text); + virtual void draw(sf::RenderTarget& target, + sf::RenderStates states) const override; + }; +} + +#endif // GRAPHICS_FONT_H -- cgit v1.2.3