summaryrefslogtreecommitdiff
path: root/src/lib/evas/include/evas_filter.h
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2017-01-04 16:50:09 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2017-01-17 14:35:28 +0900
commitde47187dde8374a61ef4082048f6d87339b7ebf5 (patch)
treeee76bc893d9af2bca082403de5b45f225a894e7d /src/lib/evas/include/evas_filter.h
parent5f1c993d1724013a76d02d6c2b16832b0e2357ca (diff)
evas: Fix tb filters spanning over multiple items
If a gfx filter was applied to a block of text spanning over multiple text items, then it would improperly render as the filter context was stored in the format, rather than the text item. This is fixed by using a list of contexts in the format node rather than a single context.
Diffstat (limited to '')
-rw-r--r--src/lib/evas/include/evas_filter.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/lib/evas/include/evas_filter.h b/src/lib/evas/include/evas_filter.h
index 60d946fddc..75a80a92d7 100644
--- a/src/lib/evas/include/evas_filter.h
+++ b/src/lib/evas/include/evas_filter.h
@@ -132,15 +132,16 @@ EAPI Evas_Filter_Program *evas_filter_program_new(const char *name, Eina_Bool in
132EAPI Eina_Bool evas_filter_program_state_set(Evas_Filter_Program *pgm, const Efl_Canvas_Filter_State *state); 132EAPI Eina_Bool evas_filter_program_state_set(Evas_Filter_Program *pgm, const Efl_Canvas_Filter_State *state);
133EAPI Eina_Bool evas_filter_program_parse(Evas_Filter_Program *pgm, const char *str); 133EAPI Eina_Bool evas_filter_program_parse(Evas_Filter_Program *pgm, const char *str);
134EAPI void evas_filter_program_del(Evas_Filter_Program *pgm); 134EAPI void evas_filter_program_del(Evas_Filter_Program *pgm);
135Eina_Bool evas_filter_context_program_use(Evas_Filter_Context *ctx, Evas_Filter_Program *pgm);
136EAPI Eina_Bool evas_filter_program_padding_get(Evas_Filter_Program *pgm, int *l, int *r, int *t, int *b); 135EAPI Eina_Bool evas_filter_program_padding_get(Evas_Filter_Program *pgm, int *l, int *r, int *t, int *b);
137EAPI void evas_filter_program_source_set_all(Evas_Filter_Program *pgm, Eina_Hash *sources); 136EAPI void evas_filter_program_source_set_all(Evas_Filter_Program *pgm, Eina_Hash *sources);
138void evas_filter_context_proxy_render_all(Evas_Filter_Context *ctx, Eo *eo_obj, Eina_Bool do_async);
139void evas_filter_program_data_set_all(Evas_Filter_Program *pgm, Eina_Inlist *data); 137void evas_filter_program_data_set_all(Evas_Filter_Program *pgm, Eina_Inlist *data);
140 138
141/* Filter context (low level) */ 139/* Filter context (low level) */
142Evas_Filter_Context *evas_filter_context_new(Evas_Public_Data *evas, Eina_Bool async); 140Evas_Filter_Context *evas_filter_context_new(Evas_Public_Data *evas, Eina_Bool async, int id);
141int evas_filter_context_id_get(Evas_Filter_Context *ctx);
143void evas_filter_context_destroy(Evas_Filter_Context *ctx); 142void evas_filter_context_destroy(Evas_Filter_Context *ctx);
143Eina_Bool evas_filter_context_program_use(Evas_Filter_Context *ctx, Evas_Filter_Program *pgm);
144void evas_filter_context_proxy_render_all(Evas_Filter_Context *ctx, Eo *eo_obj, Eina_Bool do_async);
144void evas_filter_context_post_run_callback_set(Evas_Filter_Context *ctx, Evas_Filter_Cb cb, void *data); 145void evas_filter_context_post_run_callback_set(Evas_Filter_Context *ctx, Evas_Filter_Cb cb, void *data);
145#define evas_filter_context_autodestroy(ctx) evas_filter_context_post_run_callback_set(ctx, ((Evas_Filter_Cb) evas_filter_context_destroy), ctx) 146#define evas_filter_context_autodestroy(ctx) evas_filter_context_post_run_callback_set(ctx, ((Evas_Filter_Cb) evas_filter_context_destroy), ctx)
146Eina_Bool evas_filter_context_buffers_allocate_all(Evas_Filter_Context *ctx); 147Eina_Bool evas_filter_context_buffers_allocate_all(Evas_Filter_Context *ctx);