summaryrefslogtreecommitdiff
path: root/src/lib/evas/canvas/evas_vg_private.h
diff options
context:
space:
mode:
authorHermet Park <hermetpark@gmail.com>2019-12-13 17:22:54 +0900
committerHermet Park <hermetpark@gmail.com>2019-12-13 17:25:26 +0900
commit4f99f9f2bf17b437aa975c3875812529c2759707 (patch)
tree755ec556d70a8babf43433fb1786473f23d6bdd2 /src/lib/evas/canvas/evas_vg_private.h
parent3372a701d301fef9b1d033b97df0f38de130456f (diff)
downloadefl-4f99f9f2bf17b437aa975c3875812529c2759707.tar.gz
evas vg: revise buffer caching method.
for better precise buffer cache key, We make a unique key name combining root node + size + frame index. Now, we can reuse the root node for animation and caching buffers.
Diffstat (limited to 'src/lib/evas/canvas/evas_vg_private.h')
-rw-r--r--src/lib/evas/canvas/evas_vg_private.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lib/evas/canvas/evas_vg_private.h b/src/lib/evas/canvas/evas_vg_private.h
index 2a1dbfa0d5..a6a27142ed 100644
--- a/src/lib/evas/canvas/evas_vg_private.h
+++ b/src/lib/evas/canvas/evas_vg_private.h
@@ -15,6 +15,7 @@ typedef struct _Vg_Cache
{
Eina_Hash *vfd_hash;
Eina_Hash *vg_entry_hash;
+ Eina_List *vg_surface_keys;
int ref;
} Vg_Cache;
@@ -154,6 +155,7 @@ Eina_Bool evas_cache_vg_anim_sector_set(const Vg_Cache_Entry*
Eina_Bool evas_cache_vg_anim_sector_get(const Vg_Cache_Entry* vg_entry, const char *name, int* startframe, int* endframe);
unsigned int evas_cache_vg_anim_frame_count_get(const Vg_Cache_Entry *vg_entry);
Eina_Size2D evas_cache_vg_entry_default_size_get(const Vg_Cache_Entry *vg_entry);
+void * evas_cache_vg_surface_key_get(Efl_Canvas_Vg_Node *root, int w, int h, int frame_idx);
void efl_canvas_vg_node_vg_obj_set(Efl_VG *node, Efl_VG *vg_obj, Efl_Canvas_Vg_Object_Data *vd);
void efl_canvas_vg_node_change(Efl_VG *node);
void efl_canvas_vg_container_vg_obj_update(Efl_VG *obj, Efl_Canvas_Vg_Node_Data *nd);