Ignore:
Timestamp:
Oct 26, 2008, 10:27:32 PM (12 years ago)
Author:
nico
Message:
  • Add binding for 7 new functions
  • Add just_for_fun() function in sample program drivers.php
File:
1 edited

Legend:

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

    r3113 r3114  
    957957
    958958PHP_FUNCTION(caca_get_dither_color_list) {
     959        zval *_zval;
     960        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &_zval) == FAILURE) {
     961                RETURN_FALSE;
     962        }
     963        caca_dither_t *dither;
     964        ZEND_FETCH_RESOURCE(dither, caca_dither_t*, &_zval, -1, PHP_CACA_DITHER_RES_NAME, le_caca_dither);
     965
     966        char const * const *list = caca_get_dither_antialias_list(dither);
     967        int i;
     968        array_init(return_value);       
     969        for(i = 0; list[i]; i += 2)
     970                add_assoc_string(return_value, (char*) list[i], (char*) list[i + 1], 1);
    959971}
    960972
     
    966978
    967979PHP_FUNCTION(caca_get_dither_charset_list) {
     980        zval *_zval;
     981        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &_zval) == FAILURE) {
     982                RETURN_FALSE;
     983        }
     984        caca_dither_t *dither;
     985        ZEND_FETCH_RESOURCE(dither, caca_dither_t*, &_zval, -1, PHP_CACA_DITHER_RES_NAME, le_caca_dither);
     986
     987        char const * const *list = caca_get_dither_charset_list(dither);
     988        int i;
     989        array_init(return_value);       
     990        for(i = 0; list[i]; i += 2)
     991                add_assoc_string(return_value, (char*) list[i], (char*) list[i + 1], 1);
    968992}
    969993
     
    975999
    9761000PHP_FUNCTION(caca_get_dither_algorithm_list) {
     1001        zval *_zval;
     1002        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &_zval) == FAILURE) {
     1003                RETURN_FALSE;
     1004        }
     1005        caca_dither_t *dither;
     1006        ZEND_FETCH_RESOURCE(dither, caca_dither_t*, &_zval, -1, PHP_CACA_DITHER_RES_NAME, le_caca_dither);
     1007
     1008        char const * const *list = caca_get_dither_algorithm_list(dither);
     1009        int i;
     1010        array_init(return_value);       
     1011        for(i = 0; list[i]; i += 2)
     1012                add_assoc_string(return_value, (char*) list[i], (char*) list[i + 1], 1);
    9771013}
    9781014
     
    9841020
    9851021PHP_FUNCTION(caca_get_font_list) {
     1022        char const * const *list = caca_get_font_list();
     1023        int i;
     1024        array_init(return_value);       
     1025        for(i = 0; list[i]; i += 1)
     1026                add_next_index_string(return_value, (char*) list[i], 1);
    9861027}
    9871028
    9881029PHP_FUNCTION(caca_get_font_width) {
     1030        zval *_zval;
     1031        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &_zval) == FAILURE) {
     1032                RETURN_FALSE;
     1033        }
     1034        caca_font_t *font;
     1035        ZEND_FETCH_RESOURCE(font, caca_font_t*, &_zval, -1, PHP_CACA_FONT_RES_NAME, le_caca_font);
     1036        RETURN_LONG(caca_get_font_width(font));
    9891037}
    9901038
    9911039PHP_FUNCTION(caca_get_font_height) {
     1040        zval *_zval;
     1041        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &_zval) == FAILURE) {
     1042                RETURN_FALSE;
     1043        }
     1044        caca_font_t *font;
     1045        ZEND_FETCH_RESOURCE(font, caca_font_t*, &_zval, -1, PHP_CACA_FONT_RES_NAME, le_caca_font);
     1046        RETURN_LONG(caca_get_font_height(font));
    9921047}
    9931048
     
    10621117
    10631118PHP_FUNCTION(caca_get_export_list) {
     1119        char const * const *list = caca_get_export_list();
     1120        int i;
     1121        array_init(return_value);       
     1122        for(i = 0; list[i]; i += 2)
     1123                add_assoc_string(return_value, (char*) list[i], (char*) list[i + 1], 1);
    10641124}
    10651125
Note: See TracChangeset for help on using the changeset viewer.