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
Métodos Públicos | Métodos Privados | Atributos Privados | Lista de todos os Membros
Referência da Classe Text

Classe que modela textos. Mais...

#include <Text.h>

Diagrama de colaboração para Text:
[legenda]

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
 

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.

Construtores & Destrutores

Text::Text ( string  fontFile,
int  fontSize,
TextStyle  style,
SDL_Color  color,
bool  isStrobing = false,
int  x = 0,
int  y = 0 
)

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.

Text::~Text ( )

Destrutor.

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

Métodos

Vec2 Text::GetSize ( void  ) const

Obtém o tamanho do texto.

Obtém o tamanho do texto em pixels.

void Text::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 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.

Parâmetros
centerXVerdadeiro caso queira que o texto se centralize horizontalmente. Falso caso contrário.
centerYVerdadeiro 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.

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

Atributos

Rect Text::box
private

Posição a partir da qual o texto deve ser renderizado.

SDL_Color Text::color
private

Cor do texto,

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

Ponteiro para a fonte.

string Text::fontFile
private

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

int Text::fontSize
private

Tamanho da fonte do texto.

bool Text::isStrobe
private

Flag que determina se o texto deve piscar

float Text::strobeFrequency
private

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

TextStyle Text::style
private

Forma com a qual o texto está texturizado

string Text::text
private

String com o texto do Text.

Timer Text::textTime
private

Tempo para piscagem do texto

SDL_Texture* Text::texture
private

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

float Text::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: