Changeset 3094


Ignore:
Timestamp:
10/25/08 01:20:42 (5 years ago)
Author:
nico
Message:
  • Add php bindings for 13 new functions
File:
1 edited

Legend:

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

    r3093 r3094  
    301301        ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas);  
    302302 
     303#define FETCH_DISPLAY(display) \ 
     304        zval *_zval; \ 
     305        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &_zval) == FAILURE) { \ 
     306                RETURN_FALSE; \ 
     307        } \ 
     308        ZEND_FETCH_RESOURCE(display, caca_display_t*, &_zval, -1, PHP_CACA_DISPLAY_RES_NAME, le_caca_display);  
     309 
     310#define FETCH_EVENT(event) \ 
     311        zval *_zval; \ 
     312        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &_zval) == FAILURE) { \ 
     313                RETURN_FALSE; \ 
     314        } \ 
     315        ZEND_FETCH_RESOURCE(event, caca_event_t*, &_zval, -1, PHP_CACA_EVENT_RES_NAME, le_caca_event);  
    303316 
    304317//-------CACA'S FUNCTIONS----------------// 
     
    681694 
    682695PHP_FUNCTION(caca_get_display_time) { 
     696        caca_display_t *display; 
     697        FETCH_DISPLAY(display); 
     698        RETURN_LONG(caca_get_display_time(display)); //TODO: check return value 
    683699} 
    684700 
    685701PHP_FUNCTION(caca_get_display_width) { 
     702        caca_display_t *display; 
     703        FETCH_DISPLAY(display); 
     704        RETURN_LONG(caca_get_display_width(display)); 
    686705} 
    687706 
    688707PHP_FUNCTION(caca_get_display_height) { 
     708        caca_display_t *display; 
     709        FETCH_DISPLAY(display); 
     710        RETURN_LONG(caca_get_display_height(display)); 
    689711} 
    690712 
    691713PHP_FUNCTION(caca_set_display_title) { 
     714        zval *_zval; 
     715        char *str; 
     716        long str_len = 0; 
     717        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &_zval, &str, &str_len) == FAILURE) { 
     718                RETURN_FALSE; 
     719        } 
     720        caca_display_t *display; 
     721        ZEND_FETCH_RESOURCE(display, caca_display_t*, &_zval, -1, PHP_CACA_DISPLAY_RES_NAME, le_caca_display); 
     722        RETURN_BOOL(caca_set_display(display, str) == 0); 
    692723} 
    693724 
    694725PHP_FUNCTION(caca_set_mouse) { 
     726        zval *_zval; 
     727        long value = 0; 
     728        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rl", &_zval, &value) == FAILURE) { 
     729                RETURN_FALSE; 
     730        } 
     731        caca_display_t *display; 
     732        ZEND_FETCH_RESOURCE(display, caca_display_t*, &_zval, -1, PHP_CACA_DISPLAY_RES_NAME, le_caca_display); 
     733        RETURN_BOOL(caca_set_display(display, value) == 0); 
    695734} 
    696735 
    697736PHP_FUNCTION(caca_set_cursor) { 
     737        zval *_zval; 
     738        long value = 0; 
     739        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rl", &_zval, &value) == FAILURE) { 
     740                RETURN_FALSE; 
     741        } 
     742        caca_display_t *display; 
     743        ZEND_FETCH_RESOURCE(display, caca_display_t*, &_zval, -1, PHP_CACA_DISPLAY_RES_NAME, le_caca_display); 
     744        RETURN_BOOL(caca_set_cursor(display, value) == 0); 
    698745} 
    699746 
     
    702749 
    703750PHP_FUNCTION(caca_get_mouse_x) { 
     751        caca_display_t *display; 
     752        FETCH_DISPLAY(display); 
     753        RETURN_LONG(caca_get_mouse_x(display)); 
    704754} 
    705755 
    706756PHP_FUNCTION(caca_get_mouse_y) { 
     757        caca_display_t *display; 
     758        FETCH_DISPLAY(display); 
     759        RETURN_LONG(caca_get_mouse_y(display)); 
    707760} 
    708761 
     
    714767 
    715768PHP_FUNCTION(caca_get_event_mouse_button) { 
     769        caca_event_t *event; 
     770        FETCH_EVENT(event); 
     771        RETURN_LONG(caca_get_event_mouse_button(event)); 
    716772} 
    717773 
    718774PHP_FUNCTION(caca_get_event_mouse_x) { 
     775        caca_event_t *event; 
     776        FETCH_EVENT(event); 
     777        RETURN_LONG(caca_get_event_mouse_x(event)); 
    719778} 
    720779 
    721780PHP_FUNCTION(caca_get_event_mouse_y) { 
     781        caca_event_t *event; 
     782        FETCH_EVENT(event); 
     783        RETURN_LONG(caca_get_event_mouse_y(event)); 
    722784} 
    723785 
    724786PHP_FUNCTION(caca_get_event_resize_width) { 
     787        caca_event_t *event; 
     788        FETCH_EVENT(event); 
     789        RETURN_LONG(caca_get_event_resize_width(event)); 
    725790} 
    726791 
    727792PHP_FUNCTION(caca_get_event_resize_height) { 
    728 } 
    729  
     793        caca_event_t *event; 
     794        FETCH_EVENT(event); 
     795        RETURN_LONG(caca_get_event_resize_height(event)); 
     796} 
     797 
Note: See TracChangeset for help on using the changeset viewer.