|
- #!/usr/bin/php5
- <?php
- /*
- * cacapig.php sample program for libcaca php binding
- * Copyright (c) 2008 Nicolas Vion <nico@yojik.eu>
- *
- * This file is a Php port of "cxx/cpptest.cpp"
- * which is:
- * Copyright (c) 2006 Jean-Yves Lamoureux <jylam@lnxscene.org>
- * All Rights Reserved
- *
- * This program is free software. It comes without any warranty, to
- * the extent permitted by applicable law. You can redistribute it
- * and/or modify it under the terms of the Do What The Fuck You Want
- * To Public License, Version 2, as published by Sam Hocevar. See
- * http://sam.zoy.org/wtfpl/COPYING for more details.
- */
-
-
- $pig_str = <<<EOT
-
- _._ _..._ .-', _.._(`))
- '-. ` ' /-._.-' ',/
- ) \ '.
- / _ _ | \
- | a a / PHP |
- \ .-. ;
- '-('' ).-' ,' ;
- '-; | .'
- \ \ /
- | 7 .__ _.-\ \
- | | | ``/ /` /
- jgs /,_| | /,_/ /
- /,_/ '`-'
- EOT;
-
- $canvas = caca_create_canvas(0, 0);
- if (!$canvas) {
- die("Error while creating main canvas\n");
- }
-
- $pig = caca_create_canvas(0, 0);
- if (!$pig) {
- die("Error while creating canvas pig\n");
- }
-
- $display = caca_create_display($canvas);
- if (!$display) {
- die("Error while attaching canvas to display\n");
- }
-
-
- caca_set_color_ansi($pig, CACA_LIGHTMAGENTA, CACA_TRANSPARENT);
- caca_set_color_ansi($canvas, CACA_LIGHTBLUE, CACA_TRANSPARENT);
- caca_import_string($pig, $pig_str, "text");
- caca_set_display_time($display, 30000);
-
- $x = $y = 0;
- $ix = $iy = 1;
-
- while (!caca_get_event($display, CACA_EVENT_KEY_PRESS)) {
- // In case of resize ...
- if ($x + caca_get_canvas_width($pig) - 1 >= caca_get_canvas_width($canvas) || $x < 0 )
- $x = 0;
- if ($y + caca_get_canvas_height($pig) - 1 >= caca_get_canvas_height($canvas) || $y < 0 )
- $y = 0;
-
- caca_clear_canvas($canvas);
-
- // Draw
- caca_blit($canvas, $x, $y, $pig);
- caca_put_str($canvas, caca_get_canvas_width($canvas) / 2 - 10, caca_get_canvas_height($canvas) / 2, "Powered by libcaca ".caca_get_version());
- caca_refresh_display($display);
-
-
- // Move cursor
- $x += $ix;
- $y += $iy;
- if ($x + caca_get_canvas_width($pig) >= caca_get_canvas_width($canvas) || $x < 0 )
- $ix = -$ix;
- if ($y + caca_get_canvas_height($pig) >= caca_get_canvas_height($canvas) || $y < 0 )
- $iy = -$iy;
- }
-
- ?>
|