aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/evas/src/modules/engines/wayland_shm
diff options
context:
space:
mode:
authorDavid Walter Seikel2012-04-22 09:19:23 +1000
committerDavid Walter Seikel2012-04-22 09:19:23 +1000
commitc963d75dfdeec11f82e79e727062fbf89afa2c04 (patch)
tree895633dbf641110be46f117c29890c49b3ffc0bd /libraries/evas/src/modules/engines/wayland_shm
parentAdding the new extantz viewer and grid manager. (diff)
downloadSledjHamr-c963d75dfdeec11f82e79e727062fbf89afa2c04.zip
SledjHamr-c963d75dfdeec11f82e79e727062fbf89afa2c04.tar.gz
SledjHamr-c963d75dfdeec11f82e79e727062fbf89afa2c04.tar.bz2
SledjHamr-c963d75dfdeec11f82e79e727062fbf89afa2c04.tar.xz
Update EFL to latest beta.
Diffstat (limited to 'libraries/evas/src/modules/engines/wayland_shm')
-rw-r--r--libraries/evas/src/modules/engines/wayland_shm/Evas_Engine_Wayland_Shm.h3
-rw-r--r--libraries/evas/src/modules/engines/wayland_shm/Makefile.am3
-rw-r--r--libraries/evas/src/modules/engines/wayland_shm/Makefile.in11
-rw-r--r--libraries/evas/src/modules/engines/wayland_shm/evas_engine.c12
-rw-r--r--libraries/evas/src/modules/engines/wayland_shm/evas_engine.h3
-rw-r--r--libraries/evas/src/modules/engines/wayland_shm/evas_outbuf.c5
6 files changed, 22 insertions, 15 deletions
diff --git a/libraries/evas/src/modules/engines/wayland_shm/Evas_Engine_Wayland_Shm.h b/libraries/evas/src/modules/engines/wayland_shm/Evas_Engine_Wayland_Shm.h
index b34b2c1..2b5c2c7 100644
--- a/libraries/evas/src/modules/engines/wayland_shm/Evas_Engine_Wayland_Shm.h
+++ b/libraries/evas/src/modules/engines/wayland_shm/Evas_Engine_Wayland_Shm.h
@@ -11,7 +11,8 @@ struct _Evas_Engine_Info_Wayland_Shm
11 void *dest; 11 void *dest;
12 int rotation; 12 int rotation;
13 13
14 unsigned char debug : 1; 14 Eina_Bool destination_alpha : 1;
15 Eina_Bool debug : 1;
15 } info; 16 } info;
16 17
17 Evas_Engine_Render_Mode render_mode; 18 Evas_Engine_Render_Mode render_mode;
diff --git a/libraries/evas/src/modules/engines/wayland_shm/Makefile.am b/libraries/evas/src/modules/engines/wayland_shm/Makefile.am
index 455b82c..2a5901f 100644
--- a/libraries/evas/src/modules/engines/wayland_shm/Makefile.am
+++ b/libraries/evas/src/modules/engines/wayland_shm/Makefile.am
@@ -7,6 +7,7 @@ AM_CPPFLAGS = \
7-I$(top_srcdir)/src/lib/include \ 7-I$(top_srcdir)/src/lib/include \
8-I$(top_srcdir)/src/modules/engines \ 8-I$(top_srcdir)/src/modules/engines \
9@FREETYPE_CFLAGS@ \ 9@FREETYPE_CFLAGS@ \
10@PIXMAN_CFLAGS@ \
10@EINA_CFLAGS@ \ 11@EINA_CFLAGS@ \
11@evas_engine_wayland_shm_cflags@ 12@evas_engine_wayland_shm_cflags@
12 13
@@ -16,7 +17,7 @@ WAYLAND_SHM_SOURCES = \
16evas_engine.c \ 17evas_engine.c \
17evas_outbuf.c 18evas_outbuf.c
18 19
19WAYLAND_SHM_LIBADD = @FREETYPE_LIBS@ @EINA_LIBS@ @evas_engine_wayland_shm_libs@ 20WAYLAND_SHM_LIBADD = @FREETYPE_LIBS@ @PIXMAN_LIBS@ @EINA_LIBS@ @evas_engine_wayland_shm_libs@
20 21
21includes_HEADERS = Evas_Engine_Wayland_Shm.h 22includes_HEADERS = Evas_Engine_Wayland_Shm.h
22includesdir = $(includedir)/evas-@VMAJ@ 23includesdir = $(includedir)/evas-@VMAJ@
diff --git a/libraries/evas/src/modules/engines/wayland_shm/Makefile.in b/libraries/evas/src/modules/engines/wayland_shm/Makefile.in
index 4d69209..e70210b 100644
--- a/libraries/evas/src/modules/engines/wayland_shm/Makefile.in
+++ b/libraries/evas/src/modules/engines/wayland_shm/Makefile.in
@@ -194,6 +194,8 @@ EVAS_SSE3_CFLAGS = @EVAS_SSE3_CFLAGS@
194EVIL_CFLAGS = @EVIL_CFLAGS@ 194EVIL_CFLAGS = @EVIL_CFLAGS@
195EVIL_LIBS = @EVIL_LIBS@ 195EVIL_LIBS = @EVIL_LIBS@
196EXEEXT = @EXEEXT@ 196EXEEXT = @EXEEXT@
197EXOTIC_CFLAGS = @EXOTIC_CFLAGS@
198EXOTIC_LIBS = @EXOTIC_LIBS@
197FGREP = @FGREP@ 199FGREP = @FGREP@
198FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ 200FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
199FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ 201FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
@@ -244,6 +246,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
244PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ 246PIXMAN_CFLAGS = @PIXMAN_CFLAGS@
245PIXMAN_LIBS = @PIXMAN_LIBS@ 247PIXMAN_LIBS = @PIXMAN_LIBS@
246PKG_CONFIG = @PKG_CONFIG@ 248PKG_CONFIG = @PKG_CONFIG@
249PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
250PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
247PNG_CFLAGS = @PNG_CFLAGS@ 251PNG_CFLAGS = @PNG_CFLAGS@
248PNG_LIBS = @PNG_LIBS@ 252PNG_LIBS = @PNG_LIBS@
249RANLIB = @RANLIB@ 253RANLIB = @RANLIB@
@@ -262,8 +266,6 @@ VERSION = @VERSION@
262VMAJ = @VMAJ@ 266VMAJ = @VMAJ@
263WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ 267WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
264WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ 268WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
265WIN32_CFLAGS = @WIN32_CFLAGS@
266WIN32_CPPFLAGS = @WIN32_CPPFLAGS@
267XCB_CFLAGS = @XCB_CFLAGS@ 269XCB_CFLAGS = @XCB_CFLAGS@
268XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ 270XCB_GL_CFLAGS = @XCB_GL_CFLAGS@
269XCB_GL_LIBS = @XCB_GL_LIBS@ 271XCB_GL_LIBS = @XCB_GL_LIBS@
@@ -337,8 +339,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@
337evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ 339evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@
338evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ 340evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@
339evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ 341evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@
340evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@
341evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@
342evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ 342evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@
343evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ 343evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@
344evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ 344evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@
@@ -428,6 +428,7 @@ AM_CPPFLAGS = \
428-I$(top_srcdir)/src/lib/include \ 428-I$(top_srcdir)/src/lib/include \
429-I$(top_srcdir)/src/modules/engines \ 429-I$(top_srcdir)/src/modules/engines \
430@FREETYPE_CFLAGS@ \ 430@FREETYPE_CFLAGS@ \
431@PIXMAN_CFLAGS@ \
431@EINA_CFLAGS@ \ 432@EINA_CFLAGS@ \
432@evas_engine_wayland_shm_cflags@ 433@evas_engine_wayland_shm_cflags@
433 434
@@ -435,7 +436,7 @@ AM_CPPFLAGS = \
435@BUILD_ENGINE_WAYLAND_SHM_TRUE@evas_engine.c \ 436@BUILD_ENGINE_WAYLAND_SHM_TRUE@evas_engine.c \
436@BUILD_ENGINE_WAYLAND_SHM_TRUE@evas_outbuf.c 437@BUILD_ENGINE_WAYLAND_SHM_TRUE@evas_outbuf.c
437 438
438@BUILD_ENGINE_WAYLAND_SHM_TRUE@WAYLAND_SHM_LIBADD = @FREETYPE_LIBS@ @EINA_LIBS@ @evas_engine_wayland_shm_libs@ 439@BUILD_ENGINE_WAYLAND_SHM_TRUE@WAYLAND_SHM_LIBADD = @FREETYPE_LIBS@ @PIXMAN_LIBS@ @EINA_LIBS@ @evas_engine_wayland_shm_libs@
439@BUILD_ENGINE_WAYLAND_SHM_TRUE@includes_HEADERS = Evas_Engine_Wayland_Shm.h 440@BUILD_ENGINE_WAYLAND_SHM_TRUE@includes_HEADERS = Evas_Engine_Wayland_Shm.h
440@BUILD_ENGINE_WAYLAND_SHM_TRUE@includesdir = $(includedir)/evas-@VMAJ@ 441@BUILD_ENGINE_WAYLAND_SHM_TRUE@includesdir = $(includedir)/evas-@VMAJ@
441@BUILD_ENGINE_WAYLAND_SHM_TRUE@@EVAS_STATIC_BUILD_WAYLAND_SHM_FALSE@pkgdir = $(libdir)/evas/modules/engines/wayland_shm/$(MODULE_ARCH) 442@BUILD_ENGINE_WAYLAND_SHM_TRUE@@EVAS_STATIC_BUILD_WAYLAND_SHM_FALSE@pkgdir = $(libdir)/evas/modules/engines/wayland_shm/$(MODULE_ARCH)
diff --git a/libraries/evas/src/modules/engines/wayland_shm/evas_engine.c b/libraries/evas/src/modules/engines/wayland_shm/evas_engine.c
index 7c55517..17b17bf 100644
--- a/libraries/evas/src/modules/engines/wayland_shm/evas_engine.c
+++ b/libraries/evas/src/modules/engines/wayland_shm/evas_engine.c
@@ -28,7 +28,7 @@ static Evas_Func func, pfunc;
28int _evas_engine_way_shm_log_dom = -1; 28int _evas_engine_way_shm_log_dom = -1;
29 29
30/* local function prototypes */ 30/* local function prototypes */
31static void *_output_setup(int w, int h, int rotation, void *dest); 31static void *_output_setup(int w, int h, int rotation, Eina_Bool alpha, void *dest);
32 32
33/* engine function prototypes */ 33/* engine function prototypes */
34static void *eng_info(Evas *evas __UNUSED__); 34static void *eng_info(Evas *evas __UNUSED__);
@@ -48,7 +48,7 @@ static Eina_Bool eng_canvas_alpha_get(void *data, void *context __UNUSED__);
48 48
49/* local functions */ 49/* local functions */
50static void * 50static void *
51_output_setup(int w, int h, int rotation, void *dest) 51_output_setup(int w, int h, int rotation, Eina_Bool alpha, void *dest)
52{ 52{
53 Render_Engine *re = NULL; 53 Render_Engine *re = NULL;
54 54
@@ -56,7 +56,7 @@ _output_setup(int w, int h, int rotation, void *dest)
56 56
57 if (!(re = calloc(1, sizeof(Render_Engine)))) return NULL; 57 if (!(re = calloc(1, sizeof(Render_Engine)))) return NULL;
58 58
59 if (!(re->ob = evas_outbuf_setup(w, h, rotation, dest))) 59 if (!(re->ob = evas_outbuf_setup(w, h, rotation, alpha, dest)))
60 { 60 {
61 free(re); 61 free(re);
62 return NULL; 62 return NULL;
@@ -127,7 +127,8 @@ eng_setup(Evas *evas, void *info)
127 evas_common_tilebuf_init(); 127 evas_common_tilebuf_init();
128 128
129 re = _output_setup(evas->output.w, evas->output.h, 129 re = _output_setup(evas->output.w, evas->output.h,
130 in->info.rotation, in->info.dest); 130 in->info.rotation, in->info.destination_alpha,
131 in->info.dest);
131 if (!re) return 0; 132 if (!re) return 0;
132 133
133 re->outbuf_free = evas_outbuf_free; 134 re->outbuf_free = evas_outbuf_free;
@@ -141,7 +142,8 @@ eng_setup(Evas *evas, void *info)
141 if (!(re = evas->engine.data.output)) return 0; 142 if (!(re = evas->engine.data.output)) return 0;
142 if (re->ob) re->outbuf_free(re->ob); 143 if (re->ob) re->outbuf_free(re->ob);
143 re->ob = evas_outbuf_setup(evas->output.w, evas->output.h, 144 re->ob = evas_outbuf_setup(evas->output.w, evas->output.h,
144 in->info.rotation, in->info.dest); 145 in->info.rotation,
146 in->info.destination_alpha, in->info.dest);
145 if (re->tb) evas_common_tilebuf_free(re->tb); 147 if (re->tb) evas_common_tilebuf_free(re->tb);
146 if ((re->tb = evas_common_tilebuf_new(evas->output.w, evas->output.h))) 148 if ((re->tb = evas_common_tilebuf_new(evas->output.w, evas->output.h)))
147 evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE); 149 evas_common_tilebuf_set_tile_size(re->tb, TILESIZE, TILESIZE);
diff --git a/libraries/evas/src/modules/engines/wayland_shm/evas_engine.h b/libraries/evas/src/modules/engines/wayland_shm/evas_engine.h
index 878851a..1869d16 100644
--- a/libraries/evas/src/modules/engines/wayland_shm/evas_engine.h
+++ b/libraries/evas/src/modules/engines/wayland_shm/evas_engine.h
@@ -47,12 +47,13 @@ struct _Outbuf
47 { 47 {
48 void *dest; 48 void *dest;
49 RGBA_Image *buffer; 49 RGBA_Image *buffer;
50 Eina_Bool destination_alpha : 1;
50 } priv; 51 } priv;
51}; 52};
52 53
53void evas_outbuf_free(Outbuf *ob); 54void evas_outbuf_free(Outbuf *ob);
54void evas_outbuf_resize(Outbuf *ob, int w, int h); 55void evas_outbuf_resize(Outbuf *ob, int w, int h);
55Outbuf *evas_outbuf_setup(int w, int h, int rot, void *dest); 56Outbuf *evas_outbuf_setup(int w, int h, int rot, Eina_Bool alpha, void *dest);
56RGBA_Image *evas_outbuf_new_region_for_update(Outbuf *ob, int x, int y, int w, int h, int *cx, int *cy, int *cw, int *ch); 57RGBA_Image *evas_outbuf_new_region_for_update(Outbuf *ob, int x, int y, int w, int h, int *cx, int *cy, int *cw, int *ch);
57void evas_outbuf_push_updated_region(Outbuf *ob, RGBA_Image *update, int x __UNUSED__, int y, int w, int h); 58void evas_outbuf_push_updated_region(Outbuf *ob, RGBA_Image *update, int x __UNUSED__, int y, int w, int h);
58void evas_outbuf_free_region_for_update(Outbuf *ob, RGBA_Image *update); 59void evas_outbuf_free_region_for_update(Outbuf *ob, RGBA_Image *update);
diff --git a/libraries/evas/src/modules/engines/wayland_shm/evas_outbuf.c b/libraries/evas/src/modules/engines/wayland_shm/evas_outbuf.c
index 490a978..4dee9a2 100644
--- a/libraries/evas/src/modules/engines/wayland_shm/evas_outbuf.c
+++ b/libraries/evas/src/modules/engines/wayland_shm/evas_outbuf.c
@@ -21,7 +21,7 @@ evas_outbuf_resize(Outbuf *ob, int w, int h)
21} 21}
22 22
23Outbuf * 23Outbuf *
24evas_outbuf_setup(int w, int h, int rot, void *dest) 24evas_outbuf_setup(int w, int h, int rot, Eina_Bool alpha, void *dest)
25{ 25{
26 Outbuf *ob = NULL; 26 Outbuf *ob = NULL;
27 27
@@ -31,6 +31,7 @@ evas_outbuf_setup(int w, int h, int rot, void *dest)
31 ob->h = h; 31 ob->h = h;
32 ob->rotation = rot; 32 ob->rotation = rot;
33 ob->priv.dest = dest; 33 ob->priv.dest = dest;
34 ob->priv.destination_alpha = alpha;
34 35
35 ob->priv.buffer = 36 ob->priv.buffer =
36 (RGBA_Image *)evas_cache_image_data(evas_common_image_cache_get(), 37 (RGBA_Image *)evas_cache_image_data(evas_common_image_cache_get(),
@@ -56,7 +57,7 @@ evas_outbuf_new_region_for_update(Outbuf *ob, int x, int y, int w, int h, int *c
56 im = (RGBA_Image *)evas_cache_image_empty(evas_common_image_cache_get()); 57 im = (RGBA_Image *)evas_cache_image_empty(evas_common_image_cache_get());
57 if (im) 58 if (im)
58 { 59 {
59 im->cache_entry.flags.alpha = 1; 60 im->cache_entry.flags.alpha = ob->priv.destination_alpha;
60 im = (RGBA_Image *)evas_cache_image_size_set(&im->cache_entry, w, h); 61 im = (RGBA_Image *)evas_cache_image_size_set(&im->cache_entry, w, h);
61 } 62 }
62 63