forked from jaildesigner-jailgames/coffee_crisis
release v1.3 beta 1
This commit is contained in:
66
source/text.h
Normal file
66
source/text.h
Normal file
@@ -0,0 +1,66 @@
|
||||
#pragma once
|
||||
#include "sprite.h"
|
||||
|
||||
#ifndef TEXT_H
|
||||
#define TEXT_H
|
||||
|
||||
// Clase texto. Pinta texto en pantalla a partir de un bitmap
|
||||
class Text
|
||||
{
|
||||
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 centrado en un punto x y con kerning
|
||||
void writeCentered(int x, int y, std::string text, int kerning);
|
||||
|
||||
// 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);
|
||||
|
||||
private:
|
||||
// Objeto con los graficos para el texto
|
||||
Sprite *mSprite;
|
||||
|
||||
// Coordenadas dentro del PNG para cada código ascii y su anchura
|
||||
struct Offset
|
||||
{
|
||||
int x;
|
||||
int y;
|
||||
Uint8 w;
|
||||
};
|
||||
|
||||
// Vector con las posiciones y ancho de cada letra
|
||||
Offset mOffset[255];
|
||||
|
||||
// Indica si el texto es de anchura fija o variable
|
||||
Uint8 mType;
|
||||
Uint8 mSize;
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user