source: libcaca/trunk/cpp/cpptest.cpp @ 785

Last change on this file since 785 was 785, checked in by Jean-Yves Lamoureux, 14 years ago
  • Better C++ test
  • Property svn:keywords set to Id
File size: 2.3 KB
Line 
1/*
2 *  cpptest       libcaca++ rendering test
3 *  Copyright (c) 2006 Jean-Yves Lamoureux <jylam@lnxscene.org>
4 *                All Rights Reserved
5 *
6 *  $Id: cpptest.cpp 785 2006-04-17 11:19:26Z jylam $
7 *
8 *  This program is free software; you can redistribute it and/or
9 *  modify it under the terms of the Do What The Fuck You Want To
10 *  Public License, Version 2, as published by Sam Hocevar. See
11 *  http://sam.zoy.org/wtfpl/COPYING for more details.
12 */
13
14#include <iostream>
15
16#include <cucul++.h>
17#include <caca++.h>
18
19using namespace std;
20
21
22static char const *pig[]= {
23    "                                   ",
24    "                             _     ",
25    "    _._ _..._ .-',     _.._(`))    ",
26    "   '-. `     '  /-._.-'    ',/     ",
27    "      )         \            '.    ",
28    "     / _    _    |             \\   ",
29    "    |  a    a    /              |  ",
30    "    \   .-.                     ;  " ,
31    "     '-('' ).-'       ,'       ;   ",
32    "        '-;           |      .'    ",
33    "           \\           \\    /      ",
34    "           | 7  .__  _.-\\   \\      ",
35    "           | |  |  ``/  /`  /      ",
36    "      jgs /,_|  |   /,_/   /       ",
37    "             /,_/      '`-'        ",
38    "                                   ",
39 NULL
40};
41
42int main(int argc, char *argv[])
43{
44    Cucul *qq;
45    Caca  *kk;
46    Caca::Event ev;
47    int x = 0, y = 0, ix = 1, iy = 1;
48
49
50
51    try {
52        qq = new Cucul();
53    }
54    catch (int e) {
55        cerr << "Error while initializing cucul (" << e << ")" << endl;
56        return -1;
57    }
58   
59    try {
60        kk = new Caca(qq);
61    }
62    catch(int e) {
63        cerr << "Error while attaching cucul to caca (" << e << ")" << endl;
64        return -1;
65    }
66
67    kk->set_delay(20000);
68
69    while(!kk->get_event(CACA_EVENT_KEY_PRESS, &ev, 0)) {
70       
71        /* Draw pig */
72        qq->set_color(CUCUL_COLOR_LIGHTMAGENTA, CUCUL_COLOR_BLACK);
73       
74        for(int i = 0; pig[i]; i++)
75            qq->putstr(x, y+i, (char*)pig[i]);
76       
77        /* printf works */
78        qq->set_color(CUCUL_COLOR_LIGHTBLUE, CUCUL_COLOR_BLACK); 
79        qq->printf(30,15, "Powered by libcaca %s", VERSION);
80       
81        /* Blit */
82        kk->display();
83
84        x+=ix;
85        y+=iy;
86
87        if(x>=(qq->get_width()-35)  || x<0 )
88            ix=-ix;
89        if(y>=(qq->get_height()-15)   || y<0 )
90            iy=-iy;
91
92
93    }
94
95
96    delete kk;
97    delete qq;
98
99    return 0;
100}
Note: See TracBrowser for help on using the repository browser.