Changeset 1344 for libcaca


Ignore:
Timestamp:
Nov 11, 2006, 4:10:38 PM (16 years ago)
Author:
Sam Hocevar
Message:
  • Update transform.c so that it uses import functions instead of blitting lines.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcaca/trunk/test/transform.c

    r1267 r1344  
    1919#   endif
    2020#   include <stdio.h>
     21#   include <string.h>
    2122#endif
    2223
     
    2425#include "caca.h"
    2526
    26 static char const *pig[] =
    27 {
    28     ",--.   ,--.",
    29     "\\  /-~-\\  /",
    30     " )' o O `(",
    31     "(  ,---.  )",
    32     " `(_o_o_)'",
    33     "   )`-'(",
    34     NULL
    35 };
     27static char const pig[] =
     28    ",--.   ,--.\n"
     29    "\\  /-~-\\  /\n"
     30    " )' o O `(\n"
     31    "(  ,---.  )\n"
     32    " `(_o_o_)'\n"
     33    "   )`-'(\n";
    3634
    37 static char const *duck[] =
    38 {
    39     "                ,~~.",
    40     "    __     ,   (  O )>",
    41     "___( o)>   )`~~'   (",
    42     "\\ <_. )   (  .__)   )",
    43     " `---'     `-.____,'",
    44     NULL
    45 };
     35static char const duck[] =
     36    "                ,~~.\n"
     37    "    __     ,   (  O )>\n"
     38    "___( o)>   )`~~'   (\n"
     39    "\\ <_. )   (  .__)   )\n"
     40    " `---'     `-.____,'\n";
    4641
    4742int main(int argc, char *argv[])
    4843{
    49     cucul_canvas_t *cv, *normal, *flip, *flop, *rotate;
     44    cucul_canvas_t *cv, *image, *tmp, *sprite;
    5045    caca_display_t *dp;
    51     int i;
    5246
    5347    cv = cucul_create_canvas(0, 0);
    5448    dp = caca_create_display(cv);
    5549
    56     normal = cucul_create_canvas(70, 6);
    57     flip = cucul_create_canvas(70, 6);
    58     flop = cucul_create_canvas(70, 6);
    59     rotate = cucul_create_canvas(70, 6);
     50    image = cucul_create_canvas(70, 6);
     51    tmp = cucul_create_canvas(70, 6);
     52    sprite = cucul_create_canvas(0, 0);
    6053
    61     cucul_set_color_ansi(normal, CUCUL_LIGHTMAGENTA, CUCUL_BLACK);
    62     for(i = 0; pig[i]; i++)
    63         cucul_putstr(normal, 55, i, pig[i]);
     54    cucul_set_color_ansi(sprite, CUCUL_LIGHTMAGENTA, CUCUL_BLACK);
     55    cucul_import_memory(sprite, pig, strlen(pig), "text");
     56    cucul_blit(image, 55, 0, sprite, NULL);
    6457
    65     cucul_set_color_ansi(normal, CUCUL_LIGHTGREEN, CUCUL_BLACK);
    66     for(i = 0; duck[i]; i++)
    67         cucul_putstr(normal, 30, 1 + i, duck[i]);
     58    cucul_set_color_ansi(sprite, CUCUL_LIGHTGREEN, CUCUL_BLACK);
     59    cucul_import_memory(sprite, duck, strlen(duck), "text");
     60    cucul_blit(image, 30, 1, sprite, NULL);
    6861
    69     cucul_set_color_ansi(normal, CUCUL_LIGHTCYAN, CUCUL_BLACK);
    70     cucul_putstr(normal, 1, 1, "hahaha mais vieux porc immonde !! [⽼ ⾗]");
    71     cucul_set_color_ansi(normal, CUCUL_LIGHTRED, CUCUL_BLACK);
    72     cucul_putchar(normal, 38, 1, '|');
     62    cucul_set_color_ansi(image, CUCUL_LIGHTCYAN, CUCUL_BLACK);
     63    cucul_putstr(image, 1, 1, "hahaha mais vieux porc immonde !! [⽼ ⾗]");
     64    cucul_set_color_ansi(image, CUCUL_LIGHTRED, CUCUL_BLACK);
     65    cucul_putchar(image, 38, 1, '|');
    7366
    74     cucul_set_color_ansi(normal, CUCUL_YELLOW, CUCUL_BLACK);
    75     cucul_putstr(normal, 4, 2, "\\o\\ \\o| _o/ \\o_ |o/ /o/");
     67    cucul_set_color_ansi(image, CUCUL_YELLOW, CUCUL_BLACK);
     68    cucul_putstr(image, 4, 2, "\\o\\ \\o| _o/ \\o_ |o/ /o/");
    7669
    77     cucul_set_color_ansi(normal, CUCUL_WHITE, CUCUL_LIGHTRED);
    78     cucul_putstr(normal, 7, 3, "▙▘▌▙▘▞▖▞▖▌ ▞▖▌ ▌▌");
    79     cucul_putstr(normal, 7, 4, "▛▖▌▛▖▚▘▚▘▚▖▚▘▚▖▖▖");
    80     cucul_set_color_ansi(normal, CUCUL_BLACK, CUCUL_LIGHTRED);
    81     cucul_putstr(normal, 4, 3, "▓▒░");
    82     cucul_putstr(normal, 4, 4, "▓▒░");
    83     cucul_putstr(normal, 24, 3, "░▒▓");
    84     cucul_putstr(normal, 24, 4, "░▒▓");
    85 
    86     /* Flip, flop and rotate our working canvas */
    87     cucul_blit(flip, 0, 0, normal, NULL);
    88     cucul_flip(flip);
    89 
    90     cucul_blit(flop, 0, 0, normal, NULL);
    91     cucul_flop(flop);
    92 
    93     cucul_blit(rotate, 0, 0, normal, NULL);
    94     cucul_rotate(rotate);
     70    cucul_set_color_ansi(image, CUCUL_WHITE, CUCUL_LIGHTRED);
     71    cucul_putstr(image, 7, 3, "▙▘▌▙▘▞▖▞▖▌ ▞▖▌ ▌▌");
     72    cucul_putstr(image, 7, 4, "▛▖▌▛▖▚▘▚▘▚▖▚▘▚▖▖▖");
     73    cucul_set_color_ansi(image, CUCUL_BLACK, CUCUL_LIGHTRED);
     74    cucul_putstr(image, 4, 3, "▓▒░");
     75    cucul_putstr(image, 4, 4, "▓▒░");
     76    cucul_putstr(image, 24, 3, "░▒▓");
     77    cucul_putstr(image, 24, 4, "░▒▓");
    9578
    9679    /* Blit the transformed canvas onto the main canvas */
    9780    cucul_set_color_ansi(cv, CUCUL_WHITE, CUCUL_BLUE);
    9881    cucul_putstr(cv, 0, 0, "normal");
    99     cucul_blit(cv, 10, 0, normal, NULL);
     82    cucul_blit(cv, 10, 0, image, NULL);
     83
    10084    cucul_putstr(cv, 0, 6, "flip");
    101     cucul_blit(cv, 10, 6, flip, NULL);
     85    cucul_blit(tmp, 0, 0, image, NULL);
     86    cucul_flip(tmp);
     87    cucul_blit(cv, 10, 6, tmp, NULL);
     88
    10289    cucul_putstr(cv, 0, 12, "flop");
    103     cucul_blit(cv, 10, 12, flop, NULL);
     90    cucul_blit(tmp, 0, 0, image, NULL);
     91    cucul_flop(tmp);
     92    cucul_blit(cv, 10, 12, tmp, NULL);
     93
    10494    cucul_putstr(cv, 0, 18, "rotate");
    105     cucul_blit(cv, 10, 18, rotate, NULL);
     95    cucul_blit(tmp, 0, 0, image, NULL);
     96    cucul_rotate(tmp);
     97    cucul_blit(cv, 10, 18, tmp, NULL);
    10698
    10799    caca_refresh_display(dp);
     
    110102
    111103    caca_free_display(dp);
    112     cucul_free_canvas(rotate);
    113     cucul_free_canvas(flop);
    114     cucul_free_canvas(flip);
    115     cucul_free_canvas(normal);
     104    cucul_free_canvas(tmp);
     105    cucul_free_canvas(image);
    116106    cucul_free_canvas(cv);
    117107
Note: See TracChangeset for help on using the changeset viewer.