|
Obj_Node | pop_obj (Obj_Stack *stack) |
void | push_Obj (Obj_Stack *stack, void **obj, char obj_type) |
char | ler_teclado () |
| Lê o input do teclado sem interromper a execução do programa.
|
int | next_anim (Animation *anim) |
Color | converter_ABGR_para_Color (uint32_t abgr) |
Color | criar_cor (int r, int g, int b) |
| Retorna uma nova cor dados os componentes RGB.
|
Color | aplicar_filtro (Color original, Color filtro) |
| Põe uma cor de filtro em cima de outra cor para alterar sua matiz.
|
Vector2 | new_Vector2 (int x, int y) |
| Retorna um novo vetor dados x e y.
|
Vector2 | produto_vetor_escalar (Vector2 vet, float escalar) |
| Calcula o produto de um vetor por um escalar inteiro.
|
Vector2 | vector_sum (Vector2 v1, Vector2 v2) |
| Soma dois vetores.
|
Vector2 | vector_subtr (Vector2 v1, Vector2 v2) |
| Subtrai dois vetores.
|
Vector2 | reverse_vector (Vector2 v) |
| Inverte os componentes de um vetor.
|
Vector2 | centro_objeto_complexo (ObjetoComplexo *obj) |
| Retorna as coordenadas relativas do centro geométrico do objeto complexo, considerando a totalidade dos frames.
|
Vector2 | get_complexo_abs_Pixel_pos (ObjetoComplexo *obj, int frame, int index) |
| Retorna a posição absoluta do index-ésimo píxel do vetor de pixeis do frame-ésimo frame dentro do Objeto Complexo.
|
Vector2 | aplicar_matriz_rot (Vector2 Pixel_pos, Vector2 rot_pivo, float graus) |
Pixel | criar_Pixel (Color cor, Vector2 pos) |
| Cria um Pixel com cor e posição especificadas.
|
void | add_Pixel (Pixel_Stack *stack, Pixel p) |
void | limpar_pilha (Pixel_Stack *pixel_stack, Obj_Stack *obj_stack) |
void | mover_tela (Screen *s, Vector2 direction) |
Vector2 | get_abs_Pixel_pos (Objeto *obj, int index) |
| Retorna a posição absoluta do index-ésimo píxel do vetor de pixeis dentro do Objeto.
|
Vector2 | centro_do_objeto (Objeto *obj) |
| Retorna as coordenadas relativas do centro geométrico do objeto.
|
Vector2 | centro_da_tela (Screen *s) |
| Retorna as coordenadas relativas do centro geométrico da tela.
|
Pixel | desempilhar_Pixel (Pixel_Stack *stack) |
| Desempilha o pixel do topo da pilha de pixeis.
|
void | normalizar_objeto (Objeto *obj) |
| Normaliza objeto simples para ter pivô no canto superior esquerdo.
|
void | centralizar_objeto (Objeto *obj) |
| Centraliza o pivô do objeto simples no centro geométrico.
|
Objeto * | criar_objeto_custom (Pixel *info, int qtd_Pixel, bool normalizar) |
| Cria um objeto customizado a partir de uma lista de pixels.
|
Objeto * | criar_retangulo_monocromatico (Color cor, Vector2 tamanho) |
| Gera um objeto retangular monocromático preenchido.
|
Objeto * | recortar_objeto (Objeto *obj, Vector2 inicio, Vector2 fim) |
| Recorta parte de um objeto dentro de um retângulo definido.
|
Objeto * | criar_obj_eixos_debug (Screen *s) |
| Cria um objeto de eixos cartesianos brancos para debug.
|
Objeto * | merge_objeto (Objeto *prioridade, Objeto *novo, Vector2 pivot) |
| Une dois objetos em um só a partir de um pivot.
|
Pixel | deletar_Pixel (Screen *s, Vector2 pos) |
| Remove o pixel do topo da pilha na tela em posição dada.
|
Screen * | criar_tela (Vector2 tamanho, Color fundo) |
| Cria o objeto de tela que será renderizado.
|
void | excluir_tela (Screen *s) |
| Exclui completamente uma tela da memória.
|
Animation | criar_anim (int *frame_list, int qtd_frames, char nome[]) |
| Cria uma animação encapsulando índices de frames.
|
int * | obj_complexo_contem_Pixel_em (ObjetoComplexo *obj, Vector2 pos, int *out_qtd_de_frames) |
| Verifica em quais frames de um objeto complexo há pixel em posição.
|
bool | vetor_valido_na_tela (Screen *s, Vector2 vet) |
| Retorna true se vetor está dentro dos limites da tela.
|
bool | compare_vector (Vector2 v1, Vector2 v2) |
| Compara igualdade entre dois vetores.
|
bool | obj_contem_Pixel_em (Objeto *obj, Vector2 pos) |
| Verifica se objeto simples contém pixel em posição relativa dada.
|
Pixel | get_pixel_em (Screen *s, Vector2 pos) |
| retorna o pixel que está no topo da pilha na posição relativa à tela dada
|
AnimationManager * | criar_anim_manager (int qtd_anims) |
void | setar_animation_via_index (ObjetoComplexo *obj, int anim_index) |
| Seleciona a animação atual de um objeto complexo por índice.
|
void | setar_animation_via_nome (ObjetoComplexo *obj, char nome[]) |
| Seleciona a animação atual de um objeto complexo por nome.
|
void | setar_frame_obj_complexo (Screen *s, ObjetoComplexo *obj, int frame) |
| Define manualmente o frame atual de um objeto complexo.
|
void | animar_objeto_complexo (Screen *s, ObjetoComplexo *obj) |
| Executa o passo de animação do objeto complexo na tela.
|
void | setup_animations (ObjetoComplexo *obj, Animation anims[], int qtd_anims) |
| Configura o gerenciador de animações (AnimationManager) de um objeto complexo.
|
void | alterar_pivot_obj (Objeto *obj, Vector2 new_pivot) |
| Altera o pivô de um objeto simples.
|
void | alterar_pivot_frame (ObjetoComplexo *obj, int frame, Vector2 novo_pivot) |
| Altera o pivô de um frame específico em objeto complexo.
|
void | desenhar_objeto (Screen *s, Objeto *obj) |
| Desenha um objeto simples na tela em sua posição.
|
void | aplicar_filtro_obj (Objeto *obj, Color filtro) |
| Aplica um filtro de cor ao objeto simples.
|
void | espelhar_objeto (Screen *s, Objeto *obj, bool horizontalmente) |
| Espelha um objeto simples horizontalmente ou verticalmente.
|
void | espelhar_objeto_complexo (Screen *s, ObjetoComplexo *obj, bool horizontalmente) |
| Espelha todos os frames de um objeto complexo horizontalmente ou verticalmente.
|
void | desenhar_objeto_complexo (Screen *s, ObjetoComplexo *obj) |
| Desenha um objeto complexo na tela em sua posição.
|
void | excluir_anim_manager (AnimationManager *manager) |
void | excluir_objeto (Objeto *obj) |
| Exclui completamente um objeto simples da memória.
|
void | excluir_objeto_complexo (ObjetoComplexo *obj) |
| Exclui completamente um objeto complexo da memória.
|
void | esconder_objeto (Screen *s, Objeto *obj) |
| Esconde um objeto simples removendo seus pixels na tela.
|
void | esconder_objeto_complexo (Screen *s, ObjetoComplexo *obj) |
| Esconde um objeto complexo removendo seus pixels na tela.
|
void | mover_objeto (Screen *s, Objeto *obj, Vector2 direction) |
| Move um objeto simples de acordo com vetor de deslocamento.
|
void | teleportar_objeto (Screen *s, Objeto *obj, Vector2 pos_final) |
| Teleporta um objeto simples para posição final absoluta.
|
void | teleportar_objeto_complexo (Screen *s, ObjetoComplexo *obj, Vector2 pos_final) |
| Teleporta um objeto complexo para posição final absoluta.
|
void | preencher_background (Screen *s, Color cor) |
| Preenche toda a tela com uma cor de fundo.
|
void | printPixel (Pixel_Stack *p) |
void | mover_objeto_complexo (Screen *s, ObjetoComplexo *obj, Vector2 direction) |
| Move um objeto complexo de acordo com vetor de deslocamento.
|
void | rotacionar_objeto (Objeto *obj, Vector2 pivot, float graus) |
| Rotaciona um objeto simples em torno de um pivô.
|
void | rotacionar_objeto_complexo (ObjetoComplexo *obj, Vector2 pivot, float graus) |
| Rotaciona um objeto complexo em torno de um pivô.
|
void | moveCursor (Vector2 v) |
| Move o cursor de renderização para a posição dada.
|
void | render (Screen *s, bool reset) |
| Renderiza o conteúdo da tela no console.
|
void | aplicar_filtro_obj_complexo (ObjetoComplexo *obj, Color filtro) |
| Aplica um filtro de cor ao objeto complexo.
|
Pixel * | converter_piskel_frame_para_Pixel_info (const uint32_t frame_data[], int width, int height, int *qtd_Pixel) |
Objeto * | criar_piskel_obj (const uint32_t frame_data[], int width, int height) |
| Cria um objeto a partir de dados de um frame do Piskel.
|
ObjetoComplexo * | criar_objeto_complexo_piskel (int qtd_frames, int width, int height, const uint32_t obj_data[qtd_frames][width *height]) |
| Cria um objeto complexo a partir de matriz do Piskel.
|
ObjetoComplexo * | criar_objeto_complexo_via_lista (Objeto **obj_origem, int qtd_objetos) |
| Cria um objeto complexo a partir de lista de objetos (frames).
|