Projeto IDJ - Towers Of Madness
TowerDefenseLovecraftnianoZombicida
|
Classe que modela textos. Mais...
#include <UItext.h>
Tipos Públicos | |
enum | TextStyle { SOLID, SHARED, BLENDED } |
Informa como o texto será rendeizaddo. Mais... | |
![]() | |
enum | BehaviorType { FIT, FILL, STRETCH } |
Métodos Públicos | |
UItext (string fontFile, int fontSize, TextStyle style, SDL_Color color, string text, UIelement::BehaviorType behavior=UIelement::BehaviorType::FIT, bool isStrobing=false) | |
Construtor. Mais... | |
virtual | ~UItext () |
Destrutor. Mais... | |
virtual void | Update (float dt, Rect parentCanvas) |
Update. Mais... | |
virtual void | Render (bool debugRender=false) const |
Renderiza Texto. 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... | |
bool | Is (std::string UItype) const |
![]() | |
void | SetCenter (Vec2 center) |
void | SetAnchors (Vec2 min, Vec2 max) |
void | SetOffsets (Vec2 min, Vec2 max) |
void | SetBehavior (BehaviorType type) |
Rect | GetAnchors (void) const |
Rect | GetOffsets (void) const |
Rect | GetBoundingBox (void) const |
Rect | ComputeBoundingbox (Rect parentCanvas) |
Rect | ComputeBox (Rect boundingBox={-1.,-1.,-1.,-1.}) |
operator Rect () const | |
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 |
string | fontFile |
bool | isStrobe |
float | strobeFrequency |
float | timeShown |
Additional Inherited Members | |
![]() | |
UIelement (BehaviorType behavior=BehaviorType::STRETCH, Vec2 center=Vec2(0.5, 0.5)) | |
![]() | |
Rect | boundingBox |
Rect | box |
Vec2 | kernelSize |
Vec2 | center |
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.
enum UItext::TextStyle |
Informa como o texto será rendeizaddo.
Informa os modos de renderizar um texto.
UItext::UItext | ( | string | fontFile, |
int | fontSize, | ||
TextStyle | style, | ||
SDL_Color | color, | ||
string | text, | ||
UIelement::BehaviorType | behavior = UIelement::BehaviorType::FIT , |
||
bool | isStrobing = false |
||
) |
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.
|
virtual |
Destrutor.
Destrói o Text, a textura interna também é destruída para não ter memory leak.
Vec2 UItext::GetSize | ( | void | ) | const |
Obtém o tamanho do texto.
Obtém o tamanho do texto em pixels.
|
virtual |
Reimplementação de UIelement.
Reimplementado por UItextButton.
|
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.
|
virtual |
Renderiza Texto.
Renderiza o texto na posição informada. Checa se o texto deve piscar e trata esta piscagem com o tempo textTime.
Reimplementação de UIelement.
void UItext::SetColor | ( | SDL_Color | color | ) |
Altera a cor.
Altera a cor do texto. Para essa modificação fazer efeito a textura precisa ser refeita.
void UItext::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 UItext::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 UItext::SetStyle | ( | TextStyle | style | ) |
Altera o estilo.
Altera o estilo do texto. Para essa modificação fazer efeito a textura precisa ser refeita.
void UItext::SetText | ( | string | text | ) |
Altera o texto.
Altera a posição do texto. Para essa modificação fazer efeito a textura precisa ser refeita.
void UItext::SetTimeShown | ( | float | newTime | ) |
Altera tempo mostrado enquanto pisca.
Altera o tempo em que o texto vai ser renderizado a cada ciclo de piscagem.
|
virtual |
|
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.