瀏覽代碼

* examples/:

+ Use Space to pause demos, Esc to quit.
tags/v0.99.beta14
Sam Hocevar sam 20 年之前
父節點
當前提交
5ef8b56c5e
共有 4 個文件被更改,包括 57 次插入16 次删除
  1. +16
    -1
      examples/aafire.c
  2. +14
    -2
      examples/cacaball.c
  3. +15
    -2
      examples/cacamoir.c
  4. +12
    -11
      examples/cacaplas.c

+ 16
- 1
examples/aafire.c 查看文件

@@ -40,6 +40,7 @@
static int XSIZ, YSIZ; static int XSIZ, YSIZ;
static struct caca_bitmap *caca_bitmap; static struct caca_bitmap *caca_bitmap;
static char *bitmap; static char *bitmap;
static int pause = 0;
#else #else
static aa_context *context; static aa_context *context;
static aa_renderparams *params; static aa_renderparams *params;
@@ -193,6 +194,9 @@ drawfire (void)
register unsigned char *p; register unsigned char *p;
#ifndef LIBCACA #ifndef LIBCACA
char *bitmap = aa_image (context); char *bitmap = aa_image (context);
#else
if(pause)
goto paused;
#endif #endif


height++; height++;
@@ -216,6 +220,7 @@ drawfire (void)
i = 0; i = 0;
firemain (); firemain ();
#ifdef LIBCACA #ifdef LIBCACA
paused:
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,
caca_bitmap, bitmap); caca_bitmap, bitmap);
caca_refresh(); caca_refresh();
@@ -230,14 +235,24 @@ drawfire (void)
static void static void
game (void) game (void)
{ {
#ifndef LIBCACA
int event; int event;
#endif
gentable (); gentable ();
#ifdef LIBCACA #ifdef LIBCACA
while (!(event = caca_get_event(CACA_EVENT_KEY_PRESS)))
for(;;)
#else #else
while (!(event = aa_getevent (context, 0)) || event == AA_RESIZE) while (!(event = aa_getevent (context, 0)) || event == AA_RESIZE)
#endif #endif
{ {
#ifdef LIBCACA
switch (caca_get_event(CACA_EVENT_KEY_PRESS))
{
case CACA_EVENT_KEY_PRESS | CACA_KEY_ESCAPE: return;
case CACA_EVENT_KEY_PRESS | ' ': pause = !pause;
}

#endif
drawfire (); drawfire ();
} }
} }


+ 14
- 2
examples/cacaball.c 查看文件

@@ -57,7 +57,7 @@ int main(int argc, char **argv)
unsigned int x[METABALLS], y[METABALLS]; unsigned int x[METABALLS], y[METABALLS];
struct caca_bitmap *caca_bitmap; struct caca_bitmap *caca_bitmap;
float i = 10.0, j = 17.0, k = 11.0; float i = 10.0, j = 17.0, k = 11.0;
int p, frame = 0;
int p, frame = 0, pause = 0;


if(caca_init()) if(caca_init())
return 1; return 1;
@@ -86,8 +86,17 @@ int main(int argc, char **argv)
} }


/* Go ! */ /* Go ! */
while(!caca_get_event(CACA_EVENT_KEY_PRESS))
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;
}

if(pause)
goto paused;

frame++; frame++;


/* Crop the palette */ /* Crop the palette */
@@ -134,6 +143,7 @@ int main(int argc, char **argv)
for(p = 0; p < METABALLS; p++) for(p = 0; p < METABALLS; p++)
draw_ball(x[p], y[p]); draw_ball(x[p], y[p]);


paused:
/* Draw our virtual buffer to screen, letting libcaca resize it */ /* Draw our virtual buffer to screen, letting libcaca resize it */
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,
caca_bitmap, pixels + (METASIZE / 2) * (1 + XSIZ)); caca_bitmap, pixels + (METASIZE / 2) * (1 + XSIZ));
@@ -141,6 +151,8 @@ int main(int argc, char **argv)
} }


/* End, bye folks */ /* End, bye folks */
end:
caca_free_bitmap(caca_bitmap);
caca_end(); caca_end();


return 0; return 0;


+ 15
- 2
examples/cacamoir.c 查看文件

@@ -46,7 +46,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];
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;
@@ -68,8 +68,17 @@ 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;
}

if(pause)
goto paused;

memset(screen, 0, XSIZ * YSIZ); memset(screen, 0, XSIZ * YSIZ);


/* Set the palette */ /* Set the palette */
@@ -92,11 +101,15 @@ int main (int argc, char **argv)
y = sin(0.09 * frame + 1.0) * 64.0 + (YSIZ / 2); y = sin(0.09 * frame + 1.0) * 64.0 + (YSIZ / 2);
put_disc(x, y); put_disc(x, y);


frame++;

paused:
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();




+ 12
- 11
examples/cacaplas.c 查看文件

@@ -89,6 +89,9 @@ int main (int argc, char **argv)
case CACA_EVENT_KEY_PRESS | ' ': pause = !pause; case CACA_EVENT_KEY_PRESS | ' ': pause = !pause;
} }


if(pause)
goto paused;

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;
@@ -101,18 +104,16 @@ 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);


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++;
}
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++;


paused:
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();


Loading…
取消
儲存