From 28b34d9d0a81fe5a281f3ff1ebcf14481b66dced Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Tue, 13 Nov 2018 00:13:39 +0900 Subject: [PATCH] evas json: implement radial gradient. Change-Id: Ibbd69e3cecb7c76e1789e7045c495cec31c227e2 --- src/static_libs/vg_common/vg_common_json.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/static_libs/vg_common/vg_common_json.c b/src/static_libs/vg_common/vg_common_json.c index ebcd307..5c43193 100644 --- a/src/static_libs/vg_common/vg_common_json.c +++ b/src/static_libs/vg_common/vg_common_json.c @@ -136,12 +136,27 @@ vg_common_json_create_vg_node(Vg_File_Data *vfd) break; case BrushGradient: { + Efl_VG* grad = NULL; + if (p->mGradient.type == GradientLinear) { - Efl_VG* grad = evas_vg_gradient_linear_add(root); + grad = evas_vg_gradient_linear_add(root); evas_vg_gradient_linear_start_set(grad, p->mGradient.start.x, p->mGradient.start.y); evas_vg_gradient_linear_end_set(grad, p->mGradient.end.x, p->mGradient.end.y); + } + else if (p->mGradient.type == GradientRadial) + { + grad = evas_vg_gradient_radial_add(root); + evas_vg_gradient_radial_center_set(grad, p->mGradient.center.x, p->mGradient.center.y); + evas_vg_gradient_radial_focal_set(grad, p->mGradient.focal.x, p->mGradient.focal.y); + evas_vg_gradient_radial_radius_set(grad, p->mGradient.cradius); + } + else + ERR("No reserved gradient type = %d", p->mGradient.type); + + if (grad) + { //Gradient Stop Efl_Gfx_Gradient_Stop* stops = malloc(sizeof(Efl_Gfx_Gradient_Stop) * p->mGradient.stopCount); if (stops) @@ -163,13 +178,6 @@ vg_common_json_create_vg_node(Vg_File_Data *vfd) else evas_vg_shape_fill_set(shape, grad); } - else if (p->mGradient.type == GradientRadial) - { - //TODO: - ERR("Radial Gradient Type isn't implemented yet."); - } - else - ERR("No reserved gradient type = %d", p->mGradient.type); } break; default: -- 2.7.4