source: libcaca/trunk/caca-php/examples/polyline.php @ 3172

Last change on this file since 3172 was 3172, checked in by nico, 12 years ago
  • Add license headers in sample programs
  • Property svn:executable set to *
File size: 1.3 KB
Line 
1#!/usr/bin/php5
2<?php
3/*
4 *  polyline.php      sample program for libcaca php binding
5 *  Copyright (c) 2008 Nicolas Vion <nico@yojik.eu>
6 *
7 *  This program is free software. It comes without any warranty, to
8 *  the extent permitted by applicable law. You can redistribute it
9 *  and/or modify it under the terms of the Do What The Fuck You Want
10 *  To Public License, Version 2, as published by Sam Hocevar. See
11 *  http://sam.zoy.org/wtfpl/COPYING for more details.
12 */
13
14function transform($tbl, $tx, $ty, $sx, $sy) {
15        $result = array();
16        foreach($tbl as $pt)
17                $result[] = array($pt[0] * $sx + $tx, $pt[1] * $sy + $ty);
18        return $result;
19}
20
21$canvas = caca_create_canvas(0, 0);
22$display = caca_create_display($canvas);
23if (!$display) {
24        die("Error while attaching canvas to display\n");
25}
26
27$tbl = array(
28        array(5, 2),
29        array(15, 2),
30        array(20, 4),
31        array(25, 2),
32        array(34, 2),
33        array(37, 4),
34        array(36, 9),
35        array(20, 16),
36        array(3, 9),
37        array(2, 4),
38        array(5, 2)
39);
40
41for ($i = 0; $i < 10; $i++) {
42        caca_set_color_ansi($canvas, 1 + (($color += 4) % 15), CACA_TRANSPARENT);
43        $scale = caca_rand(4, 10) / 10;
44        $translate = array(caca_rand(-5, 55), caca_rand(-2, 25));
45        $pts = transform($tbl, $translate[0], $translate[1], $scale, $scale);
46        caca_draw_thin_polyline($canvas, $pts);
47}
48
49caca_put_str($canvas, 1, 1, "Caca forever...");
50caca_refresh_display($display);
51sleep(5);
52
53?>
Note: See TracBrowser for help on using the repository browser.