summaryrefslogtreecommitdiff
path: root/src/lib/evas/include/evas_filter.h
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2014-01-23 14:58:05 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2014-02-07 17:33:17 +0900
commiteea049f988c3093c4859ff3a877e27b9e4aa0441 (patch)
tree63f34d3986caa858137b33f31866e99445c1e327 /src/lib/evas/include/evas_filter.h
parentbf46a1d26c0f9bf04a540f5ccfaa204d7d2caa24 (diff)
Evas filters: Alloc/Dealloc buffers from the main loop only
This is a problem I didn't spot immediately... but with tons of nasty consequences.
Diffstat (limited to 'src/lib/evas/include/evas_filter.h')
-rw-r--r--src/lib/evas/include/evas_filter.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/lib/evas/include/evas_filter.h b/src/lib/evas/include/evas_filter.h
index 88e24fa60a..7163d770fe 100644
--- a/src/lib/evas/include/evas_filter.h
+++ b/src/lib/evas/include/evas_filter.h
@@ -101,14 +101,18 @@ Evas_Filter_Context *evas_filter_context_new(Evas_Public_Data *evas);
101void evas_filter_context_destroy(Evas_Filter_Context *ctx); 101void evas_filter_context_destroy(Evas_Filter_Context *ctx);
102void evas_filter_context_post_run_callback_set(Evas_Filter_Context *ctx, Evas_Filter_Cb cb, void *data); 102void evas_filter_context_post_run_callback_set(Evas_Filter_Context *ctx, Evas_Filter_Cb cb, void *data);
103#define evas_filter_context_autodestroy(ctx) evas_filter_context_post_run_callback_set(ctx, ((Evas_Filter_Cb) evas_filter_context_destroy), ctx) 103#define evas_filter_context_autodestroy(ctx) evas_filter_context_post_run_callback_set(ctx, ((Evas_Filter_Cb) evas_filter_context_destroy), ctx)
104Eina_Bool evas_filter_context_buffers_allocate_all(Evas_Filter_Context *ctx, unsigned w, unsigned h);
104 105
105int evas_filter_buffer_empty_new(Evas_Filter_Context *ctx, Eina_Bool alpha_only); 106int evas_filter_buffer_empty_new(Evas_Filter_Context *ctx, Eina_Bool alpha_only);
106int evas_filter_buffer_image_new(Evas_Filter_Context *ctx, RGBA_Image *image); 107int evas_filter_buffer_image_new(Evas_Filter_Context *ctx, RGBA_Image *image);
107int evas_filter_buffer_data_new(Evas_Filter_Context *ctx, void *data, int w, int h, Eina_Bool alpha_only); 108//int evas_filter_buffer_data_new(Evas_Filter_Context *ctx, void *data, int w, int h, Eina_Bool alpha_only);
108#define evas_filter_buffer_alloc_new(ctx, w, h, a) evas_filter_buffer_data_new(ctx, NULL, w, h, a) 109#define evas_filter_buffer_alloc_new(ctx, w, h, a) evas_filter_buffer_data_new(ctx, NULL, w, h, a)
109void *evas_filter_buffer_backing_get(Evas_Filter_Context *ctx, int bufid); 110void *evas_filter_buffer_backing_get(Evas_Filter_Context *ctx, int bufid);
110void *evas_filter_buffer_backing_steal(Evas_Filter_Context *ctx, int bufid); 111void *evas_filter_buffer_backing_steal(Evas_Filter_Context *ctx, int bufid);
111Eina_Bool evas_filter_buffer_data_set(Evas_Filter_Context *ctx, int bufid, void *data, int w, int h, Eina_Bool alpha_only); 112Eina_Bool evas_filter_buffer_backing_release(Evas_Filter_Context *ctx, void *stolen_buffer);
113
114// Do not use
115EINA_DEPRECATED Eina_Bool evas_filter_buffer_data_set(Evas_Filter_Context *ctx, int bufid, void *data, int w, int h, Eina_Bool alpha_only);
112 116
113Eina_Bool evas_filter_run(Evas_Filter_Context *ctx, Eina_Bool do_async); 117Eina_Bool evas_filter_run(Evas_Filter_Context *ctx, Eina_Bool do_async);
114 118