diff options
author | Hermet Park <hermetpark@gmail.com> | 2019-12-13 17:22:54 +0900 |
---|---|---|
committer | Hermet Park <hermetpark@gmail.com> | 2019-12-13 17:25:26 +0900 |
commit | 4f99f9f2bf17b437aa975c3875812529c2759707 (patch) | |
tree | 755ec556d70a8babf43433fb1786473f23d6bdd2 /src/lib/evas/canvas/evas_vg_private.h | |
parent | 3372a701d301fef9b1d033b97df0f38de130456f (diff) | |
download | efl-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.h | 2 |
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); |