Projeto IDJ - Towers Of Madness
TowerDefenseLovecraftnianoZombicida
|
Classe virtual que modela o comportamento de um botão na interface gráfica. Mais...
#include <UIbutton.h>
Tipos Públicos | |
enum | State : int { DISABLED = 0, ENABLED, HIGHLIGHTED, PRESSED } |
Possíveis estados que um botão pode assumir. Mais... | |
typedef void(* | ButtonCallback )(void *) |
Métodos Públicos | |
void | SetCallback (UIbutton::State stateToSet, void *caller, ButtonCallback callback) |
Seta o callback a ser chamado para cada estado. Mais... | |
void | SetClickCallback (void *caller, ButtonCallback callback) |
Seta o callback a ser chamado ao clicar no botão. Mais... | |
virtual void | SetUIbuttonState (UIbutton::State newState) |
Solicita ao botão que transite para outro estado. Mais... | |
UIbutton::State | GetUIbuttonState (void) const |
Retorna o estado atual do botão. Mais... | |
void | Click () |
Realiza o processo interno de clique. Mais... | |
virtual bool | Is (std::string UItype) const |
Checa qual o tipo do objeto. Mais... | |
Atributos Públicos | |
bool | interactOnBoundingBox |
Métodos Protegidos | |
UIbutton (UIbutton::State initialState=UIbutton::State::ENABLED, bool interactOnBoundingBox=true) | |
Construtor protegido para não permitir que seja diretamente instanciado. Mais... | |
void | Update (float dt, bool mouseIsInside) |
Atributos Protegidos | |
UIbutton::State | actualState |
ButtonCallback | disabledCallback |
ButtonCallback | enabledCallback |
ButtonCallback | highlightedCallback |
ButtonCallback | pressedCallback |
ButtonCallback | clickedCallback |
void * | disableCaller |
void * | enabledCaller |
void * | highlightedCaller |
void * | pressedCaller |
void * | clickCaller |
Classe virtual que modela o comportamento de um botão na interface gráfica.
Essa class tem como responsabilidade modelar todo o comportamento esperado de um botão na interface gráfica sem se preocupar com nenhuma parte da renderização.
Ela possui callbacks que podem ser chamados a cada mudança de estado do botão. Esses callbacks são de ponteiros para função que não retornem nada mas recebem um ponteiro para void*. Essas funções podem ser Clojures (funções lambda). Esse ponteiro void* pode ser usado para se manipular o objeto que se desejar dentro da callback, desde que o cast seja feito corretamente.
typedef void(* UIbutton::ButtonCallback)(void *) |
O ponteiro para função do tipo que o callback chamará.
enum UIbutton::State : int |
Possíveis estados que um botão pode assumir.
Um botão pode estar em qualquer uma dos seguintes estados:
Valores enumerados | |
---|---|
DISABLED | |
ENABLED | |
HIGHLIGHTED | |
PRESSED |
|
protected |
Construtor protegido para não permitir que seja diretamente instanciado.
Essa classe NÃO deve ser diretamente instanciada. Somente as classes que herdam dela.
void UIbutton::Click | ( | ) |
Realiza o processo interno de clique.
Basicamente, chama o callback de clique, caso tenha sido setado.
UIbutton::State UIbutton::GetUIbuttonState | ( | void | ) | const |
Retorna o estado atual do botão.
Retorna qual é o estado que o botão se encontra no momento.
|
virtual |
Checa qual o tipo do objeto.
Reimplementado por UItextButton e UIimageButton.
void UIbutton::SetCallback | ( | UIbutton::State | stateToSet, |
void * | caller, | ||
ButtonCallback | callback | ||
) |
Seta o callback a ser chamado para cada estado.
stateToSet | Uma enumeração State que indica qual estado deve ter seu callback alterado. |
caller | Um ponteiro void* que será passado ao callback para que possa se modificar coisas externas à função. Geralmente é usado this. |
callback | Um ponteiro para função do tipo void (*)(void*). |
A função passada na variável callback será chamada imediatamente assim que a transição de estado for finalizada.
void UIbutton::SetClickCallback | ( | void * | caller, |
ButtonCallback | callback | ||
) |
Seta o callback a ser chamado ao clicar no botão.
caller | Um ponteiro void* que será passado ao callback para que possa se modificar coisas externas à função. Geralmente é usado this. |
callback | Um ponteiro para função do tipo void (*)(void*). |
A função passada na variável callback será chamada imediatamente assim que o botão for clicado.
É usado um método diferente para setar esse callback pois ele não se trata de notificação de mudança de estado mas sim de ação com relação ao botão.
|
virtual |
Solicita ao botão que transite para outro estado.
newState | Uma enumeração que indica qual é o novo estado desejado para o botão |
Realiza todo o processamento interno para a transição de estados e, por último, chama o callback do novo estado.
Reimplementado por UItextButton e UIimageButton.
|
protected |
|
protected |
Armazena o estado atual do botão.
|
protected |
Armazena um ponteiro a ser passado para o callback de clique. Chamado de caller pois geralmente é o que é usado para representar.
|
protected |
Armazena um ponteiro para função a ser chamada quando o botão for clicado.
|
protected |
Armazena um ponteiro a ser passado para o callback de desativação. Chamado de caller pois geralmente é o que é usado para representar.
|
protected |
Armazena um ponteiro para função a ser chamada quando o botão for desativado.
|
protected |
Armazena um ponteiro para função a ser chamada quando o botão for ativado.
|
protected |
Armazena um ponteiro a ser passado para o callback de ativação. Chamado de caller pois geralmente é o que é usado para representar.
|
protected |
Armazena um ponteiro para função a ser chamada quando o botão for destacado.
|
protected |
Armazena um ponteiro a ser passado para o callback de destaque. Chamado de caller pois geralmente é o que é usado para representar.
bool UIbutton::interactOnBoundingBox |
|
protected |
Armazena um ponteiro para função a ser chamada quando o botão for pressionado.
|
protected |
Armazena um ponteiro a ser passado para o callback de pressionamento. Chamado de caller pois geralmente é o que é usado para representar.