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) |
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 | |||
15 | { | 15 | { |
16 | Eina_Hash *vfd_hash; | 16 | Eina_Hash *vfd_hash; |
17 | Eina_Hash *vg_entry_hash; | 17 | Eina_Hash *vg_entry_hash; |
18 | Eina_List *vg_surface_keys; | ||
18 | int ref; | 19 | int ref; |
19 | } Vg_Cache; | 20 | } Vg_Cache; |
20 | 21 | ||
@@ -154,6 +155,7 @@ Eina_Bool evas_cache_vg_anim_sector_set(const Vg_Cache_Entry* | |||
154 | Eina_Bool evas_cache_vg_anim_sector_get(const Vg_Cache_Entry* vg_entry, const char *name, int* startframe, int* endframe); | 155 | Eina_Bool evas_cache_vg_anim_sector_get(const Vg_Cache_Entry* vg_entry, const char *name, int* startframe, int* endframe); |
155 | unsigned int evas_cache_vg_anim_frame_count_get(const Vg_Cache_Entry *vg_entry); | 156 | unsigned int evas_cache_vg_anim_frame_count_get(const Vg_Cache_Entry *vg_entry); |
156 | Eina_Size2D evas_cache_vg_entry_default_size_get(const Vg_Cache_Entry *vg_entry); | 157 | Eina_Size2D evas_cache_vg_entry_default_size_get(const Vg_Cache_Entry *vg_entry); |
158 | void * evas_cache_vg_surface_key_get(Efl_Canvas_Vg_Node *root, int w, int h, int frame_idx); | ||
157 | void efl_canvas_vg_node_vg_obj_set(Efl_VG *node, Efl_VG *vg_obj, Efl_Canvas_Vg_Object_Data *vd); | 159 | void efl_canvas_vg_node_vg_obj_set(Efl_VG *node, Efl_VG *vg_obj, Efl_Canvas_Vg_Object_Data *vd); |
158 | void efl_canvas_vg_node_change(Efl_VG *node); | 160 | void efl_canvas_vg_node_change(Efl_VG *node); |
159 | void efl_canvas_vg_container_vg_obj_update(Efl_VG *obj, Efl_Canvas_Vg_Node_Data *nd); | 161 | void efl_canvas_vg_container_vg_obj_update(Efl_VG *obj, Efl_Canvas_Vg_Node_Data *nd); |