|
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.
1.8.8