aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/evas/src/modules/engines/buffer/evas_engine.h
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/evas/src/modules/engines/buffer/evas_engine.h')
-rw-r--r--libraries/evas/src/modules/engines/buffer/evas_engine.h85
1 files changed, 85 insertions, 0 deletions
diff --git a/libraries/evas/src/modules/engines/buffer/evas_engine.h b/libraries/evas/src/modules/engines/buffer/evas_engine.h
new file mode 100644
index 0000000..21c988c
--- /dev/null
+++ b/libraries/evas/src/modules/engines/buffer/evas_engine.h
@@ -0,0 +1,85 @@
1#ifndef EVAS_ENGINE_H
2#define EVAS_ENGINE_H
3#include "evas_common.h"
4/* this thing is for eina_log */
5extern int _evas_engine_buffer_log_dom ;
6
7#ifdef ERR
8# undef ERR
9#endif
10#define ERR(...) EINA_LOG_DOM_ERR(_evas_engine_buffer_log_dom, __VA_ARGS__)
11
12#ifdef DBG
13# undef DBG
14#endif
15#define DBG(...) EINA_LOG_DOM_DBG(_evas_engine_buffer_log_dom, __VA_ARGS__)
16
17#ifdef INF
18# undef INF
19#endif
20#define INF(...) EINA_LOG_DOM_INFO(_evas_engine_buffer_log_dom, __VA_ARGS__)
21
22#ifdef WRN
23# undef WRN
24#endif
25#define WRN(...) EINA_LOG_DOM_WARN(_evas_engine_buffer_log_dom, __VA_ARGS__)
26
27#ifdef CRIT
28# undef CRIT
29#endif
30#define CRIT(...) EINA_LOG_DOM_CRIT(_evas_engine_buffer_log_dom, __VA_ARGS__)
31
32typedef struct _Outbuf Outbuf;
33
34typedef enum _Outbuf_Depth Outbuf_Depth;
35
36enum _Outbuf_Depth
37{
38 OUTBUF_DEPTH_NONE,
39 OUTBUF_DEPTH_ARGB_32BPP_8888_8888,
40 OUTBUF_DEPTH_BGRA_32BPP_8888_8888,
41 OUTBUF_DEPTH_RGB_32BPP_888_8888,
42 OUTBUF_DEPTH_BGR_32BPP_888_8888,
43 OUTBUF_DEPTH_RGB_24BPP_888_888,
44 OUTBUF_DEPTH_BGR_24BPP_888_888,
45 OUTBUF_DEPTH_LAST
46};
47
48struct _Outbuf
49{
50 int w, h;
51 Outbuf_Depth depth;
52
53 void *dest;
54 unsigned int dest_row_bytes;
55
56 int alpha_level;
57 DATA32 color_key;
58 char use_color_key : 1;
59
60 struct {
61 void * (*new_update_region) (int x, int y, int w, int h, int *row_bytes);
62 void (*free_update_region) (int x, int y, int w, int h, void *data);
63 } func;
64
65 struct {
66 RGBA_Image *back_buf;
67 } priv;
68};
69
70/****/
71
72void evas_buffer_outbuf_buf_init (void);
73void evas_buffer_outbuf_buf_free (Outbuf *buf);
74
75Outbuf *evas_buffer_outbuf_buf_setup_fb (int w, int h, Outbuf_Depth depth, void *dest, int dest_row_bytes, int use_color_key, DATA32 color_key, int alpha_level,
76 void * (*new_update_region) (int x, int y, int w, int h, int *row_bytes),
77 void (*free_update_region) (int x, int y, int w, int h, void *data));
78
79
80RGBA_Image *evas_buffer_outbuf_buf_new_region_for_update (Outbuf *buf, int x, int y, int w, int h, int *cx, int *cy, int *cw, int *ch);
81void evas_buffer_outbuf_buf_free_region_for_update (Outbuf *buf, RGBA_Image *update);
82void evas_buffer_outbuf_buf_push_updated_region (Outbuf *buf, RGBA_Image *update, int x, int y, int w, int h);
83
84#endif
85