Projeto IDJ - Towers Of Madness
TowerDefenseLovecraftnianoZombicida
|
Classe que modela textos. Mais...
#include <Text.h>
Métodos Públicos | |
Text (string fontFile, int fontSize, TextStyle style, SDL_Color color, bool isStrobing=false, int x=0, int y=0) | |
Construtor. Mais... | |
~Text () | |
Destrutor. Mais... | |
void | Update (float dt) |
Update. Mais... | |
void | Render (int CameraX=0, int cameraY=0) const |
Renderiza Texto. Mais... | |
void | SetPos (int x, int y, bool centerX=false, bool centerY=false) |
Altera a posição do texto na tela. Mais... | |
void | SetText (string text) |
Altera o texto. Mais... | |
void | SetColor (SDL_Color color) |
Altera a cor. Mais... | |
void | SetStyle (TextStyle style) |
Altera o estilo. Mais... | |
void | SetFontSize (int fontSize) |
Altera o tamanho da fonte. Mais... | |
Vec2 | GetSize (void) const |
Obtém o tamanho do texto. Mais... | |
void | SetTimeShown (float newTime) |
Altera tempo mostrado enquanto pisca. Mais... | |
void | SetStrobeFrequency (float fullTime) |
Altera tempo de piscagem. Mais... | |
Métodos Privados | |
void | RemakeTexture (void) |
Cria a textura que contém o texto. Mais... | |
Atributos Privados | |
std::shared_ptr< TTF_Font > | font |
SDL_Texture * | texture |
string | text |
TextStyle | style |
int | fontSize |
SDL_Color | color |
Timer | textTime |
Rect | box |
string | fontFile |
bool | isStrobe |
float | strobeFrequency |
float | timeShown |
Classe que modela textos.
Os textos são lidos a partir de arquivos ttf, renderizados com base em um TextStyle, com um tamanho pré-informado e a partir de uma coordena (x, y). Internamente gerencia uma textura desse texto pré-renderizado.
Text::Text | ( | string | fontFile, |
int | fontSize, | ||
TextStyle | style, | ||
SDL_Color | color, | ||
bool | isStrobing = false , |
||
int | x = 0 , |
||
int | y = 0 |
||
) |
Construtor.
fontFile | Arquivo ttf da fonte. |
fontSize | Tamanho da fonte. |
style | Como o texto será renderizado, veja TextStyle para mais informações. |
color | Cor do texto renderizado. |
isStrobing | define se tempo deve piscar. |
x | Coordenada x a partir do qual o texto deve ser renderizado. |
y | Coordenada y a partir do qual o texto deve ser renderizado. |
Instância um Text com os argumentos informados.
Text::~Text | ( | ) |
Destrutor.
Destrói o Text, a textura interna também é destruída para não ter memory leak.
Vec2 Text::GetSize | ( | void | ) | const |
Obtém o tamanho do texto.
Obtém o tamanho do texto em pixels.
|
private |
Cria a textura que contém o texto.
Se existir um textura anteriormente, esta é destruída. Então uma nova é feita com base no estado atual do Text.
void Text::Render | ( | int | CameraX = 0 , |
int | cameraY = 0 |
||
) | const |
Renderiza Texto.
Renderiza o texto na posição informada. Checa se o texto deve piscar e trata esta piscagem com o tempo textTime.
void Text::SetColor | ( | SDL_Color | color | ) |
Altera a cor.
Altera a cor do texto. Para essa modificação fazer efeito a textura precisa ser refeita.
void Text::SetFontSize | ( | int | fontSize | ) |
Altera o tamanho da fonte.
Altera o estilo do texto. Para essa modificação fazer efeito a textura precisa ser refeita.
void Text::SetPos | ( | int | x, |
int | y, | ||
bool | centerX = false , |
||
bool | centerY = false |
||
) |
Altera a posição do texto na tela.
centerX | Verdadeiro caso queira que o texto se centralize horizontalmente. Falso caso contrário. |
centerY | Verdadeiro caso queira que o texto se centralize verticalmente. Falso caso contrário. |
Altera a posição do texto na tela. Se centerX for verdadeiro o argumento y é ignorado. Caso contrário o argumento x será usado como coordenada x a partir do qual o texto será renderizado. Altera a posição do texto na tela. Se centerY for verdadeiro o argumento y é ignorado. Caso contrário o argumento y será usado como coordenada y a partir do qual o texto será renderizado.
void Text::SetStrobeFrequency | ( | float | fullTime | ) |
Altera tempo de piscagem.
Altera o tempo total de cada ciclo de piscagem (tempo de texto sendo renderizado + tempo sem renderização).
void Text::SetStyle | ( | TextStyle | style | ) |
Altera o estilo.
Altera o estilo do texto. Para essa modificação fazer efeito a textura precisa ser refeita.
void Text::SetText | ( | string | text | ) |
Altera o texto.
Altera a posição do texto. Para essa modificação fazer efeito a textura precisa ser refeita.
void Text::SetTimeShown | ( | float | newTime | ) |
Altera tempo mostrado enquanto pisca.
Altera o tempo em que o texto vai ser renderizado a cada ciclo de piscagem.
void Text::Update | ( | float | dt | ) |
Update.
Atualiza o textTime.
|
private |
Posição a partir da qual o texto deve ser renderizado.
|
private |
Cor do texto,
|
private |
Ponteiro para a fonte.
|
private |
String com o nome do arquivo com a fonte. É necessário para o caso em que a fonte seja modificada.
|
private |
Tamanho da fonte do texto.
|
private |
Flag que determina se o texto deve piscar
|
private |
Tempo de um ciclo da piscagem. Seu valor é TEXT_FREQUENCY por padrão.
|
private |
Forma com a qual o texto está texturizado
|
private |
String com o texto do Text.
|
private |
Tempo para piscagem do texto
|
private |
O texto para exibir na tela precisa ser texturizado. Essa variável contém a textura do texto.
|
private |
Tempo em que o texto é mostrado na piscagem. Seu valor é MIN_TIME_SHOWN por padrão.