File: truecolor.php

package info (click to toggle)
libcaca 0.99.beta20-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 5,264 kB
  • sloc: ansic: 25,091; php: 2,763; python: 2,637; cs: 1,213; cpp: 1,127; java: 916; objc: 836; makefile: 543; perl: 505; sh: 472; asm: 297; ruby: 215; xml: 33
file content (50 lines) | stat: -rwxr-xr-x 1,347 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/usr/bin/php5
<?php
/*
 *  truecolor      truecolor canvas features
 *  Copyright (c) 2008 Benjamin C. Wiley Sittler <bsittler@gmail.com>
 *
 *  This file is a Php port of "examples/truecolor.c"
 *  which is:
 *  Copyright (c) 2006 Sam Hocevar <sam@hocevar.net>
 *          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://www.wtfpl.net/ for more details.
 */

if (php_sapi_name() != "cli") {
    die("You have to run this program with php-cli!\n");
}

$cv = caca_create_canvas(32, 16);
if(!$cv) {
    die("Failed to create canvas\n");
}

$dp = caca_create_display($cv);
if(!$dp) {
    die("Failed to create display\n");
}

for($y = 0; $y < 16; $y++)
    for($x = 0; $x < 16; $x++)
    {
        $bgcolor = 0xff00 | ($y << 4) | $x;
        $fgcolor = 0xf000 | ((15 - $y) << 4) | ((15 - $x) << 8);

        caca_set_color_argb($cv, $fgcolor, $bgcolor);
        caca_put_str($cv, $x * 2, $y, "CA");
    }

caca_set_color_ansi($cv, CACA_WHITE, CACA_LIGHTBLUE);
caca_put_str($cv, 2, 1, " truecolor libcaca ");

caca_refresh_display($dp);

caca_get_event($dp, CACA_EVENT_KEY_PRESS, -1);

?>