source: libcaca/trunk/caca-php/examples/example1.php @ 3105

Last change on this file since 3105 was 3105, checked in by nico, 12 years ago
  • Add Php binding for caca's functions: caca_get_event, caca_set_display_time
  • Animate pink pig & add event managment in sample program "example1.php"
  • Property svn:executable set to *
File size: 1.6 KB
RevLine 
[3089]1#!/usr/bin/php5
2<?
3
[3104]4$pig_str = <<<EOT
5                                   
6    _._ _..._ .-',     _.._(`))   
7   '-. `     '  /-._.-'    ',/     
8      )         \            '.   
9     / _    _    |             \   
10    |  a    a    /   PHP        | 
11    \   .-.                     ;
12     '-('' ).-'       ,'       ;   
13        '-;           |      .'   
14           \           \    /   
15           | 7  .__  _.-\   \   
16           | |  |  ``/  /`  /     
17      jgs /,_|  |   /,_/   /       
18             /,_/      '`-'       
19EOT;
20
21$canvas = caca_create_canvas(0, 0);
22if (!$canvas) {
23        die("Error while creating main canvas\n");
24}
25
26$pig = caca_create_canvas(0, 0);
27if (!$pig) {
28        die("Error while creating canvas pig\n");
29}
30
31$display = caca_create_display($canvas);
32if (!$display) {
33        die("Error while attaching canvas to display\n");
34}
35
36
[3105]37caca_set_color_ansi($pig, CACA_LIGHTMAGENTA, CACA_TRANSPARENT);
[3104]38caca_import_memory($pig, $pig_str, "text");
[3105]39caca_set_display_time($display, 30000);
[3104]40
[3105]41$x = $y = 0;
42$ix = $iy = 1;
[3104]43
[3105]44while (caca_get_event($display, CACA_EVENT_KEY_PRESS)) {
45        // In case of resize ...
46        if ($x + caca_get_canvas_width($pig) - 1 >= caca_get_canvas_width($canvas) || $x < 0 )
47                $x = 0;
48        if ($y + caca_get_canvas_height($pig) - 1 >= caca_get_canvas_height($canvas) || $y < 0 )
49                $y = 0;
[3104]50
[3105]51        caca_clear_canvas($canvas);
52
53        // Draw pig
54        caca_blit($canvas, $x, $y, $pig);
55        caca_refresh_display($display);
56
57        $x += $ix;
58        $y += $iy;
59
60        if ($x + caca_get_canvas_width($pig) >= caca_get_canvas_width($canvas) || $x < 0 )
61                $ix = -$ix;
62        if ($y + caca_get_canvas_height($pig) >= caca_get_canvas_height($canvas) || $y < 0 )
63                $iy = -$iy;
64}
65
Note: See TracBrowser for help on using the repository browser.