AlSub

Este é o manual da biblioteca AlSub versão 0.1.0

Este software não possui nenhuma garantia, use-o ao seu próprio risco!

Veja em lgpl.txt o que você pode ou não fazer com isto.

Introdução

AlSub é uma biblioteca bem simples, desenvolvida especialmente para desenhar legendas em conjunto com o Allegro. É capaz de importar e exportar arquivos no formato .sub, converter entre diferentes taxas de quadros por segundo e adicionar mais legendas em tempo real.

Instalando

Para compilar e instalar, usando DJGPP ou Mingw32, é bem simples. Depois de descompactar os códigos fontes (lembre-se de manter a estrutura de diretório) digite:

fix mingw32 (ou fix djgpp, depende do que você usar)
make
make install

Usando

Para usar a biblioteca junto com seu programa, coloque

#include <alsub.h>

junto com os outros includes e na hora de linkar, use

gcc -o test.exe test.o -lalsub -lalleg

Manual - classes e métodos

ALSUB_TEXT

A classe ALSUB_TEXT contém as informações necessárias para cada uma das legendas que serão apresentadas.

ALSUB_TEXT::ALSUB_TEXT(const int &ini = 0, const int &end = 0, const std::string &text = ""); ALSUB_TEXT::ALSUB_TEXT(const ALSUB_TEXT &ast);
Construtor da classe, onde você pode passar um objeto ALSUB_TEXT que será copiado, ou então os quadros de início (ini) e fim (end) e a string que será apresentada (text).

void ALSUB_TEXT::set(const int &ini = 0, const int &end = 0, const std::string &text = "");
Seta os atributos de quadro de início (ini), quadro final (end) e texto apresentado (text) do objeto.

void ALSUB_TEXT::get(int *ini, int *end, std::string *text);
Copia os atributos quadro de início, em ini, quadro final, em end, e texto apresentado, em text, do objeto.

bool ALSUB_TEXT::operator ==(const ALSUB_TEXT &ast);
Sobrecarga do operador ==, ele compara os campos quadro de início e final e o texto, retornando true se todos forem iguais

bool ALSUB_TEXT::operator <(const ALSUB_TEXT &ast);
Sobrecarga do operador <, compara o atributo quadro inicial dos dois, retornando true se o quadro inicial de ast for maior do que o do outro objeto.

ALSUB

A classe principal da biblioteca pode exportar e importar arquivos .sub e converter entre diferentes taxas de quadros por segundo.

void ALSUB::insert_text(const ALSUB_TEXT &ast);
void ALSUB::insert_text(const int &ini = 0, const int &end = 0, const std::string &text = "");

Insere na lista de legendas um objeto ALSUB_TEXT, ou cria um com os argumentos passados. Os argumentos são quadro inicial (ini), quadro final (end) e texto (text).

void ALSUB::delete_text(const ALSUB_TEXT &ast);
void ALSUB::delete_text(const int &ini = 0, const int &end = 0, const std::string &text = "");

Retira da lista de legendas o objeto ALSUB_TEXT passado, ou um com os argumentos quadro inicial (ini), quadro final (end) e texto (text).

void ALSUB::update_frame(int frame);
Atualiza o posicionamento na lista de legendas. Chame antes de usar ALSUB::display().

void ALSUB::reset_frame(void);
void ALSUB::inc_frame(void);
void ALSUB::dec_frame(void);

Estes são métodos para auxiliar no controle dos quadros. ALSUB::reset_frame() seta o quadro atual em 0, ALSUB::inc_frame() incrementa uma unidade o quadro atual e ALSUB::dec_frame() decrementa em uma unidade o quadro atual.

void ALSUB::display(BITMAP *bmp, const FONT *fonte = font, int x = 0, int y = 0, int c = 0, int borderc = -1, ALSUB_HALIGN halign = LEFT, ALSUB_VALIGN valign = TOP);
Mostra a legenda atual num BITMAP do allegro (bmp), usando a fonte (fonte) e no local indicado pelas coordenadas x, y. O argumento c é a cor do texto, e borderc é a cor da borda (-1 para transparente). O argumento halign é do tipo ALSUB_HALIGN e pode ser LEFT, CENTER ou RIGHT, e valign é do tipo ALSUB_VALIGN e pode ser TOP, MIDDLE ou BOTTOM.

int ALSUB::load(const char *file);
Importa um arquivo (file) do formato .sub. Primeiro a lista de legendas atual é limpa e em seguida carregada do arquivo. Retorna 0 se ok, 1 se não foi possível abrir o arquivo.

int ALSUB::save(const char *file);
Exporta um arquivo (file) do formato .sub. Retorna 0 se ok, 1 se não foi possível abrir o arquivo.

void ALSUB::convert(const float &afps, const float &nfps);
Converte entre duas taxas de quadros por segundo diferentes, onde afps é a taxa atual e nfps é a nova taxa.

Contato

Quaisquer críticas ou sugestões, mande um e-mail para dudaskank@yahoo.com

Sem necessidade para um conclusão