|
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... | |
Tipos Públicos inherited from UIelement | |
| 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 |
Métodos Públicos inherited from UIelement | |
| 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 | |
Métodos Protegidos inherited from UIelement | |
| UIelement (BehaviorType behavior=BehaviorType::STRETCH, Vec2 center=Vec2(0.5, 0.5)) | |
Atributos Protegidos inherited from UIelement | |
| 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.
1.8.8