27 lines
753 B
C++
27 lines
753 B
C++
#pragma once
|
|
|
|
#include <SDL3/SDL.h>
|
|
#include <SDL3_ttf/SDL_ttf.h>
|
|
#include <utils.hpp>
|
|
#include <string>
|
|
#include <renderer/texture.hpp>
|
|
|
|
namespace Game::Renderer {
|
|
class Font : public Texture {
|
|
public:
|
|
Font(const std::string& path, SDL_Renderer* renderer, int ptSize, std::string id = "noname");
|
|
Font(const Font&);
|
|
Font& operator=(const Font&);
|
|
DISABLE_MOVE(Font);
|
|
~Font();
|
|
|
|
// Build the texture for the font; Call getSDLTexture() afterwards
|
|
void build(SDL_Color color, std::string text);
|
|
|
|
SDL_Texture* getSDLTexture();
|
|
std::string getId();
|
|
private:
|
|
TTF_Font* mFont;
|
|
SDL_Renderer* mRenderer;
|
|
};
|
|
} |