+ evas_vg_shape_stroke_cap_set(shape, cap);
+
+ //Stroke Join
+ Efl_Gfx_Join join;
+ switch (node->mStroke.join) {
+ case JoinMiter: join = EFL_GFX_JOIN_MITER; break;
+ case JoinBevel: join = EFL_GFX_JOIN_BEVEL; break;
+ case JoinRound: join = EFL_GFX_JOIN_ROUND; break;
+ default: join = EFL_GFX_JOIN_MITER; break;
+ }
+ evas_vg_shape_stroke_join_set(shape, join);
+
+ //Stroke Dash
+ if (node->mStroke.dashArraySize > 0) {
+ int size = (node->mStroke.dashArraySize / 2);
+ Efl_Gfx_Dash *dash = static_cast<Efl_Gfx_Dash*>(malloc(sizeof(Efl_Gfx_Dash) * size));
+ if (dash) {
+ for (int i = 0; i <= size; i+=2) {
+ dash[i].length = node->mStroke.dashArray[i];
+ dash[i].gap = node->mStroke.dashArray[i + 1];
+ }
+ evas_vg_shape_stroke_dash_set(shape, dash, size);
+ free(dash);
+ }
+ }
+ }