#pragma once #include "sprite.h" #ifndef TEXT_H #define TEXT_H // Clase texto. Pinta texto en pantalla a partir de un bitmap class Text { private: Sprite *mSprite;// Objeto con los graficos para el texto struct Offset { int x; int y; Uint8 w; }; Offset mOffset[255];// Vector con las posiciones y ancho de cada letra Uint8 mType;// Indica si el texto es de anchura fija o variable Uint8 mSize;// Altura del texto public: // Constructor Text(); // Destructor ~Text(); // Inicializador void init(LTexture *texture, SDL_Renderer *renderer, Uint8 type, Uint8 size); // Escribe el texto en pantalla void write(int x, int y, std::string text); void write(int x, int y, std::string text, int kerning); void write(int x, int y, std::string text, int kerning, Uint8 lenght); // Escribe el texto con colores void writeColored(int x, int y, std::string text, Uint8 R, Uint8 G, Uint8 B); // Escribe el texto con sombra void writeShadowed(int x, int y, std::string text, Uint8 R, Uint8 G, Uint8 B); // Escribe el texto centrado en un punto x y con kerning void writeCentered(int x, int y, std::string text, int kerning = 0); // Obtiene la longitud en pixels de una cadena Uint16 lenght(std::string text, int kerning); // Obtiene el valor de la variable Uint8 getType(); // Establece el valor de la variable void setType(Uint8 type); // Obtiene el valor de la variable Uint8 getSize(); // Establece el valor de la variable void setSize(Uint8 size); }; #endif