@@ -86,15 +86,19 @@ ZEND_END_ARG_INFO()
8686ZEND_BEGIN_ARG_INFO_EX (chart_title_name_arginfo , 0 , 0 , 1 )
8787 ZEND_ARG_INFO (0 , title )
8888ZEND_END_ARG_INFO ()
89+
90+ ZEND_BEGIN_ARG_INFO_EX (chart_legend_set_position_arginfo , 0 , 0 , 1 )
91+ ZEND_ARG_INFO (0 , type )
92+ ZEND_END_ARG_INFO ()
8993/* }}} */
9094
9195/** {{{ \Vtiful\Kernel\Chart::__construct(resource $handle, int $type)
9296 */
9397PHP_METHOD (vtiful_chart , __construct )
9498{
9599 zval * handle ;
96- zend_long type ;
97100 chart_object * obj ;
101+ zend_long type = 0 ;
98102 xls_resource_write_t * xls_res ;
99103
100104 ZEND_PARSE_PARAMETERS_START (2 , 2 )
@@ -108,7 +112,7 @@ PHP_METHOD(vtiful_chart, __construct)
108112 obj = Z_CHART_P (getThis ());
109113
110114 if (obj -> ptr .chart == NULL ) {
111- obj -> ptr .chart = workbook_add_chart (xls_res -> workbook , type );
115+ obj -> ptr .chart = workbook_add_chart (xls_res -> workbook , ( uint8_t ) type );
112116 }
113117}
114118/* }}} */
@@ -164,7 +168,7 @@ PHP_METHOD(vtiful_chart, seriesName)
164168PHP_METHOD (vtiful_chart , style )
165169{
166170 chart_object * obj ;
167- zend_long style ;
171+ zend_long style = 0 ;
168172
169173 ZEND_PARSE_PARAMETERS_START (1 , 1 )
170174 Z_PARAM_LONG (style )
@@ -174,7 +178,7 @@ PHP_METHOD(vtiful_chart, style)
174178
175179 obj = Z_CHART_P (getThis ());
176180
177- chart_set_style (obj -> ptr .chart , style );
181+ chart_set_style (obj -> ptr .chart , ( uint8_t ) style );
178182}
179183/* }}} */
180184
@@ -235,6 +239,25 @@ PHP_METHOD(vtiful_chart, title)
235239}
236240/* }}} */
237241
242+ /** {{{ \Vtiful\Kernel\Chart::legendSetPosition(int $type)
243+ */
244+ PHP_METHOD (vtiful_chart , legendSetPosition )
245+ {
246+ zend_long type = 0 ;
247+ chart_object * obj ;
248+
249+ ZEND_PARSE_PARAMETERS_START (1 , 1 )
250+ Z_PARAM_LONG (type )
251+ ZEND_PARSE_PARAMETERS_END ();
252+
253+ ZVAL_COPY (return_value , getThis ());
254+
255+ obj = Z_CHART_P (getThis ());
256+
257+ chart_legend_set_position (obj -> ptr .chart , (uint8_t )type );
258+ }
259+ /* }}} */
260+
238261/** {{{ \Vtiful\Kernel\Chart::toResource()
239262 */
240263PHP_METHOD (vtiful_chart , toResource )
@@ -248,14 +271,15 @@ PHP_METHOD(vtiful_chart, toResource)
248271/** {{{ chart_methods
249272*/
250273zend_function_entry chart_methods [] = {
251- PHP_ME (vtiful_chart , __construct , chart_construct_arginfo , ZEND_ACC_PUBLIC )
252- PHP_ME (vtiful_chart , series , chart_series_arginfo , ZEND_ACC_PUBLIC )
253- PHP_ME (vtiful_chart , seriesName , chart_series_name_arginfo , ZEND_ACC_PUBLIC )
254- PHP_ME (vtiful_chart , style , chart_style_arginfo , ZEND_ACC_PUBLIC )
255- PHP_ME (vtiful_chart , axisNameY , chart_axis_name_arginfo , ZEND_ACC_PUBLIC )
256- PHP_ME (vtiful_chart , axisNameX , chart_axis_name_arginfo , ZEND_ACC_PUBLIC )
257- PHP_ME (vtiful_chart , title , chart_title_name_arginfo , ZEND_ACC_PUBLIC )
258- PHP_ME (vtiful_chart , toResource , NULL , ZEND_ACC_PUBLIC )
274+ PHP_ME (vtiful_chart , __construct , chart_construct_arginfo , ZEND_ACC_PUBLIC )
275+ PHP_ME (vtiful_chart , series , chart_series_arginfo , ZEND_ACC_PUBLIC )
276+ PHP_ME (vtiful_chart , seriesName , chart_series_name_arginfo , ZEND_ACC_PUBLIC )
277+ PHP_ME (vtiful_chart , style , chart_style_arginfo , ZEND_ACC_PUBLIC )
278+ PHP_ME (vtiful_chart , axisNameY , chart_axis_name_arginfo , ZEND_ACC_PUBLIC )
279+ PHP_ME (vtiful_chart , axisNameX , chart_axis_name_arginfo , ZEND_ACC_PUBLIC )
280+ PHP_ME (vtiful_chart , title , chart_title_name_arginfo , ZEND_ACC_PUBLIC )
281+ PHP_ME (vtiful_chart , legendSetPosition , chart_legend_set_position_arginfo , ZEND_ACC_PUBLIC )
282+ PHP_ME (vtiful_chart , toResource , NULL , ZEND_ACC_PUBLIC )
259283 PHP_FE_END
260284};
261285/* }}} */
@@ -273,9 +297,38 @@ VTIFUL_STARTUP_FUNCTION(chart)
273297 chart_handlers .offset = XtOffsetOf (chart_object , zo );
274298 chart_handlers .free_obj = chart_objects_free ;
275299
276- REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_LINE" , LXW_CHART_LINE )
277- REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_COLUMN" , LXW_CHART_COLUMN )
278- REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_AREA" , LXW_CHART_AREA )
300+ REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_BAR" , LXW_CHART_BAR )
301+ REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_BAR_STACKED" , LXW_CHART_BAR_STACKED )
302+ REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_BAR_STACKED_PERCENT" , LXW_CHART_BAR_STACKED_PERCENT )
303+ REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_AREA" , LXW_CHART_AREA )
304+ REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_AREA_STACKED" , LXW_CHART_AREA_STACKED )
305+ REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_AREA_STACKED_PERCENT" , LXW_CHART_AREA_STACKED_PERCENT )
306+ REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_LINE" , LXW_CHART_LINE )
307+ REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_COLUMN" , LXW_CHART_COLUMN )
308+ REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_COLUMN_STACKED" , LXW_CHART_COLUMN_STACKED )
309+ REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_COLUMN_STACKED_PERCENT" , LXW_CHART_COLUMN_STACKED_PERCENT )
310+ REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_DOUGHNUT" , LXW_CHART_DOUGHNUT )
311+ REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_PIE" , LXW_CHART_PIE )
312+ REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_SCATTER" , LXW_CHART_SCATTER )
313+ REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_SCATTER_STRAIGHT" , LXW_CHART_SCATTER_STRAIGHT )
314+ REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_SCATTER_STRAIGHT_WITH_MARKERS" , LXW_CHART_SCATTER_STRAIGHT_WITH_MARKERS )
315+ REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_SCATTER_SMOOTH" , LXW_CHART_SCATTER_SMOOTH )
316+ REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_SCATTER_SMOOTH_WITH_MARKERS" , LXW_CHART_SCATTER_SMOOTH_WITH_MARKERS )
317+ REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_RADAR" , LXW_CHART_RADAR )
318+ REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_RADAR_WITH_MARKERS" , LXW_CHART_RADAR_WITH_MARKERS )
319+ REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_RADAR_FILLED" , LXW_CHART_RADAR_FILLED )
320+
321+ REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_LEGEND_NONE" , LXW_CHART_LEGEND_NONE )
322+ REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_LEGEND_RIGHT" , LXW_CHART_LEGEND_RIGHT )
323+ REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_LEGEND_LEFT" , LXW_CHART_LEGEND_LEFT )
324+ REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_LEGEND_TOP" , LXW_CHART_LEGEND_TOP )
325+ REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_LEGEND_BOTTOM" , LXW_CHART_LEGEND_BOTTOM )
326+ REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_LEGEND_OVERLAY_RIGHT" , LXW_CHART_LEGEND_OVERLAY_RIGHT )
327+ REGISTER_CLASS_CONST_LONG (vtiful_chart_ce , "CHART_LEGEND_OVERLAY_LEFT" , LXW_CHART_LEGEND_OVERLAY_LEFT )
328+
329+ // PECL Windows version is 0.7.7, but define in 0.7.8
330+ //REGISTER_CLASS_CONST_LONG(vtiful_chart_ce, "CHART_LEGEND_TOP_RIGHT", LXW_CHART_LEGEND_TOP_RIGHT)
331+ //REGISTER_CLASS_CONST_LONG(vtiful_chart_ce, "CHART_LEGEND_OVERLAY_TOP_RIGHT", LXW_CHART_LEGEND_OVERLAY_TOP_RIGHT)
279332
280333 return SUCCESS ;
281334}
0 commit comments