瀏覽代碼

* Update transform.c so that it uses import functions instead of blitting

lines.
tags/v0.99.beta14
Sam Hocevar sam 18 年之前
父節點
當前提交
f104f0ac77
共有 1 個文件被更改,包括 54 次插入64 次删除
  1. +54
    -64
      test/transform.c

+ 54
- 64
test/transform.c 查看文件

@@ -18,101 +18,91 @@
# include <inttypes.h>
# endif
# include <stdio.h>
# include <string.h>
#endif

#include "cucul.h"
#include "caca.h"

static char const *pig[] =
{
",--. ,--.",
"\\ /-~-\\ /",
" )' o O `(",
"( ,---. )",
" `(_o_o_)'",
" )`-'(",
NULL
};

static char const *duck[] =
{
" ,~~.",
" __ , ( O )>",
"___( o)> )`~~' (",
"\\ <_. ) ( .__) )",
" `---' `-.____,'",
NULL
};
static char const pig[] =
",--. ,--.\n"
"\\ /-~-\\ /\n"
" )' o O `(\n"
"( ,---. )\n"
" `(_o_o_)'\n"
" )`-'(\n";

static char const duck[] =
" ,~~.\n"
" __ , ( O )>\n"
"___( o)> )`~~' (\n"
"\\ <_. ) ( .__) )\n"
" `---' `-.____,'\n";

int main(int argc, char *argv[])
{
cucul_canvas_t *cv, *normal, *flip, *flop, *rotate;
cucul_canvas_t *cv, *image, *tmp, *sprite;
caca_display_t *dp;
int i;

cv = cucul_create_canvas(0, 0);
dp = caca_create_display(cv);

normal = cucul_create_canvas(70, 6);
flip = cucul_create_canvas(70, 6);
flop = cucul_create_canvas(70, 6);
rotate = cucul_create_canvas(70, 6);

cucul_set_color_ansi(normal, CUCUL_LIGHTMAGENTA, CUCUL_BLACK);
for(i = 0; pig[i]; i++)
cucul_putstr(normal, 55, i, pig[i]);

cucul_set_color_ansi(normal, CUCUL_LIGHTGREEN, CUCUL_BLACK);
for(i = 0; duck[i]; i++)
cucul_putstr(normal, 30, 1 + i, duck[i]);
image = cucul_create_canvas(70, 6);
tmp = cucul_create_canvas(70, 6);
sprite = cucul_create_canvas(0, 0);

cucul_set_color_ansi(normal, CUCUL_LIGHTCYAN, CUCUL_BLACK);
cucul_putstr(normal, 1, 1, "hahaha mais vieux porc immonde !! [⽼ ⾗]");
cucul_set_color_ansi(normal, CUCUL_LIGHTRED, CUCUL_BLACK);
cucul_putchar(normal, 38, 1, '|');
cucul_set_color_ansi(sprite, CUCUL_LIGHTMAGENTA, CUCUL_BLACK);
cucul_import_memory(sprite, pig, strlen(pig), "text");
cucul_blit(image, 55, 0, sprite, NULL);

cucul_set_color_ansi(normal, CUCUL_YELLOW, CUCUL_BLACK);
cucul_putstr(normal, 4, 2, "\\o\\ \\o| _o/ \\o_ |o/ /o/");
cucul_set_color_ansi(sprite, CUCUL_LIGHTGREEN, CUCUL_BLACK);
cucul_import_memory(sprite, duck, strlen(duck), "text");
cucul_blit(image, 30, 1, sprite, NULL);

cucul_set_color_ansi(normal, CUCUL_WHITE, CUCUL_LIGHTRED);
cucul_putstr(normal, 7, 3, "▙▘▌▙▘▞▖▞▖▌ ▞▖▌ ▌▌");
cucul_putstr(normal, 7, 4, "▛▖▌▛▖▚▘▚▘▚▖▚▘▚▖▖▖");
cucul_set_color_ansi(normal, CUCUL_BLACK, CUCUL_LIGHTRED);
cucul_putstr(normal, 4, 3, "▓▒░");
cucul_putstr(normal, 4, 4, "▓▒░");
cucul_putstr(normal, 24, 3, "░▒▓");
cucul_putstr(normal, 24, 4, "░▒▓");
cucul_set_color_ansi(image, CUCUL_LIGHTCYAN, CUCUL_BLACK);
cucul_putstr(image, 1, 1, "hahaha mais vieux porc immonde !! [⽼ ⾗]");
cucul_set_color_ansi(image, CUCUL_LIGHTRED, CUCUL_BLACK);
cucul_putchar(image, 38, 1, '|');

/* Flip, flop and rotate our working canvas */
cucul_blit(flip, 0, 0, normal, NULL);
cucul_flip(flip);
cucul_set_color_ansi(image, CUCUL_YELLOW, CUCUL_BLACK);
cucul_putstr(image, 4, 2, "\\o\\ \\o| _o/ \\o_ |o/ /o/");

cucul_blit(flop, 0, 0, normal, NULL);
cucul_flop(flop);

cucul_blit(rotate, 0, 0, normal, NULL);
cucul_rotate(rotate);
cucul_set_color_ansi(image, CUCUL_WHITE, CUCUL_LIGHTRED);
cucul_putstr(image, 7, 3, "▙▘▌▙▘▞▖▞▖▌ ▞▖▌ ▌▌");
cucul_putstr(image, 7, 4, "▛▖▌▛▖▚▘▚▘▚▖▚▘▚▖▖▖");
cucul_set_color_ansi(image, CUCUL_BLACK, CUCUL_LIGHTRED);
cucul_putstr(image, 4, 3, "▓▒░");
cucul_putstr(image, 4, 4, "▓▒░");
cucul_putstr(image, 24, 3, "░▒▓");
cucul_putstr(image, 24, 4, "░▒▓");

/* Blit the transformed canvas onto the main canvas */
cucul_set_color_ansi(cv, CUCUL_WHITE, CUCUL_BLUE);
cucul_putstr(cv, 0, 0, "normal");
cucul_blit(cv, 10, 0, normal, NULL);
cucul_blit(cv, 10, 0, image, NULL);

cucul_putstr(cv, 0, 6, "flip");
cucul_blit(cv, 10, 6, flip, NULL);
cucul_blit(tmp, 0, 0, image, NULL);
cucul_flip(tmp);
cucul_blit(cv, 10, 6, tmp, NULL);

cucul_putstr(cv, 0, 12, "flop");
cucul_blit(cv, 10, 12, flop, NULL);
cucul_blit(tmp, 0, 0, image, NULL);
cucul_flop(tmp);
cucul_blit(cv, 10, 12, tmp, NULL);

cucul_putstr(cv, 0, 18, "rotate");
cucul_blit(cv, 10, 18, rotate, NULL);
cucul_blit(tmp, 0, 0, image, NULL);
cucul_rotate(tmp);
cucul_blit(cv, 10, 18, tmp, NULL);

caca_refresh_display(dp);

caca_get_event(dp, CACA_EVENT_KEY_PRESS, NULL, -1);

caca_free_display(dp);
cucul_free_canvas(rotate);
cucul_free_canvas(flop);
cucul_free_canvas(flip);
cucul_free_canvas(normal);
cucul_free_canvas(tmp);
cucul_free_canvas(image);
cucul_free_canvas(cv);

return 0;


Loading…
取消
儲存