| @@ -50,7 +50,7 @@ int main (int argc, char **argv) | |||||
| int red[256], green[256], blue[256], alpha[256]; | int red[256], green[256], blue[256], alpha[256]; | ||||
| double r[3], R[6]; | double r[3], R[6]; | ||||
| struct caca_bitmap *bitmap; | struct caca_bitmap *bitmap; | ||||
| int i, x, y, frame; | |||||
| int i, x, y, frame = 0, pause = 0; | |||||
| if(caca_init() < 0) | if(caca_init() < 0) | ||||
| return 1; | return 1; | ||||
| @@ -81,8 +81,14 @@ int main (int argc, char **argv) | |||||
| bitmap = caca_create_bitmap(8, XSIZ, YSIZ, XSIZ, 0, 0, 0, 0); | bitmap = caca_create_bitmap(8, XSIZ, YSIZ, XSIZ, 0, 0, 0, 0); | ||||
| /* Main loop */ | /* Main loop */ | ||||
| for(frame = 0; !caca_get_event(CACA_EVENT_KEY_PRESS); frame++) | |||||
| for(;;) | |||||
| { | { | ||||
| switch(caca_get_event(CACA_EVENT_KEY_PRESS)) | |||||
| { | |||||
| case CACA_EVENT_KEY_PRESS | CACA_KEY_ESCAPE: goto end; | |||||
| case CACA_EVENT_KEY_PRESS | ' ': pause = !pause; | |||||
| } | |||||
| for(i = 0 ; i < 256; i++) | for(i = 0 ; i < 256; i++) | ||||
| { | { | ||||
| double z = ((double)i) / 256 * 6 * M_PI; | double z = ((double)i) / 256 * 6 * M_PI; | ||||
| @@ -95,19 +101,24 @@ int main (int argc, char **argv) | |||||
| /* Set the palette */ | /* Set the palette */ | ||||
| caca_set_bitmap_palette(bitmap, red, green, blue, alpha); | caca_set_bitmap_palette(bitmap, red, green, blue, alpha); | ||||
| do_plasma(screen, | |||||
| (1.0 + sin(((double)frame) * R[0])) / 2, | |||||
| (1.0 + sin(((double)frame) * R[1])) / 2, | |||||
| (1.0 + sin(((double)frame) * R[2])) / 2, | |||||
| (1.0 + sin(((double)frame) * R[3])) / 2, | |||||
| (1.0 + sin(((double)frame) * R[4])) / 2, | |||||
| (1.0 + sin(((double)frame) * R[5])) / 2); | |||||
| if(!pause) | |||||
| { | |||||
| do_plasma(screen, | |||||
| (1.0 + sin(((double)frame) * R[0])) / 2, | |||||
| (1.0 + sin(((double)frame) * R[1])) / 2, | |||||
| (1.0 + sin(((double)frame) * R[2])) / 2, | |||||
| (1.0 + sin(((double)frame) * R[3])) / 2, | |||||
| (1.0 + sin(((double)frame) * R[4])) / 2, | |||||
| (1.0 + sin(((double)frame) * R[5])) / 2); | |||||
| frame++; | |||||
| } | |||||
| caca_draw_bitmap(0, 0, caca_get_width() - 1, caca_get_height() - 1, | caca_draw_bitmap(0, 0, caca_get_width() - 1, caca_get_height() - 1, | ||||
| bitmap, screen); | bitmap, screen); | ||||
| caca_refresh(); | caca_refresh(); | ||||
| } | } | ||||
| end: | |||||
| caca_free_bitmap(bitmap); | caca_free_bitmap(bitmap); | ||||
| caca_end(); | caca_end(); | ||||