浏览代码

* Add php binding for 7 new caca's functions

tags/v0.99.beta17
Nicolas Vion nico 17 年前
父节点
当前提交
afdc455d8c
共有 1 个文件被更改,包括 30 次插入0 次删除
  1. +30
    -0
      caca-php/php_caca.c

+ 30
- 0
caca-php/php_caca.c 查看文件

@@ -304,6 +304,11 @@ PHP_MINIT_FUNCTION(caca) {
//-------CACA'S FUNCTIONS----------------// //-------CACA'S FUNCTIONS----------------//


PHP_FUNCTION(caca_create_canvas) { PHP_FUNCTION(caca_create_canvas) {
long width, height = 0;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ll", &width, &height) == FAILURE) {
RETURN_FALSE;
}
RETURN_BOOL(caca_create_canvas(width, height) == 0);
} }


PHP_FUNCTION(caca_manage_canvas) { PHP_FUNCTION(caca_manage_canvas) {
@@ -316,18 +321,35 @@ PHP_FUNCTION(caca_set_canvas_size) {
} }


PHP_FUNCTION(caca_get_canvas_width) { PHP_FUNCTION(caca_get_canvas_width) {
caca_canvas_t *canvas;
FETCH_CANVAS(canvas);
RETURN_LONG(caca_get_canvas_width(canvas));
} }


PHP_FUNCTION(caca_get_canvas_height) { PHP_FUNCTION(caca_get_canvas_height) {
caca_canvas_t *canvas;
FETCH_CANVAS(canvas);
RETURN_LONG(caca_get_canvas_height(canvas));
} }


PHP_FUNCTION(caca_get_canvas_chars) { PHP_FUNCTION(caca_get_canvas_chars) {
caca_canvas_t *canvas;
FETCH_CANVAS(canvas);
RETURN_STRING(estrdup(caca_get_canvas_chars(canvas)), 0); //TODO: check that return \0 terminated string
} }


PHP_FUNCTION(caca_get_canvas_attrs) { PHP_FUNCTION(caca_get_canvas_attrs) {
caca_canvas_t *canvas;
FETCH_CANVAS(canvas);
RETURN_STRING(estrdup(caca_get_canvas_attrs(canvas)), 0); //TODO: check that return \0 terminated string
} }


PHP_FUNCTION(caca_rand) { PHP_FUNCTION(caca_rand) {
long min, max = 0;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ll", &min, &max) == FAILURE) {
RETURN_FALSE;
}
RETURN_LONG(caca_rand(min, max));
} }


PHP_FUNCTION(caca_get_version) { PHP_FUNCTION(caca_get_version) {
@@ -335,6 +357,14 @@ PHP_FUNCTION(caca_get_version) {
} }


PHP_FUNCTION(caca_gotoxy) { PHP_FUNCTION(caca_gotoxy) {
zval *_zval;
long x, y = 0;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rll", &_zval, &x, &y) == FAILURE) {
RETURN_FALSE;
}
caca_canvas_t *canvas;
ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas);
RETURN_BOOL(caca_gotoxy(canvas, x, y) == 0);
} }


PHP_FUNCTION(caca_get_cursor_x) { PHP_FUNCTION(caca_get_cursor_x) {


正在加载...
取消
保存