Changeset 3110
- Timestamp:
- Oct 26, 2008, 3:14:58 PM (14 years ago)
- Location:
- libcaca/trunk/caca-php
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
libcaca/trunk/caca-php/examples/demo.php
r3109 r3110 1 1 #!/usr/bin/php5 2 2 <? 3 /* 4 * demo.php demo for libcaca php binding 5 * Copyright (c) 2008 Nicolas Vion <nico@yojik.eu> 6 * 7 * This file is a Php port of the official libcaca's sample program "demo.c" 8 * which is: 9 * Copyright (c) 2003 Sam Hocevar <sam@zoy.org> 10 * 11 * This program is free software. It comes without any warranty, to 12 * the extent permitted by applicable law. You can redistribute it 13 * and/or modify it under the terms of the Do What The Fuck You Want 14 * To Public License, Version 2, as published by Sam Hocevar. See 15 * http://sam.zoy.org/wtfpl/COPYING for more details. 16 */ 3 17 4 18 function main() { … … 13 27 } 14 28 15 16 29 caca_set_display_time($dp, 40000); 17 30 … … 22 35 display_menu($cv, $dp, $bounds, $outline); 23 36 caca_refresh_display($dp); 24 25 37 26 38 /* Go ! */ -
libcaca/trunk/caca-php/examples/example1.php
r3106 r3110 43 43 $ix = $iy = 1; 44 44 45 while ( caca_get_event($display, CACA_EVENT_KEY_PRESS)) {45 while (!caca_get_event($display, CACA_EVENT_KEY_PRESS)) { 46 46 // In case of resize ... 47 47 if ($x + caca_get_canvas_width($pig) - 1 >= caca_get_canvas_width($canvas) || $x < 0 ) -
libcaca/trunk/caca-php/php_caca.c
r3109 r3110 45 45 PHP_FE(caca_flip, NULL) 46 46 PHP_FE(caca_flop, NULL) 47 PHP_FE(caca_rotate_180, NULL) 47 48 PHP_FE(caca_rotate_left, NULL) 48 49 PHP_FE(caca_rotate_right, NULL) … … 57 58 PHP_FE(caca_attr_to_ansi_fg, NULL) 58 59 PHP_FE(caca_attr_to_ansi_bg, NULL) 60 PHP_FE(caca_attr_to_rgb12_fg, NULL) 61 PHP_FE(caca_attr_to_rgb12_bg, NULL) 62 PHP_FE(caca_attr_to_argb64, NULL) 63 PHP_FE(caca_utf8_to_utf32, NULL) 64 PHP_FE(caca_utf32_to_utf8, NULL) 65 PHP_FE(caca_utf32_to_cp437, NULL) 66 PHP_FE(caca_cp437_to_utf32, NULL) 67 PHP_FE(caca_utf32_to_ascii, NULL) 68 PHP_FE(caca_utf32_is_fullwidth, NULL) 59 69 PHP_FE(caca_draw_line, NULL) 60 70 PHP_FE(caca_draw_polyline, NULL) … … 323 333 RETURN_STRING(str, 0); 324 334 335 #define RETURN_SUCCESS(i) \ 336 RETURN_BOOL((i) == 0); 337 325 338 //------- PHP Binding's specific functions ----------// 326 339 … … 359 372 caca_canvas_t *canvas; 360 373 ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas); 361 RETURN_ BOOL(caca_set_canvas_size(canvas, width, height) == 0);374 RETURN_SUCCESS(caca_set_canvas_size(canvas, width, height)); 362 375 } 363 376 … … 406 419 caca_canvas_t *canvas; 407 420 ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas); 408 RETURN_ BOOL(caca_gotoxy(canvas, x, y) == 0);421 RETURN_SUCCESS(caca_gotoxy(canvas, x, y)); 409 422 } 410 423 … … 433 446 RETURN_FALSE; 434 447 } 435 RETURN_ BOOL(caca_put_char(canvas, x, y, str[0]) == 0);448 RETURN_SUCCESS(caca_put_char(canvas, x, y, str[0])); 436 449 } 437 450 … … 456 469 caca_canvas_t *canvas; 457 470 ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas); 458 RETURN_ BOOL(caca_put_str(canvas, x, y, str) == 0);471 RETURN_SUCCESS(caca_put_str(canvas, x, y, str)); 459 472 } 460 473 … … 473 486 caca_canvas_t *canvas; 474 487 ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas); 475 RETURN_ BOOL(caca_set_canvas_handle(canvas, x, y) == 0);488 RETURN_SUCCESS(caca_set_canvas_handle(canvas, x, y)); 476 489 } 477 490 … … 500 513 ZEND_FETCH_RESOURCE(mask, caca_canvas_t*, &_zval3, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas); 501 514 } 502 RETURN_ BOOL(caca_blit(dst, x, y, src, NULL) == 0);515 RETURN_SUCCESS(caca_blit(dst, x, y, src, NULL)); 503 516 } 504 517 … … 511 524 caca_canvas_t *canvas; 512 525 ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas); 513 RETURN_ BOOL(caca_set_canvas_boundaries(canvas, x, y, width, height) == 0);526 RETURN_SUCCESS(caca_set_canvas_boundaries(canvas, x, y, width, height)); 514 527 } 515 528 … … 517 530 caca_canvas_t *canvas; 518 531 FETCH_CANVAS(canvas); 519 RETURN_ BOOL(caca_invert(canvas) == 0);532 RETURN_SUCCESS(caca_invert(canvas)); 520 533 } 521 534 … … 523 536 caca_canvas_t *canvas; 524 537 FETCH_CANVAS(canvas); 525 RETURN_ BOOL(caca_flip(canvas) == 0);538 RETURN_SUCCESS(caca_flip(canvas)); 526 539 } 527 540 … … 529 542 caca_canvas_t *canvas; 530 543 FETCH_CANVAS(canvas); 531 RETURN_ BOOL(caca_flop(canvas) == 0);544 RETURN_SUCCESS(caca_flop(canvas)); 532 545 } 533 546 … … 535 548 caca_canvas_t *canvas; 536 549 FETCH_CANVAS(canvas); 537 RETURN_ BOOL(caca_rotate_180(canvas) == 0);550 RETURN_SUCCESS(caca_rotate_180(canvas)); 538 551 } 539 552 … … 541 554 caca_canvas_t *canvas; 542 555 FETCH_CANVAS(canvas); 543 RETURN_ BOOL(caca_rotate_left(canvas) == 0);556 RETURN_SUCCESS(caca_rotate_left(canvas)); 544 557 } 545 558 … … 547 560 caca_canvas_t *canvas; 548 561 FETCH_CANVAS(canvas); 549 RETURN_ BOOL(caca_rotate_right(canvas) == 0);562 RETURN_SUCCESS(caca_rotate_right(canvas)); 550 563 } 551 564 … … 553 566 caca_canvas_t *canvas; 554 567 FETCH_CANVAS(canvas); 555 RETURN_ BOOL(caca_stretch_left(canvas) == 0);568 RETURN_SUCCESS(caca_stretch_left(canvas)); 556 569 } 557 570 … … 559 572 caca_canvas_t *canvas; 560 573 FETCH_CANVAS(canvas); 561 RETURN_ BOOL(caca_stretch_right(canvas) == 0);574 RETURN_SUCCESS(caca_stretch_right(canvas)); 562 575 } 563 576 564 577 PHP_FUNCTION(caca_get_attr) { 578 zval *_zval; 579 long x, y = 0; 580 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rll", &_zval, &x, &y) == FAILURE) { 581 RETURN_FALSE; 582 } 583 caca_canvas_t *canvas; 584 ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas); 585 RETURN_LONG(caca_get_attr(canvas, x, y)); 565 586 } 566 587 … … 569 590 570 591 PHP_FUNCTION(caca_put_attr) { 592 zval *_zval; 593 long x, y, attr = 0; 594 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rlll", &_zval, &x, &y, &attr) == FAILURE) { 595 RETURN_FALSE; 596 } 597 caca_canvas_t *canvas; 598 ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas); 599 RETURN_SUCCESS(caca_put_attr(canvas, x, y, attr)); 571 600 } 572 601 … … 579 608 caca_canvas_t *canvas; 580 609 ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas); 581 RETURN_ BOOL(caca_set_color_ansi(canvas, foreground, background) == 0);610 RETURN_SUCCESS(caca_set_color_ansi(canvas, foreground, background)); 582 611 } 583 612 … … 592 621 593 622 PHP_FUNCTION(caca_attr_to_ansi_bg) { 623 } 624 625 PHP_FUNCTION(caca_attr_to_rgb12_fg) { 626 } 627 628 PHP_FUNCTION(caca_attr_to_rgb12_bg) { 629 } 630 631 PHP_FUNCTION(caca_attr_to_argb64) { 632 } 633 634 PHP_FUNCTION(caca_utf8_to_utf32) { 635 } 636 637 PHP_FUNCTION(caca_utf32_to_utf8) { 638 } 639 640 PHP_FUNCTION(caca_utf32_to_cp437) { 641 } 642 643 PHP_FUNCTION(caca_cp437_to_utf32) { 644 } 645 646 PHP_FUNCTION(caca_utf32_to_ascii) { 647 } 648 649 PHP_FUNCTION(caca_utf32_is_fullwidth) { 594 650 } 595 651 … … 606 662 RETURN_FALSE; 607 663 } 608 RETURN_ BOOL(caca_draw_line(canvas, xa, ya, xb, yb, str[0]) == 0);664 RETURN_SUCCESS(caca_draw_line(canvas, xa, ya, xb, yb, str[0])); 609 665 } 610 666 … … 620 676 caca_canvas_t *canvas; 621 677 ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas); 622 RETURN_ BOOL(caca_draw_thin_line(canvas, xa, ya, xb, yb) == 0);678 RETURN_SUCCESS(caca_draw_thin_line(canvas, xa, ya, xb, yb)); 623 679 } 624 680 … … 638 694 RETURN_FALSE; 639 695 } 640 RETURN_ BOOL(caca_draw_circle(canvas, x, y, r, str[0]) == 0);696 RETURN_SUCCESS(caca_draw_circle(canvas, x, y, r, str[0])); 641 697 } 642 698 … … 653 709 RETURN_FALSE; 654 710 } 655 RETURN_ BOOL(caca_draw_ellipse(canvas, xa, ya, xb, yb, str[0]) == 0);711 RETURN_SUCCESS(caca_draw_ellipse(canvas, xa, ya, xb, yb, str[0])); 656 712 } 657 713 … … 664 720 caca_canvas_t *canvas; 665 721 ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas); 666 RETURN_ BOOL(caca_draw_thin_ellipse(canvas, xa, ya, xb, yb) == 0);722 RETURN_SUCCESS(caca_draw_thin_ellipse(canvas, xa, ya, xb, yb)); 667 723 } 668 724 … … 679 735 RETURN_FALSE; 680 736 } 681 RETURN_ BOOL(caca_fill_ellipse(canvas, xa, ya, xb, yb, str[0]) == 0);737 RETURN_SUCCESS(caca_fill_ellipse(canvas, xa, ya, xb, yb, str[0])); 682 738 } 683 739 … … 694 750 RETURN_FALSE; 695 751 } 696 RETURN_ BOOL(caca_draw_box(canvas, xa, ya, xb, yb, str[0]) == 0);752 RETURN_SUCCESS(caca_draw_box(canvas, xa, ya, xb, yb, str[0])); 697 753 } 698 754 … … 705 761 caca_canvas_t *canvas; 706 762 ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas); 707 RETURN_ BOOL(caca_draw_thin_box(canvas, xa, ya, xb, yb) == 0);763 RETURN_SUCCESS(caca_draw_thin_box(canvas, xa, ya, xb, yb)); 708 764 } 709 765 … … 716 772 caca_canvas_t *canvas; 717 773 ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas); 718 RETURN_ BOOL(caca_draw_cp437_box(canvas, xa, ya, xb, yb) == 0);774 RETURN_SUCCESS(caca_draw_cp437_box(canvas, xa, ya, xb, yb)); 719 775 } 720 776 … … 731 787 RETURN_FALSE; 732 788 } 733 RETURN_ BOOL(caca_fill_box(canvas, xa, ya, xb, yb, str[0]) == 0);789 RETURN_SUCCESS(caca_fill_box(canvas, xa, ya, xb, yb, str[0])); 734 790 } 735 791 … … 746 802 RETURN_FALSE; 747 803 } 748 RETURN_ BOOL(caca_draw_triangle(canvas, xa, ya, xb, yb, xc, yc, str[0]) == 0);804 RETURN_SUCCESS(caca_draw_triangle(canvas, xa, ya, xb, yb, xc, yc, str[0])); 749 805 } 750 806 … … 757 813 caca_canvas_t *canvas; 758 814 ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas); 759 RETURN_ BOOL(caca_draw_thin_triangle(canvas, xa, ya, xb, yb, xc, yc) == 0);815 RETURN_SUCCESS(caca_draw_thin_triangle(canvas, xa, ya, xb, yb, xc, yc)); 760 816 } 761 817 … … 772 828 RETURN_FALSE; 773 829 } 774 RETURN_ BOOL(caca_fill_triangle(canvas, xa, ya, xb, yb, xc, yc, str[0]) == 0);830 RETURN_SUCCESS(caca_fill_triangle(canvas, xa, ya, xb, yb, xc, yc, str[0])); 775 831 } 776 832 … … 951 1007 caca_display_t *display; 952 1008 FETCH_DISPLAY(display); 953 RETURN_ BOOL(caca_refresh_display(display) == 0);1009 RETURN_SUCCESS(caca_refresh_display(display)); 954 1010 } 955 1011 … … 962 1018 caca_display_t *display; 963 1019 ZEND_FETCH_RESOURCE(display, caca_display_t*, &_zval, -1, PHP_CACA_DISPLAY_RES_NAME, le_caca_display); 964 RETURN_ BOOL(caca_set_display_time(display, value) == 0);1020 RETURN_SUCCESS(caca_set_display_time(display, value)); 965 1021 } 966 1022 … … 992 1048 caca_display_t *display; 993 1049 ZEND_FETCH_RESOURCE(display, caca_display_t*, &_zval, -1, PHP_CACA_DISPLAY_RES_NAME, le_caca_display); 994 RETURN_ BOOL(caca_set_display(display, str) == 0);1050 RETURN_SUCCESS(caca_set_display(display, str)); 995 1051 } 996 1052 … … 1003 1059 caca_display_t *display; 1004 1060 ZEND_FETCH_RESOURCE(display, caca_display_t*, &_zval, -1, PHP_CACA_DISPLAY_RES_NAME, le_caca_display); 1005 RETURN_ BOOL(caca_set_mouse(display, value) == 0);1061 RETURN_SUCCESS(caca_set_mouse(display, value)); 1006 1062 } 1007 1063 … … 1014 1070 caca_display_t *display; 1015 1071 ZEND_FETCH_RESOURCE(display, caca_display_t*, &_zval, -1, PHP_CACA_DISPLAY_RES_NAME, le_caca_display); 1016 RETURN_ BOOL(caca_set_cursor(display, value) == 0);1072 RETURN_SUCCESS(caca_set_cursor(display, value)); 1017 1073 } 1018 1074 -
libcaca/trunk/caca-php/php_caca.h
r3108 r3110 63 63 PHP_FUNCTION(caca_flip); 64 64 PHP_FUNCTION(caca_flop); 65 PHP_FUNCTION(caca_rotate_180); 65 66 PHP_FUNCTION(caca_rotate_left); 66 67 PHP_FUNCTION(caca_rotate_right); … … 75 76 PHP_FUNCTION(caca_attr_to_ansi_fg); 76 77 PHP_FUNCTION(caca_attr_to_ansi_bg); 78 PHP_FUNCTION(caca_attr_to_rgb12_fg); 79 PHP_FUNCTION(caca_attr_to_rgb12_bg); 80 PHP_FUNCTION(caca_attr_to_argb64); 81 PHP_FUNCTION(caca_utf8_to_utf32); 82 PHP_FUNCTION(caca_utf32_to_utf8); 83 PHP_FUNCTION(caca_utf32_to_cp437); 84 PHP_FUNCTION(caca_cp437_to_utf32); 85 PHP_FUNCTION(caca_utf32_to_ascii); 86 PHP_FUNCTION(caca_utf32_is_fullwidth); 77 87 PHP_FUNCTION(caca_draw_line); 78 88 PHP_FUNCTION(caca_draw_polyline);
Note: See TracChangeset
for help on using the changeset viewer.