/* {{{ proto int getstyle(int index) return the style object. */ PHP_METHOD(labelObj, getStyle) { long index; zval *zobj = getThis(); php_label_object *php_label; styleObj *style = NULL; parent_object parent; PHP_MAPSCRIPT_ERROR_HANDLING(TRUE); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &index) == FAILURE) { PHP_MAPSCRIPT_RESTORE_ERRORS(TRUE); return; } PHP_MAPSCRIPT_RESTORE_ERRORS(TRUE); php_label = (php_label_object *) zend_object_store_get_object(zobj TSRMLS_CC); if (index < 0 || index >= php_label->label->numstyles) { mapscript_throw_exception("Invalid style index." TSRMLS_CC); return; } style = php_label->label->styles[index]; MAPSCRIPT_MAKE_PARENT(zobj, NULL); mapscript_create_style(style, parent, return_value TSRMLS_CC); }
/* {{{ proto styleObj removeStyle(int index) return the styleObj removed. */ PHP_METHOD(labelObj, removeStyle) { zval *zobj = getThis(); long index; styleObj *style; php_label_object *php_label; parent_object parent; PHP_MAPSCRIPT_ERROR_HANDLING(TRUE); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &index) == FAILURE) { PHP_MAPSCRIPT_RESTORE_ERRORS(TRUE); return; } PHP_MAPSCRIPT_RESTORE_ERRORS(TRUE); php_label = MAPSCRIPT_OBJ_P(php_label_object, zobj); style = msRemoveLabelStyle(php_label->label, index); /* Return a copy of the class object just removed */ MAPSCRIPT_MAKE_PARENT(NULL, NULL); mapscript_create_style(style, parent, return_value TSRMLS_CC); }