Ignore:
Timestamp:
Oct 28, 2008, 8:30:10 PM (11 years ago)
Author:
nico
Message:
  • Change type of the last argument of drawing function (from string to long)
  • Adapt sample programs
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcaca/trunk/caca-php/php_caca.c

    r3131 r3132  
    474474PHP_FUNCTION(caca_put_char) {
    475475        zval *_zval;
    476         char *str;
    477         long str_len, x, y = 0;
    478         if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rlls", &_zval, &x, &y, &str, &str_len) == FAILURE) {
    479                 RETURN_FALSE;
    480         }
    481         caca_canvas_t *canvas;
    482         ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas);
    483         if (str_len != 1) {
    484                 RETURN_FALSE;
    485         }
    486         RETURN_SUCCESS(caca_put_char(canvas, x, y, str[0]));
     476        long x, y, c;
     477        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rlll", &_zval, &x, &y, &c) == FAILURE) {
     478                RETURN_FALSE;
     479        }
     480        caca_canvas_t *canvas;
     481        ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas);
     482        RETURN_SUCCESS(caca_put_char(canvas, x, y, c));
    487483}
    488484
     
    721717PHP_FUNCTION(caca_draw_line) {
    722718        zval *_zval;
    723         char *str;
    724         long str_len, xa, ya, xb, yb = 0;
    725         if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rlllls", &_zval, &xa, &ya, &xb, &yb, &str, &str_len) == FAILURE) {
    726                 RETURN_FALSE;
    727         }
    728         caca_canvas_t *canvas;
    729         ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas);
    730         if (str_len != 1) {
    731                 RETURN_FALSE;
    732         }
    733         RETURN_SUCCESS(caca_draw_line(canvas, xa, ya, xb, yb, str[0]));
     719        long xa, ya, xb, yb, c;
     720        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rlllll", &_zval, &xa, &ya, &xb, &yb, &c) == FAILURE) {
     721                RETURN_FALSE;
     722        }
     723        caca_canvas_t *canvas;
     724        ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas);
     725        RETURN_SUCCESS(caca_draw_line(canvas, xa, ya, xb, yb, c));
    734726}
    735727
    736728PHP_FUNCTION(caca_draw_polyline) {
    737729        zval *zval_res, *zval_arr;
    738         char *c;
    739         long c_len;
    740 
    741         if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ras", &zval_res, &zval_arr, &c, &c_len) == FAILURE) {
    742                 RETURN_FALSE;
    743         }
    744 
    745         if (c_len != 1) {
     730        long c;
     731
     732        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ral", &zval_res, &zval_arr, &c) == FAILURE) {
    746733                RETURN_FALSE;
    747734        }
     
    776763                }
    777764        }
    778         int res = caca_draw_polyline(canvas, tbl_x, tbl_y, tbl_count - 1, c[0]);
     765        int res = caca_draw_polyline(canvas, tbl_x, tbl_y, tbl_count - 1, c);
    779766        free(tbl_x);
    780767        free(tbl_y);
     
    836823PHP_FUNCTION(caca_draw_circle) {
    837824        zval *_zval;
    838         char *str;
    839         long str_len, x, y, r = 0;
    840         if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rllls", &_zval, &x, &y, &r, &str, &str_len) == FAILURE) {
    841                 RETURN_FALSE;
    842         }
    843         caca_canvas_t *canvas;
    844         ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas);
    845         if (str_len != 1) {
    846                 RETURN_FALSE;
    847         }
    848         RETURN_SUCCESS(caca_draw_circle(canvas, x, y, r, str[0]));
     825        long x, y, r, c;
     826        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rllll", &_zval, &x, &y, &r, &c) == FAILURE) {
     827                RETURN_FALSE;
     828        }
     829        caca_canvas_t *canvas;
     830        ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas);
     831        RETURN_SUCCESS(caca_draw_circle(canvas, x, y, r, c));
    849832}
    850833
    851834PHP_FUNCTION(caca_draw_ellipse) {
    852835        zval *_zval;
    853         char *str;
    854         long str_len, xa, ya, xb, yb = 0;
    855         if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rlllls", &_zval, &xa, &ya, &xb, &yb, &str, &str_len) == FAILURE) {
    856                 RETURN_FALSE;
    857         }
    858         caca_canvas_t *canvas;
    859         ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas);
    860         if (str_len != 1) {
    861                 RETURN_FALSE;
    862         }
    863         RETURN_SUCCESS(caca_draw_ellipse(canvas, xa, ya, xb, yb, str[0]));
     836        long xa, ya, xb, yb, c = 0;
     837        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rlllll", &_zval, &xa, &ya, &xb, &yb, &c) == FAILURE) {
     838                RETURN_FALSE;
     839        }
     840        caca_canvas_t *canvas;
     841        ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas);
     842        RETURN_SUCCESS(caca_draw_ellipse(canvas, xa, ya, xb, yb, c));
    864843}
    865844
     
    877856PHP_FUNCTION(caca_fill_ellipse) {
    878857        zval *_zval;
    879         char *str;
    880         long str_len, xa, ya, xb, yb = 0;
    881         if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rlllls", &_zval, &xa, &ya, &xb, &yb, &str, &str_len) == FAILURE) {
    882                 RETURN_FALSE;
    883         }
    884         caca_canvas_t *canvas;
    885         ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas);
    886         if (str_len != 1) {
    887                 RETURN_FALSE;
    888         }
    889         RETURN_SUCCESS(caca_fill_ellipse(canvas, xa, ya, xb, yb, str[0]));
     858        long xa, ya, xb, yb, c;
     859        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rlllll", &_zval, &xa, &ya, &xb, &yb, &c) == FAILURE) {
     860                RETURN_FALSE;
     861        }
     862        caca_canvas_t *canvas;
     863        ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas);
     864        RETURN_SUCCESS(caca_fill_ellipse(canvas, xa, ya, xb, yb, c));
    890865}
    891866
    892867PHP_FUNCTION(caca_draw_box) {
    893868        zval *_zval;
    894         char *str;
    895         long str_len, xa, ya, xb, yb = 0;
    896         if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rlllls", &_zval, &xa, &ya, &xb, &yb, &str, &str_len) == FAILURE) {
    897                 RETURN_FALSE;
    898         }
    899         caca_canvas_t *canvas;
    900         ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas);
    901         if (str_len != 1) {
    902                 RETURN_FALSE;
    903         }
    904         RETURN_SUCCESS(caca_draw_box(canvas, xa, ya, xb, yb, str[0]));
     869        long xa, ya, xb, yb, c;
     870        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rlllll", &_zval, &xa, &ya, &xb, &yb, &c) == FAILURE) {
     871                RETURN_FALSE;
     872        }
     873        caca_canvas_t *canvas;
     874        ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas);
     875        RETURN_SUCCESS(caca_draw_box(canvas, xa, ya, xb, yb, c));
    905876}
    906877
     
    918889PHP_FUNCTION(caca_draw_cp437_box) {
    919890        zval *_zval;
    920         long xa, ya, xb, yb = 0;
     891        long xa, ya, xb, yb;
    921892        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rllll", &_zval, &xa, &ya, &xb, &yb) == FAILURE) {
    922893                RETURN_FALSE;
     
    929900PHP_FUNCTION(caca_fill_box) {
    930901        zval *_zval;
    931         char *str;
    932         long str_len, xa, ya, xb, yb = 0;
    933         if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rlllls", &_zval, &xa, &ya, &xb, &yb, &str, &str_len) == FAILURE) {
    934                 RETURN_FALSE;
    935         }
    936         caca_canvas_t *canvas;
    937         ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas);
    938         if (str_len != 1) {
    939                 RETURN_FALSE;
    940         }
    941         RETURN_SUCCESS(caca_fill_box(canvas, xa, ya, xb, yb, str[0]));
     902        long xa, ya, xb, yb, c;
     903        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rlllll", &_zval, &xa, &ya, &xb, &yb, &c) == FAILURE) {
     904                RETURN_FALSE;
     905        }
     906        caca_canvas_t *canvas;
     907        ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas);
     908        RETURN_SUCCESS(caca_fill_box(canvas, xa, ya, xb, yb, c));
    942909}
    943910
    944911PHP_FUNCTION(caca_draw_triangle) {
    945912        zval *_zval;
    946         char *str;
    947         long str_len, xa, ya, xb, yb, xc, yc = 0;
    948         if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rlllllls", &_zval, &xa, &ya, &xb, &yb, &xc, &yc, &str, &str_len) == FAILURE) {
    949                 RETURN_FALSE;
    950         }
    951         caca_canvas_t *canvas;
    952         ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas);
    953         if (str_len != 1) {
    954                 RETURN_FALSE;
    955         }
    956         RETURN_SUCCESS(caca_draw_triangle(canvas, xa, ya, xb, yb, xc, yc, str[0]));
     913        long xa, ya, xb, yb, xc, yc, c;
     914        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rlllllll", &_zval, &xa, &ya, &xb, &yb, &xc, &yc, &c) == FAILURE) {
     915                RETURN_FALSE;
     916        }
     917        caca_canvas_t *canvas;
     918        ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas);
     919        RETURN_SUCCESS(caca_draw_triangle(canvas, xa, ya, xb, yb, xc, yc, c));
    957920}
    958921
     
    970933PHP_FUNCTION(caca_fill_triangle) {
    971934        zval *_zval;
    972         char *str;
    973         long str_len, xa, ya, xb, yb, xc, yc = 0;
    974         if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rlllllls", &_zval, &xa, &ya, &xb, &yb, &xc, &yc, &str, &str_len) == FAILURE) {
    975                 RETURN_FALSE;
    976         }
    977         caca_canvas_t *canvas;
    978         ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas);
    979         if (str_len != 1) {
    980                 RETURN_FALSE;
    981         }
    982         RETURN_SUCCESS(caca_fill_triangle(canvas, xa, ya, xb, yb, xc, yc, str[0]));
     935        long xa, ya, xb, yb, xc, yc, c = 0;
     936        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rlllllll", &_zval, &xa, &ya, &xb, &yb, &xc, &yc, &c) == FAILURE) {
     937                RETURN_FALSE;
     938        }
     939        caca_canvas_t *canvas;
     940        ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas);
     941        RETURN_SUCCESS(caca_fill_triangle(canvas, xa, ya, xb, yb, xc, yc, c));
    983942}
    984943
Note: See TracChangeset for help on using the changeset viewer.