aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/evas/src/modules/engines/fb/evas_engine.h
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/evas/src/modules/engines/fb/evas_engine.h')
-rw-r--r--libraries/evas/src/modules/engines/fb/evas_engine.h85
1 files changed, 85 insertions, 0 deletions
diff --git a/libraries/evas/src/modules/engines/fb/evas_engine.h b/libraries/evas/src/modules/engines/fb/evas_engine.h
new file mode 100644
index 0000000..295e91e
--- /dev/null
+++ b/libraries/evas/src/modules/engines/fb/evas_engine.h
@@ -0,0 +1,85 @@
1#ifndef EVAS_ENGINE_H
2#define EVAS_ENGINE_H
3
4#include "evas_fb.h"
5
6extern int _evas_engine_fb_log_dom;
7#ifdef ERR
8# undef ERR
9#endif
10#define ERR(...) EINA_LOG_DOM_ERR(_evas_engine_fb_log_dom, __VA_ARGS__)
11
12#ifdef DBG
13# undef DBG
14#endif
15#define DBG(...) EINA_LOG_DOM_DBG(_evas_engine_fb_log_dom, __VA_ARGS__)
16
17#ifdef INF
18# undef INF
19#endif
20#define INF(...) EINA_LOG_DOM_INFO(_evas_engine_fb_log_dom, __VA_ARGS__)
21
22#ifdef WRN
23# undef WRN
24#endif
25#define WRN(...) EINA_LOG_DOM_WARN(_evas_engine_fb_log_dom, __VA_ARGS__)
26
27#ifdef CRIT
28# undef CRIT
29#endif
30#define CRIT(...) EINA_LOG_DOM_CRIT(_evas_engine_fb_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_INHERIT,
40 OUTBUF_DEPTH_RGB_16BPP_565_565_DITHERED,
41 OUTBUF_DEPTH_RGB_16BPP_555_555_DITHERED,
42 OUTBUF_DEPTH_RGB_16BPP_444_444_DITHERED,
43 OUTBUF_DEPTH_RGB_16BPP_565_444_DITHERED,
44 OUTBUF_DEPTH_RGB_32BPP_888_8888,
45 OUTBUF_DEPTH_LAST
46};
47
48struct _Outbuf
49{
50 Outbuf_Depth depth;
51 int w, h;
52 int rot;
53
54 struct {
55 struct {
56 FB_Mode *fb;
57 } fb;
58 struct {
59 DATA32 r, g, b;
60 } mask;
61 RGBA_Image *back_buf;
62 } priv;
63};
64
65/****/
66
67void evas_fb_outbuf_fb_init (void);
68void evas_fb_outbuf_fb_free (Outbuf *buf);
69
70Outbuf *evas_fb_outbuf_fb_setup_fb (int w, int h, int rot, Outbuf_Depth depth, int vt_no, int dev_no, int refresh);
71
72void evas_fb_outbuf_fb_blit (Outbuf *buf, int src_x, int src_y, int w, int h, int dst_x, int dst_y);
73void evas_fb_outbuf_fb_update (Outbuf *buf, int x, int y, int w, int h);
74RGBA_Image *evas_fb_outbuf_fb_new_region_for_update (Outbuf *buf, int x, int y, int w, int h, int *cx, int *cy, int *cw, int *ch);
75void evas_fb_outbuf_fb_free_region_for_update (Outbuf *buf, RGBA_Image *update);
76void evas_fb_outbuf_fb_push_updated_region (Outbuf *buf, RGBA_Image *update, int x, int y, int w, int h);
77void evas_fb_outbuf_fb_reconfigure (Outbuf *buf, int w, int h, int rot, Outbuf_Depth depth);
78int evas_fb_outbuf_fb_get_width (Outbuf *buf);
79int evas_fb_outbuf_fb_get_height (Outbuf *buf);
80Outbuf_Depth evas_fb_outbuf_fb_get_depth (Outbuf *buf);
81int evas_fb_outbuf_fb_get_rot (Outbuf *buf);
82int evas_fb_outbuf_fb_get_have_backbuf (Outbuf *buf);
83void evas_fb_outbuf_fb_set_have_backbuf (Outbuf *buf, int have_backbuf);
84
85#endif