From 7f861372af3ef1552c3c4bd366c1bb9f0d9f22f5 Mon Sep 17 00:00:00 2001 From: aki Date: Sun, 15 Jun 2008 14:04:21 +0530 Subject: [PATCH] Debugs continue ... --- individual_files/phpCairo.c | 5 +- individual_files/phpCairoContext.c | 12 +++-- individual_files/phpCairoFont.c | 2 +- individual_files/phpCairoPattern.c | 94 +++++++++++++++++--------------------- individual_files/phpCairoSurface.c | 14 +++--- individual_files/php_phpCairo.h | 12 ++--- 6 files changed, 64 insertions(+), 75 deletions(-) diff --git a/individual_files/phpCairo.c b/individual_files/phpCairo.c index 2c0e5e4..86eb45a 100644 --- a/individual_files/phpCairo.c +++ b/individual_files/phpCairo.c @@ -307,15 +307,12 @@ PHP_FUNCTION(cairo_version) PHP_FUNCTION(cairo_version_string) { - + char *a; if (ZEND_NUM_ARGS()>0) { WRONG_PARAM_COUNT; } - - php_error(E_WARNING, "cairo_version_string: not yet implemented"); RETURN_FALSE; - RETURN_STRING(cairo_version_string(), 1); } /* }}} cairo_version_string */ diff --git a/individual_files/phpCairoContext.c b/individual_files/phpCairoContext.c index 64e695d..cc769de 100644 --- a/individual_files/phpCairoContext.c +++ b/individual_files/phpCairoContext.c @@ -774,9 +774,9 @@ PHP_METHOD(CairoContext, get_group_target) _this_ce = Z_OBJCE_P(_this_zval); context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); - sur = cairo_surface_reference(cairo_get_group_target(curr->context)); + sur = cairo_get_group_target(curr->context); - ce = getCairoSurface_ce_ptr(sur); + ce = get_CairoSurface_ce_ptr(sur); object_init_ex(return_value, ce); surface_object *sobj = (surface_object *)zend_objects_get_address(return_value TSRMLS_CC); @@ -1011,7 +1011,7 @@ PHP_METHOD(CairoContext, get_target) sur = cairo_surface_reference(cairo_get_target(curr->context)); - ce = getCairoSurface_ce_ptr(sur); + ce = get_CairoSurface_ce_ptr(sur); object_init_ex(return_value, ce); surface_object *sobj = (surface_object *)zend_objects_get_address(return_value TSRMLS_CC); @@ -1491,7 +1491,7 @@ PHP_METHOD(CairoContext, pop_group) context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); pat = cairo_pop_group(curr->context); - ce = getCairoPattern_ce_ptr(pat); + ce = get_CairoPattern_ce_ptr(pat); object_init_ex(return_value, ce); pattern_object *ptobj=(pattern_object *)zend_objects_get_address(return_value TSRMLS_CC); ptobj->pattern = pat; @@ -1890,7 +1890,8 @@ PHP_METHOD(CairoContext, set_dash) _this_ce = Z_OBJCE_P(_this_zval); context_object *curr=(context_object *)zend_objects_get_address(_this_zval TSRMLS_CC); i = zend_hash_num_elements(dashes_hash); - printf("num %d",i); + if(i!=num_dashes) + printf("Problem !!!"); i=0; for(zend_hash_internal_pointer_reset(dashes_hash); zend_hash_has_more_elements(dashes_hash) == SUCCESS; zend_hash_move_forward(dashes_hash)) { if (zend_hash_get_current_data(dashes_hash, (void **)&ppzval) == FAILURE) { @@ -1898,6 +1899,7 @@ PHP_METHOD(CairoContext, set_dash) } das[i++] = Z_DVAL_PP(ppzval); + } cairo_set_dash(curr->context, das, num_dashes, offset); phpCAIRO_CONTEXT_ERROR(curr->context); diff --git a/individual_files/phpCairoFont.c b/individual_files/phpCairoFont.c index b289818..469b670 100644 --- a/individual_files/phpCairoFont.c +++ b/individual_files/phpCairoFont.c @@ -249,7 +249,7 @@ PHP_METHOD(CairoFontOptions, set_hint_metrics) _this_ce = Z_OBJCE_P(_this_zval); fontoptions_object *curr = (fontoptions_object *)zend_objects_get_address(_this_zval TSRMLS_CC); - cairo_font_options_set_hints_metrics(curr->fontoptions, hm); + cairo_font_options_set_hint_metrics(curr->fontoptions, hm); phpCAIRO_FONTOPTIONS_ERROR(curr->fontoptions); } diff --git a/individual_files/phpCairoPattern.c b/individual_files/phpCairoPattern.c index f0b7b91..0a97ce2 100644 --- a/individual_files/phpCairoPattern.c +++ b/individual_files/phpCairoPattern.c @@ -75,10 +75,52 @@ PHP_METHOD(CairoPattern, set_matrix) /* }}} set_matrix */ +/* {{{ proto void set_extend(int extend) + */ +PHP_METHOD(CairoPattern, set_extend) +{ + zend_class_entry * _this_ce; + long extend; + + zval * _this_zval = NULL; + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Ol", &_this_zval, CairoPattern_ce_ptr, &extend) == FAILURE) { + return; + } + _this_ce = Z_OBJCE_P(_this_zval); + pattern_object *curr = (pattern_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + cairo_pattern_set_extend(curr->pattern, extend); + phpCAIRO_PATTERN_ERROR(curr->pattern); + +} + +/* }}} set_extend */ + + +/* {{{ proto void get_extend() + */ +PHP_METHOD(CairoPattern, get_extend) +{ + zend_class_entry * _this_ce; + long extend; + + zval * _this_zval = NULL; + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoPattern_ce_ptr) == FAILURE) { + return; + } + _this_ce = Z_OBJCE_P(_this_zval); + pattern_object *curr = (pattern_object *)zend_objects_get_address(_this_zval TSRMLS_CC); + extend = cairo_pattern_get_extend(curr->pattern); + RETURN_LONG(extend); +} +/* }}} set_extend */ + + static zend_function_entry CairoPattern_methods[] = { PHP_ME(CairoPattern, __construct, NULL, /**/ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) PHP_ME(CairoPattern, get_matrix, NULL, /**/ZEND_ACC_PUBLIC) PHP_ME(CairoPattern, set_matrix, CairoPattern__set_matrix_args, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoPattern, get_extend, NULL, /**/ZEND_ACC_PUBLIC) + PHP_ME(CairoPattern, set_extend, CairoPattern__set_extend_args, /**/ZEND_ACC_PUBLIC) { NULL, NULL, NULL } }; @@ -212,6 +254,7 @@ PHP_METHOD(CairoGradient, add_color_stop_rgba) /* }}} add_color_stop_rgba */ + static zend_function_entry CairoGradient_methods[] = { PHP_ME(CairoGradient, __construct, NULL, /**/ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) PHP_ME(CairoGradient, add_color_stop_rgb, CairoGradient__add_color_stop_rgb_args, /**/ZEND_ACC_PUBLIC) @@ -557,32 +600,6 @@ PHP_METHOD(CairoSurfacePattern, __construct) /* }}} __construct */ - -/* {{{ proto int get_extend() - */ -PHP_METHOD(CairoSurfacePattern, get_extend) -{ - zend_class_entry * _this_ce; - long extend; - zval * _this_zval = NULL; - - - - if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &_this_zval, CairoSurfacePattern_ce_ptr) == FAILURE) { - return; - } - - _this_ce = Z_OBJCE_P(_this_zval); - pattern_object *curr = (pattern_object *)zend_objects_get_address(_this_zval TSRMLS_CC); - - extend = cairo_pattern_get_extend(curr->pattern); - RETURN_LONG(extend); - -} -/* }}} get_extend */ - - - /* {{{ proto int get_filter() */ PHP_METHOD(CairoSurfacePattern, get_filter) @@ -634,29 +651,6 @@ PHP_METHOD(CairoSurfacePattern, get_surface) -/* {{{ proto void set_extend(int extend) - */ -PHP_METHOD(CairoSurfacePattern, set_extend) -{ - zend_class_entry * _this_ce; - - zval * _this_zval = NULL; - long extend = 0; - - - - if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Ol", &_this_zval, CairoSurfacePattern_ce_ptr, &extend) == FAILURE) { - return; - } - - _this_ce = Z_OBJCE_P(_this_zval); - pattern_object *curr = (pattern_object *)zend_objects_get_address(_this_zval TSRMLS_CC); - cairo_pattern_set_extend(curr->pattern, extend); - -} -/* }}} set_extend */ - - /* {{{ proto void set_filter(int filter) */ @@ -683,10 +677,8 @@ PHP_METHOD(CairoSurfacePattern, set_filter) static zend_function_entry CairoSurfacePattern_methods[] = { PHP_ME(CairoSurfacePattern, __construct, NULL, /**/ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) - PHP_ME(CairoSurfacePattern, get_extend, NULL, /**/ZEND_ACC_PUBLIC) PHP_ME(CairoSurfacePattern, get_filter, NULL, /**/ZEND_ACC_PUBLIC) PHP_ME(CairoSurfacePattern, get_surface, NULL, /**/ZEND_ACC_PUBLIC) - PHP_ME(CairoSurfacePattern, set_extend, CairoSurfacePattern__set_extend_args, /**/ZEND_ACC_PUBLIC) PHP_ME(CairoSurfacePattern, set_filter, CairoSurfacePattern__set_filter_args, /**/ZEND_ACC_PUBLIC) { NULL, NULL, NULL } }; diff --git a/individual_files/phpCairoSurface.c b/individual_files/phpCairoSurface.c index 913d448..7e20825 100644 --- a/individual_files/phpCairoSurface.c +++ b/individual_files/phpCairoSurface.c @@ -10,7 +10,6 @@ _write_func(void *closure, const unsigned char *data, unsigned int length) php_stream *zs = (php_stream *)closure ; written = php_stream_write(zs, data, length); //written = php_stream_write_string(zs, data); - printf("%d %d",written, length); if(written == length) return CAIRO_STATUS_SUCCESS; else { @@ -26,7 +25,6 @@ _read_func(void *closure, const unsigned char *data, unsigned int length) php_stream *zs = (php_stream *)closure; //data = emalloc(length); read = php_stream_read(zs, data, length); - printf("%d %d", read, length); if(read == length) return CAIRO_STATUS_SUCCESS; else { @@ -81,14 +79,14 @@ PHP_METHOD(CairoSurface, create_similar) long width = 0; long height = 0; - if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oill", &_this_zval, CairoSurface_ce_ptr, &content, &width, &height) == FAILURE) { + if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Olll", &_this_zval, CairoSurface_ce_ptr, &content, &width, &height) == FAILURE) { return; } _this_ce = Z_OBJCE_P(_this_zval); surface_object *curr = (surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); sur = cairo_surface_create_similar(curr->surface, content, width, height); - ce = getCairoSurface_ce_ptr(sur); + ce = get_CairoSurface_ce_ptr(sur); object_init_ex(return_value, ce); surface_object *sobj = (surface_object *)zend_objects_get_address(return_value TSRMLS_CC); sobj->surface=sur; @@ -459,7 +457,6 @@ PHP_METHOD(CairoImageSurface, create_from_data) surface_object *curr = (surface_object *)zend_objects_get_address(_this_zval TSRMLS_CC); cairo_surface_finish(curr->surface); cairo_surface_destroy(curr->surface); - if(stride < 0 ){ switch(format) { @@ -477,15 +474,17 @@ PHP_METHOD(CairoImageSurface, create_from_data) stride = (width + 1) / 8; break; default: - //php_error(CairoError, "Unknown format"); + php_error(E_ERROR, "Unknown format"); return; } } + /* if (height * stride > buffer_len) { php_error(E_ERROR,"buffer is not long enough"); return; } + */ curr->surface = cairo_image_surface_create_for_data(buffer, format, width, height, stride); } @@ -566,8 +565,7 @@ PHP_METHOD(CairoImageSurface, get_data) str = cairo_image_surface_get_data(curr->surface); - printf("uuu%s",str); - RETURN_STRING(str, 1); + RETURN_STRING(str, 0); } /* }}} get_data */ diff --git a/individual_files/php_phpCairo.h b/individual_files/php_phpCairo.h index 2e54ef6..ac5c9c8 100644 --- a/individual_files/php_phpCairo.h +++ b/individual_files/php_phpCairo.h @@ -1336,12 +1336,12 @@ ZEND_END_ARG_INFO() #define CairoSurfacePattern____construct_args NULL #endif -PHP_METHOD(CairoSurfacePattern, get_extend); +PHP_METHOD(CairoPattern, get_extend); #if (PHP_MAJOR_VERSION >= 5) -ZEND_BEGIN_ARG_INFO_EX(CairoSurfacePattern__get_extend_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) +ZEND_BEGIN_ARG_INFO_EX(CairoPattern__get_extend_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) ZEND_END_ARG_INFO() #else /* PHP 4.x */ -#define CairoSurfacePattern__get_extend_args NULL +#define CairoPattern__get_extend_args NULL #endif PHP_METHOD(CairoSurfacePattern, get_filter); @@ -1360,13 +1360,13 @@ ZEND_END_ARG_INFO() #define CairoSurfacePattern__get_surface_args NULL #endif -PHP_METHOD(CairoSurfacePattern, set_extend); +PHP_METHOD(CairoPattern, set_extend); #if (PHP_MAJOR_VERSION >= 5) -ZEND_BEGIN_ARG_INFO_EX(CairoSurfacePattern__set_extend_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) +ZEND_BEGIN_ARG_INFO_EX(CairoPattern__set_extend_args, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 1) ZEND_ARG_INFO(0, extend) ZEND_END_ARG_INFO() #else /* PHP 4.x */ -#define CairoSurfacePattern__set_extend_args NULL +#define CairoPattern__set_extend_args NULL #endif PHP_METHOD(CairoSurfacePattern, set_filter); -- 2.11.4.GIT