summaryrefslogtreecommitdiff
path: root/src/lib/evas
diff options
context:
space:
mode:
authorHermet Park <hermetpark@gmail.com>2018-11-21 20:00:19 +0900
committerHermet Park <hermetpark@gmail.com>2018-11-21 20:01:09 +0900
commit111e1eb9c6e4e2d48a0fcd0caf853712c4492e91 (patch)
tree48916ae37bf591333ca1a8b32eca885b280f1f5f /src/lib/evas
parent11a19c23b198abdf922051afe558d1d429f277a2 (diff)
evas vg: code refactoring.
This doesn't change any logics. just renamed internal variables and functions.
Diffstat (limited to 'src/lib/evas')
-rw-r--r--src/lib/evas/canvas/efl_canvas_vg_object.c173
-rw-r--r--src/lib/evas/canvas/evas_vg_private.h2
2 files changed, 83 insertions, 92 deletions
diff --git a/src/lib/evas/canvas/efl_canvas_vg_object.c b/src/lib/evas/canvas/efl_canvas_vg_object.c
index 25d6f598a3..b2c91fe18b 100644
--- a/src/lib/evas/canvas/efl_canvas_vg_object.c
+++ b/src/lib/evas/canvas/efl_canvas_vg_object.c
@@ -11,38 +11,38 @@ static const char o_type[] = "vectors";
11const char *o_vg_type = o_type; 11const char *o_vg_type = o_type;
12 12
13 13
14static void _efl_canvas_vg_render(Evas_Object *eo_obj, 14static void _efl_canvas_vg_object_render(Evas_Object *eo_obj,
15 Evas_Object_Protected_Data *obj, 15 Evas_Object_Protected_Data *obj,
16 void *type_private_data, 16 void *type_private_data,
17 void *engine, void *output, void *context, void *surface, 17 void *engine, void *output, void *context, void *surface,
18 int x, int y, Eina_Bool do_async); 18 int x, int y, Eina_Bool do_async);
19static void _efl_canvas_vg_render_pre(Evas_Object *eo_obj, 19static void _efl_canvas_vg_object_render_pre(Evas_Object *eo_obj,
20 Evas_Object_Protected_Data *obj, 20 Evas_Object_Protected_Data *obj,
21 void *type_private_data); 21 void *type_private_data);
22static void _efl_canvas_vg_render_post(Evas_Object *eo_obj, 22static void _efl_canvas_vg_object_render_post(Evas_Object *eo_obj,
23 Evas_Object_Protected_Data *obj, 23 Evas_Object_Protected_Data *obj,
24 void *type_private_data); 24 void *type_private_data);
25static void *_efl_canvas_vg_engine_data_get(Evas_Object *eo_obj); 25static void *_efl_canvas_vg_object_engine_data_get(Evas_Object *eo_obj);
26static int _efl_canvas_vg_is_opaque(Evas_Object *eo_obj, 26static int _efl_canvas_vg_object_is_opaque(Evas_Object *eo_obj,
27 Evas_Object_Protected_Data *obj, 27 Evas_Object_Protected_Data *obj,
28 void *type_private_data); 28 void *type_private_data);
29static int _efl_canvas_vg_was_opaque(Evas_Object *eo_obj, 29static int _efl_canvas_vg_object_was_opaque(Evas_Object *eo_obj,
30 Evas_Object_Protected_Data *obj, 30 Evas_Object_Protected_Data *obj,
31 void *type_private_data); 31 void *type_private_data);
32 32
33static const Evas_Object_Func object_func = 33static const Evas_Object_Func object_func =
34{ 34{
35 /* methods (compulsory) */ 35 /* methods (compulsory) */
36 NULL, 36 NULL,
37 _efl_canvas_vg_render, 37 _efl_canvas_vg_object_render,
38 _efl_canvas_vg_render_pre, 38 _efl_canvas_vg_object_render_pre,
39 _efl_canvas_vg_render_post, 39 _efl_canvas_vg_object_render_post,
40 _efl_canvas_vg_engine_data_get, 40 _efl_canvas_vg_object_engine_data_get,
41 /* these are optional. NULL = nothing */ 41 /* these are optional. NULL = nothing */
42 NULL, 42 NULL,
43 NULL, 43 NULL,
44 _efl_canvas_vg_is_opaque, 44 _efl_canvas_vg_object_is_opaque,
45 _efl_canvas_vg_was_opaque, 45 _efl_canvas_vg_object_was_opaque,
46 NULL, 46 NULL,
47 NULL, 47 NULL,
48 NULL, 48 NULL,
@@ -179,7 +179,6 @@ _efl_canvas_vg_object_root_node_set(Eo *obj, Efl_Canvas_Vg_Object_Data *pd, Efl_
179 179
180 // force a redraw 180 // force a redraw
181 pd->changed = EINA_TRUE; 181 pd->changed = EINA_TRUE;
182
183 evas_object_change(obj, efl_data_scope_get(obj, EFL_CANVAS_OBJECT_CLASS)); 182 evas_object_change(obj, efl_data_scope_get(obj, EFL_CANVAS_OBJECT_CLASS));
184} 183}
185 184
@@ -209,7 +208,7 @@ _efl_canvas_vg_object_viewbox_set(Eo *obj, Efl_Canvas_Vg_Object_Data *pd, Eina_R
209 pd->viewbox = EINA_RECT_EMPTY(); 208 pd->viewbox = EINA_RECT_EMPTY();
210 eina_matrix3_identity(&m); 209 eina_matrix3_identity(&m);
211 efl_canvas_vg_node_transformation_set(pd->root, &m); 210 efl_canvas_vg_node_transformation_set(pd->root, &m);
212 // un register the resize callback 211 // unregister the resize callback
213 efl_event_callback_del(obj, EFL_GFX_ENTITY_EVENT_RESIZE, _evas_vg_resize, pd); 212 efl_event_callback_del(obj, EFL_GFX_ENTITY_EVENT_RESIZE, _evas_vg_resize, pd);
214 } 213 }
215 return; 214 return;
@@ -377,7 +376,7 @@ _evas_vg_render(Evas_Object_Protected_Data *obj, Efl_Canvas_Vg_Object_Data *vd,
377 vc = efl_data_scope_get(n, EFL_CANVAS_VG_CONTAINER_CLASS); 376 vc = efl_data_scope_get(n, EFL_CANVAS_VG_CONTAINER_CLASS);
378 377
379 EINA_LIST_FOREACH(vc->children, l, child) 378 EINA_LIST_FOREACH(vc->children, l, child)
380 _evas_vg_render(obj, vd, 379 _evas_vg_render(obj, pd,
381 engine, output, context, surface, child, 380 engine, output, context, surface, child,
382 clips, do_async); 381 clips, do_async);
383 } 382 }
@@ -387,14 +386,13 @@ _evas_vg_render(Evas_Object_Protected_Data *obj, Efl_Canvas_Vg_Object_Data *vd,
387 nd = efl_data_scope_get(n, EFL_CANVAS_VG_NODE_CLASS); 386 nd = efl_data_scope_get(n, EFL_CANVAS_VG_NODE_CLASS);
388 obj->layer->evas->engine.func->ector_renderer_draw(engine, output, context, surface, nd->renderer, clips, do_async); 387 obj->layer->evas->engine.func->ector_renderer_draw(engine, output, context, surface, nd->renderer, clips, do_async);
389 if (do_async) 388 if (do_async)
390 eina_array_push(&vd->cleanup, efl_ref(nd->renderer)); 389 eina_array_push(&pd->cleanup, efl_ref(nd->renderer));
391 } 390 }
392} 391}
393 392
394// renders a vg_tree to an offscreen buffer 393//renders a vg_tree to an offscreen buffer and push it to the cache.
395// and push it to the cache.
396static void * 394static void *
397_render_to_buffer(Evas_Object_Protected_Data *obj, Efl_Canvas_Vg_Object_Data *vd, 395_render_to_buffer(Evas_Object_Protected_Data *obj, Efl_Canvas_Vg_Object_Data *pd,
398 void *engine, void *surface, 396 void *engine, void *surface,
399 Efl_VG *root, int w, int h, void *key, 397 Efl_VG *root, int w, int h, void *key,
400 void *buffer, Eina_Bool do_async) 398 void *buffer, Eina_Bool do_async)
@@ -407,9 +405,9 @@ _render_to_buffer(Evas_Object_Protected_Data *obj, Efl_Canvas_Vg_Object_Data *vd
407 ector = evas_ector_get(obj->layer->evas); 405 ector = evas_ector_get(obj->layer->evas);
408 if (!ector) return NULL; 406 if (!ector) return NULL;
409 407
408 //create a buffer
410 if (!buffer) 409 if (!buffer)
411 { 410 {
412 // 2. create a buffer
413 buffer = obj->layer->evas->engine.func->ector_surface_create(engine, 411 buffer = obj->layer->evas->engine.func->ector_surface_create(engine,
414 w, h, 412 w, h,
415 &error); 413 &error);
@@ -418,11 +416,9 @@ _render_to_buffer(Evas_Object_Protected_Data *obj, Efl_Canvas_Vg_Object_Data *vd
418 buffer_created = EINA_TRUE; 416 buffer_created = EINA_TRUE;
419 } 417 }
420 418
421
422 //1. render pre
423 _evas_vg_render_pre(root, ector, NULL); 419 _evas_vg_render_pre(root, ector, NULL);
424 420
425 //3. draw into the buffer 421 //initialize buffer
426 context = evas_common_draw_context_new(); 422 context = evas_common_draw_context_new();
427 evas_common_draw_context_set_render_op(context, _EVAS_RENDER_COPY); 423 evas_common_draw_context_set_render_op(context, _EVAS_RENDER_COPY);
428 evas_common_draw_context_set_color(context, 255, 255, 255, 255); 424 evas_common_draw_context_set_color(context, 255, 255, 255, 255);
@@ -431,7 +427,8 @@ _render_to_buffer(Evas_Object_Protected_Data *obj, Efl_Canvas_Vg_Object_Data *vd
431 ector, 427 ector,
432 0, 0, 428 0, 0,
433 do_async); 429 do_async);
434 _evas_vg_render(obj, vd, 430 //draw on buffer
431 _evas_vg_render(obj, pd,
435 engine, buffer, 432 engine, buffer,
436 context, surface, 433 context, surface,
437 root, NULL, 434 root, NULL,
@@ -459,7 +456,7 @@ _render_buffer_to_screen(Evas_Object_Protected_Data *obj,
459{ 456{
460 Eina_Bool async_unref; 457 Eina_Bool async_unref;
461 458
462 // draw the buffer as image to canvas 459 //Draw the buffer as image to canvas
463 async_unref = obj->layer->evas->engine.func->image_draw(engine, output, context, surface, 460 async_unref = obj->layer->evas->engine.func->image_draw(engine, output, context, surface,
464 buffer, 461 buffer,
465 0, 0, w, h, 462 0, 0, w, h,
@@ -467,6 +464,7 @@ _render_buffer_to_screen(Evas_Object_Protected_Data *obj,
467 EINA_TRUE, do_async); 464 EINA_TRUE, do_async);
468 if (do_async && async_unref) 465 if (do_async && async_unref)
469 { 466 {
467 //Free buffer after drawing.
470 evas_cache_image_ref((Image_Entry *)buffer); 468 evas_cache_image_ref((Image_Entry *)buffer);
471 evas_unref_queue_image_put(obj->layer->evas, buffer); 469 evas_unref_queue_image_put(obj->layer->evas, buffer);
472 } 470 }
@@ -474,33 +472,33 @@ _render_buffer_to_screen(Evas_Object_Protected_Data *obj,
474 472
475static void 473static void
476_cache_vg_entry_render(Evas_Object_Protected_Data *obj, 474_cache_vg_entry_render(Evas_Object_Protected_Data *obj,
477 Efl_Canvas_Vg_Object_Data *vd, 475 Efl_Canvas_Vg_Object_Data *pd,
478 void *engine, void *output, void *context, void *surface, 476 void *engine, void *output, void *context, void *surface,
479 int x, int y, int w, int h, Eina_Bool do_async) 477 int x, int y, int w, int h, Eina_Bool do_async)
480{ 478{
481 Evas_Cache_Vg_Entry *vg_entry = vd->vg_entry; 479 Evas_Cache_Vg_Entry *vg_entry = pd->vg_entry;
482 Efl_VG *root, *dupe_root; 480 Efl_VG *root, *dupe_root;
483 void *buffer;
484 481
485 // if the size changed in between path set and the draw call; 482 // if the size changed in between path set and the draw call;
483
486 if ((vg_entry->w != w) || 484 if ((vg_entry->w != w) ||
487 (vg_entry->h != h)) 485 (vg_entry->h != h))
488 { 486 {
489 evas_cache_vg_entry_del(vg_entry); 487 evas_cache_vg_entry_del(vg_entry);
490 vg_entry = evas_cache_vg_entry_find(vg_entry->file, vg_entry->key, 488 vg_entry = evas_cache_vg_entry_find(vg_entry->file, vg_entry->key,
491 w, h); 489 w, h);
492 vd->vg_entry = vg_entry; 490 pd->vg_entry = vg_entry;
493 } 491 }
494 root = evas_cache_vg_tree_get(vg_entry); 492 root = evas_cache_vg_tree_get(vg_entry);
495 if (!root) return; 493 if (!root) return;
496 buffer = obj->layer->evas->engine.func->ector_surface_cache_get(engine, root);
497 494
498 // if the buffer is not created yet 495 void *buffer = obj->layer->evas->engine.func->ector_surface_cache_get(engine, root);
496
499 if (!buffer) 497 if (!buffer)
500 { 498 {
501 dupe_root = efl_duplicate(root); 499 dupe_root = efl_duplicate(root);
502 // render to the buffer 500 // render to the buffer
503 buffer = _render_to_buffer(obj, vd, 501 buffer = _render_to_buffer(obj, pd,
504 engine, surface, 502 engine, surface,
505 dupe_root, 503 dupe_root,
506 w, h, 504 w, h,
@@ -523,28 +521,27 @@ _cache_vg_entry_render(Evas_Object_Protected_Data *obj,
523 521
524static void 522static void
525_user_vg_entry_render(Evas_Object_Protected_Data *obj, 523_user_vg_entry_render(Evas_Object_Protected_Data *obj,
526 Efl_Canvas_Vg_Object_Data *vd, 524 Efl_Canvas_Vg_Object_Data *pd,
527 void *engine, void *output, void *context, void *surface, 525 void *engine, void *output, void *context, void *surface,
528 int x, int y, int w, int h, Eina_Bool do_async) 526 int x, int y, int w, int h, Eina_Bool do_async)
529{ 527{
530 User_Vg_Entry *user_entry = vd->user_entry; 528 User_Vg_Entry *user_entry = pd->user_entry;
531 void *buffer;
532 529
533 // if the size dosen't match 530 //if the size doesn't match, drop previous cache surface.
534 if ((user_entry->w != w ) || 531 if ((user_entry->w != w ) ||
535 (user_entry->h != h)) 532 (user_entry->h != h))
536 { 533 {
537 obj->layer->evas->engine.func->ector_surface_cache_drop(engine, user_entry); 534 obj->layer->evas->engine.func->ector_surface_cache_drop(engine, user_entry);
538 user_entry->w = w; 535 user_entry->w = w;
539 user_entry->h = h; 536 user_entry->h = h;
540 vd->user_entry = user_entry; 537 pd->user_entry = user_entry;
541 } 538 }
542 // if the buffer is not created yet 539 //if the buffer is not created yet
543 buffer = obj->layer->evas->engine.func->ector_surface_cache_get(engine, user_entry); 540 void *buffer = obj->layer->evas->engine.func->ector_surface_cache_get(engine, user_entry);
544 if (!buffer) 541 if (!buffer)
545 { 542 {
546 // render to the buffer 543 // render to the buffer
547 buffer = _render_to_buffer(obj, vd, 544 buffer = _render_to_buffer(obj, pd,
548 engine, surface, 545 engine, surface,
549 user_entry->root, 546 user_entry->root,
550 w, h, 547 w, h,
@@ -555,8 +552,8 @@ _user_vg_entry_render(Evas_Object_Protected_Data *obj,
555 else 552 else
556 { 553 {
557 // render to the buffer 554 // render to the buffer
558 if (vd->changed) 555 if (pd->changed)
559 buffer = _render_to_buffer(obj, vd, 556 buffer = _render_to_buffer(obj, pd,
560 engine, surface, 557 engine, surface,
561 user_entry->root, 558 user_entry->root,
562 w, h, 559 w, h,
@@ -574,21 +571,17 @@ _user_vg_entry_render(Evas_Object_Protected_Data *obj,
574} 571}
575 572
576static void 573static void
577_efl_canvas_vg_render(Evas_Object *eo_obj EINA_UNUSED, 574_efl_canvas_vg_object_render(Evas_Object *eo_obj EINA_UNUSED,
578 Evas_Object_Protected_Data *obj, 575 Evas_Object_Protected_Data *obj,
579 void *type_private_data, 576 void *type_private_data,
580 void *engine, void *output, void *context, void *surface, 577 void *engine, void *output, void *context, void *surface,
581 int x, int y, Eina_Bool do_async) 578 int x, int y, Eina_Bool do_async)
582{ 579{
583 Efl_Canvas_Vg_Object_Data *vd = type_private_data; 580 Efl_Canvas_Vg_Object_Data *pd = type_private_data;
584 581
585 /* render object to surface with context, and offxet by x,y */ 582 /* render object to surface with context, and offxet by x,y */
586 obj->layer->evas->engine.func->context_color_set(engine, 583 obj->layer->evas->engine.func->context_color_set(engine, context,
587 context, 584 255, 255, 255, 255);
588 255,
589 255,
590 255,
591 255);
592 obj->layer->evas->engine.func->context_multiplier_set(engine, 585 obj->layer->evas->engine.func->context_multiplier_set(engine,
593 context, 586 context,
594 obj->cur->cache.clip.r, 587 obj->cur->cache.clip.r,
@@ -599,33 +592,32 @@ _efl_canvas_vg_render(Evas_Object *eo_obj EINA_UNUSED,
599 obj->cur->anti_alias); 592 obj->cur->anti_alias);
600 obj->layer->evas->engine.func->context_render_op_set(engine, context, 593 obj->layer->evas->engine.func->context_render_op_set(engine, context,
601 obj->cur->render_op); 594 obj->cur->render_op);
602 if (vd->vg_entry) 595 if (pd->vg_entry)
603 { 596 {
604 _cache_vg_entry_render(obj, vd, 597 _cache_vg_entry_render(obj, pd,
605 engine, output, context, surface, 598 engine, output, context, surface,
606 obj->cur->geometry.x + x, obj->cur->geometry.y + y, 599 obj->cur->geometry.x + x, obj->cur->geometry.y + y,
607 obj->cur->geometry.w, obj->cur->geometry.h, do_async); 600 obj->cur->geometry.w, obj->cur->geometry.h, do_async);
608 } 601 }
609 if (vd->user_entry) 602 if (pd->user_entry)
610 { 603 {
611 _user_vg_entry_render(obj, vd, 604 _user_vg_entry_render(obj, pd,
612 engine, output, context, surface, 605 engine, output, context, surface,
613 obj->cur->geometry.x + x, obj->cur->geometry.y + y, 606 obj->cur->geometry.x + x, obj->cur->geometry.y + y,
614 obj->cur->geometry.w, obj->cur->geometry.h, do_async); 607 obj->cur->geometry.w, obj->cur->geometry.h, do_async);
615 } 608 }
616 vd->changed = EINA_FALSE; 609 pd->changed = EINA_FALSE;
617} 610}
618 611
619static void 612static void
620_efl_canvas_vg_render_pre(Evas_Object *eo_obj, 613_efl_canvas_vg_object_render_pre(Evas_Object *eo_obj,
621 Evas_Object_Protected_Data *obj, 614 Evas_Object_Protected_Data *obj,
622 void *type_private_data) 615 void *type_private_data)
623{ 616{
624 Efl_Canvas_Vg_Object_Data *vd = type_private_data; 617 Efl_Canvas_Vg_Object_Data *pd = type_private_data;
625 int is_v, was_v; 618 int is_v, was_v;
626 Ector_Surface *s; 619 Ector_Surface *s;
627 620
628 /* dont pre-render the obj twice! */
629 if (obj->pre_render_done) return; 621 if (obj->pre_render_done) return;
630 obj->pre_render_done = EINA_TRUE; 622 obj->pre_render_done = EINA_TRUE;
631 623
@@ -646,8 +638,8 @@ _efl_canvas_vg_render_pre(Evas_Object *eo_obj,
646 638
647 // FIXME: handle damage only on changed renderer. 639 // FIXME: handle damage only on changed renderer.
648 s = evas_ector_get(obj->layer->evas); 640 s = evas_ector_get(obj->layer->evas);
649 if (vd->root && s) 641 if (pd->root && s)
650 _evas_vg_render_pre(vd->root, s, NULL); 642 _evas_vg_render_pre(pd->root, s, NULL);
651 643
652 /* now figure what changed and add draw rects */ 644 /* now figure what changed and add draw rects */
653 /* if it just became visible or invisible */ 645 /* if it just became visible or invisible */
@@ -655,7 +647,7 @@ _efl_canvas_vg_render_pre(Evas_Object *eo_obj,
655 was_v = evas_object_was_visible(eo_obj,obj); 647 was_v = evas_object_was_visible(eo_obj,obj);
656 if (!(is_v | was_v)) goto done; 648 if (!(is_v | was_v)) goto done;
657 649
658 if (vd->changed) 650 if (pd->changed)
659 { 651 {
660 evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, eo_obj, obj); 652 evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, eo_obj, obj);
661 goto done; 653 goto done;
@@ -733,14 +725,15 @@ _efl_canvas_vg_render_pre(Evas_Object *eo_obj,
733 y + obj->layer->evas->framespace.y, 725 y + obj->layer->evas->framespace.y,
734 w, h); 726 w, h);
735 } 727 }
736 done: 728
729done:
737 evas_object_render_pre_effect_updates(&obj->layer->evas->clip_changes, eo_obj, is_v, was_v); 730 evas_object_render_pre_effect_updates(&obj->layer->evas->clip_changes, eo_obj, is_v, was_v);
738} 731}
739 732
740static void 733static void
741_efl_canvas_vg_render_post(Evas_Object *eo_obj EINA_UNUSED, 734_efl_canvas_vg_object_render_post(Evas_Object *eo_obj EINA_UNUSED,
742 Evas_Object_Protected_Data *obj, 735 Evas_Object_Protected_Data *obj,
743 void *type_private_data EINA_UNUSED) 736 void *type_private_data EINA_UNUSED)
744{ 737{
745 /* this moves the current data to the previous state parts of the object */ 738 /* this moves the current data to the previous state parts of the object */
746 /* in whatever way is safest for the object. also if we don't need object */ 739 /* in whatever way is safest for the object. also if we don't need object */
@@ -752,24 +745,24 @@ _efl_canvas_vg_render_post(Evas_Object *eo_obj EINA_UNUSED,
752} 745}
753 746
754static void * 747static void *
755_efl_canvas_vg_engine_data_get(Evas_Object *eo_obj) 748_efl_canvas_vg_object_engine_data_get(Evas_Object *eo_obj)
756{ 749{
757 Efl_Canvas_Vg_Object_Data *o = efl_data_scope_get(eo_obj, MY_CLASS); 750 Efl_Canvas_Vg_Object_Data *o = efl_data_scope_get(eo_obj, MY_CLASS);
758 return o->engine_data; 751 return o->engine_data;
759} 752}
760 753
761static int 754static int
762_efl_canvas_vg_is_opaque(Evas_Object *eo_obj EINA_UNUSED, 755_efl_canvas_vg_object_is_opaque(Evas_Object *eo_obj EINA_UNUSED,
763 Evas_Object_Protected_Data *obj EINA_UNUSED, 756 Evas_Object_Protected_Data *obj EINA_UNUSED,
764 void *type_private_data EINA_UNUSED) 757 void *type_private_data EINA_UNUSED)
765{ 758{
766 return 0; 759 return 0;
767} 760}
768 761
769static int 762static int
770_efl_canvas_vg_was_opaque(Evas_Object *eo_obj EINA_UNUSED, 763_efl_canvas_vg_object_was_opaque(Evas_Object *eo_obj EINA_UNUSED,
771 Evas_Object_Protected_Data *obj EINA_UNUSED, 764 Evas_Object_Protected_Data *obj EINA_UNUSED,
772 void *type_private_data EINA_UNUSED) 765 void *type_private_data EINA_UNUSED)
773{ 766{
774 return 0; 767 return 0;
775} 768}
diff --git a/src/lib/evas/canvas/evas_vg_private.h b/src/lib/evas/canvas/evas_vg_private.h
index b71cf18b81..bfba6ab34d 100644
--- a/src/lib/evas/canvas/evas_vg_private.h
+++ b/src/lib/evas/canvas/evas_vg_private.h
@@ -7,8 +7,6 @@ typedef struct _Efl_Canvas_Vg_Node_Data Efl_Canvas_Vg_Node_Data;
7typedef struct _Efl_Canvas_Vg_Container_Data Efl_Canvas_Vg_Container_Data; 7typedef struct _Efl_Canvas_Vg_Container_Data Efl_Canvas_Vg_Container_Data;
8typedef struct _Efl_Canvas_Vg_Gradient_Data Efl_Canvas_Vg_Gradient_Data; 8typedef struct _Efl_Canvas_Vg_Gradient_Data Efl_Canvas_Vg_Gradient_Data;
9typedef struct _Efl_Canvas_Vg_Interpolation Efl_Canvas_Vg_Interpolation; 9typedef struct _Efl_Canvas_Vg_Interpolation Efl_Canvas_Vg_Interpolation;
10
11
12typedef struct _Efl_Canvas_Vg_Object_Data Efl_Canvas_Vg_Object_Data; 10typedef struct _Efl_Canvas_Vg_Object_Data Efl_Canvas_Vg_Object_Data;
13 11
14typedef struct _Evas_Cache_Vg_Entry Evas_Cache_Vg_Entry; 12typedef struct _Evas_Cache_Vg_Entry Evas_Cache_Vg_Entry;