Actualizando las librerias a la ultima versión

This commit is contained in:
2022-09-26 10:34:45 +02:00
parent 9e089e9092
commit 26bc47d9f6
5 changed files with 102 additions and 105 deletions

View File

@@ -1,6 +1,5 @@
#pragma once
#include <SDL2/SDL.h>
#include "sprite.h"
#include "utils.h"
@@ -12,37 +11,38 @@
#define TXT_CENTER 4
#define TXT_STROKE 8
// Clase Text. Pinta texto en pantalla a partir de una cadena y un bitmap
// Clase texto. Pinta texto en pantalla a partir de un bitmap
class Text
{
private:
Sprite *mSprite; // Objeto con los graficos para el texto
Sprite *sprite; // Objeto con los graficos para el texto
struct Offset
{
int x; // Posición en el eje X dentro del bitmap
int y; // Posición en el eje Y dentro del bitmap
Uint8 w; // Ancho en pixeles de la letra
int x;
int y;
int w;
};
Offset mOffset[128]; // Vector con las posiciones y ancho de cada letra
Offset offset[128]; // Vector con las posiciones y ancho de cada letra
Uint8 mBoxWidth; // Anchura de la caja de cada caracter en el png
Uint8 mBoxHeight; // Altura de la caja de cada caracter en el png
std::string mFile; // Fichero con los descriptores de la fuente
int boxWidth; // Anchura de la caja de cada caracter en el png
int boxHeight; // Altura de la caja de cada caracter en el png
std::string file; // Fichero con los descriptores de la fuente
LTexture *texture; // Textura con los bitmaps del texto
// Inicializador
void init();
// Inicializa el vector de offsets desde un fichero
void initOffsetFromFile();
public:
// Constructor
Text(std::string file, LTexture *texture, SDL_Renderer *renderer);
Text(std::string bitmapFile, std::string textFile, SDL_Renderer *renderer);
// Destructor
~Text();
// Inicializador
void init();
// Escribe el texto en pantalla
void write(int x, int y, std::string text, int kerning = 1, int lenght = -1);
@@ -52,17 +52,20 @@ public:
// Escribe el texto con sombra
void writeShadowed(int x, int y, std::string text, color_t color, Uint8 shadowDistance = 1, int kerning = 1, int lenght = -1);
// Escribe el texto centrado en un punto x y con kerning
// Escribe el texto centrado en un punto x
void writeCentered(int x, int y, std::string text, int kerning = 1, int lenght = -1);
// Escribe texto con extras
void writeDX(Uint8 flags, int x, int y, std::string text, int kerning = 1, color_t textColor = {255, 255, 255}, Uint8 shadowDistance = 1, color_t shadowColor = {0, 0, 0}, int lenght = -1);
// Obtiene la longitud en pixels de una cadena
Uint16 lenght(std::string text, int kerning = 1);
int lenght(std::string text, int kerning = 1);
// Devuelve el valor de la variable
Uint8 getCharacterWidth();
int getCharacterSize();
// Recarga la textura
void reLoadTexture();
};
#endif