Projeto IDJ - Towers Of Madness
TowerDefenseLovecraftnianoZombicida
 Todos Classes Arquivos Funções Variáveis Definições de Tipos Enumerações Valores enumerados Definições e Macros Páginas
Tipos Públicos | Métodos Públicos | Métodos Privados | Atributos Privados | Lista de todos os Membros
Referência da Classe UItext

Classe que modela textos. Mais...

#include <UItext.h>

Diagrama de Hierarquia para UItext:
[legenda]
Diagrama de colaboração para UItext:
[legenda]

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
 

Descrição Detalhada

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.

Enumerações

Informa como o texto será rendeizaddo.

Informa os modos de renderizar um texto.

Valores enumerados
SOLID 

O texto é renderizado diretamente, sem nenhum tipo de tratamento visual.

SHARED 

o texto é renderizado em um retângulo da cor dada em um argumento SDL_Color no hora de renderizar.

BLENDED 

Cria um texto com as bordas suavizadas (usando o canal alpha), para que ele se adapte melhor à região da tela onde for renderizado. É mais custoso de se renderizar que os outros dois, mas faz uma diferença perceptível.

Construtores & Destrutores

UItext::UItext ( string  fontFile,
int  fontSize,
TextStyle  style,
SDL_Color  color,
string  text,
UIelement::BehaviorType  behavior = UIelement::BehaviorType::FIT,
bool  isStrobing = false 
)

Construtor.

Parâmetros
fontFileArquivo ttf da fonte.
fontSizeTamanho da fonte.
styleComo o texto será renderizado, veja TextStyle para mais informações.
colorCor do texto renderizado.
isStrobingdefine se tempo deve piscar.
xCoordenada x a partir do qual o texto deve ser renderizado.
yCoordenada y a partir do qual o texto deve ser renderizado.

Instância um Text com os argumentos informados.

UItext::~UItext ( )
virtual

Destrutor.

Destrói o Text, a textura interna também é destruída para não ter memory leak.

Métodos

Vec2 UItext::GetSize ( void  ) const

Obtém o tamanho do texto.

Obtém o tamanho do texto em pixels.

bool UItext::Is ( std::string  UItype) const
virtual

Reimplementação de UIelement.

Reimplementado por UItextButton.

void UItext::RemakeTexture ( void  )
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 UItext::Render ( bool  debugRender = false) const
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.

Futuras Atividades:
Ver A viabilidade de adicionar um argumento SDL_color para o caso do novo estilo ser SHARED.

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.

void UItext::Update ( float  dt,
Rect  parentCanvas 
)
virtual

Update.

Atualiza o textTime.

Reimplementação de UIelement.

Reimplementado por UItextButton.

Atributos

SDL_Color UItext::color
private

Cor do texto,

std::shared_ptr<TTF_Font> UItext::font
private

Ponteiro para a fonte.

string UItext::fontFile
private

String com o nome do arquivo com a fonte. É necessário para o caso em que a fonte seja modificada.

int UItext::fontSize
private

Tamanho da fonte do texto.

bool UItext::isStrobe
private

Flag que determina se o texto deve piscar

float UItext::strobeFrequency
private

Tempo de um ciclo da piscagem. Seu valor é TEXT_FREQUENCY por padrão.

TextStyle UItext::style
private

Forma com a qual o texto está texturizado

string UItext::text
private

String com o texto do Text.

Timer UItext::textTime
private

Tempo para piscagem do texto

SDL_Texture* UItext::texture
private

O texto para exibir na tela precisa ser texturizado. Essa variável contém a textura do texto.

float UItext::timeShown
private

Tempo em que o texto é mostrado na piscagem. Seu valor é MIN_TIME_SHOWN por padrão.


A documentação para esta classe foi gerada a partir dos seguintes arquivos: