libcaca example :)

Marzo 18, 2008 at 3:09 pm (Arch, Ascii, Gentoo, How-To, Linux, Programmazione, TerminalDipendente, archlinux, free, opensource) (, , , , )

Sigh il mio ultimo post e’ stato 9 giorni fa.. un po’ per il tempo, un po’ perche’ in qeusti giorni non so davvero cosa scrivere. Ma soprattutto perche’ sono molto occupato.

La chiave magica dei TerminalDipenti, oltre ad aalib utilizzata per creare progetti moolto interessanti come aaquake (quake in versione ascii) o simili, è libcaca, una simpatica libreria per output di ascii colorati etc.., con più funzioni rispetto ad aalib, direttamente dal sito:

  • Unicode support
  • 2048 available colours (some devices can only handle 16)
  • dithering of colour images
  • advanced text canvas operations (blitting, rotations)

Io, che fino ad ora ho solo postato progetti non miei, ho pensato bene di provare a cazzeggiare un po’ con questa fantastica libreria.

Unico inconveniente la scarsa documentazione, addirittura l’esempio di un facile codice NON funziona. Per questo per chi desiderà provare a fare qualcosa, gli incollo un codice fatto da me, moolto basilare :)

/*
* caca_test.1.c Simple libcaca program
* Authors BLackCode
* Email mainframe.it[at]gmail[dot]com
*
* Description:
* A basic example about the use of libcaca
*/
#include
#include
int main(void)
{


cucul_canvas_t *cv; caca_display_t *dp; caca_event_t ev;
cv = cucul_create_canvas(80,24);
if(!cv)
{
printf(”Errore nella creazione di canvas!\n”);
return 1;
}


dp = caca_create_display(cv);
if(!dp)
{
printf(”Errore nella creazione del display!\n”);
return 1;
}


caca_set_display_title(dp, “Example 1″);
cucul_set_color_ansi(cv, CUCUL_BLACK, CUCUL_WHITE);
cucul_put_str(cv, 40, 12, “This is a message”);
caca_refresh_display(dp);
while(!caca_get_event(dp, CACA_EVENT_KEY_PRESS, &ev, -1))
{
}


caca_free_display(dp);
return 0;
}

Per compilare si può benissimo usare quello del sito (almeno questo funziona XD):

gcc `pkg-config –libs –cflags cucul caca` example.c -o example

Link

Pubblica un Commento