Changeset 3094 for libcaca


Ignore:
Timestamp:
Oct 25, 2008, 1:20:42 AM (11 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.