From c963d75dfdeec11f82e79e727062fbf89afa2c04 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Sun, 22 Apr 2012 09:19:23 +1000 Subject: Update EFL to latest beta. --- .../modules/engines/wayland_shm/Evas_Engine_Wayland_Shm.h | 3 ++- libraries/evas/src/modules/engines/wayland_shm/Makefile.am | 3 ++- libraries/evas/src/modules/engines/wayland_shm/Makefile.in | 11 ++++++----- libraries/evas/src/modules/engines/wayland_shm/evas_engine.c | 12 +++++++----- libraries/evas/src/modules/engines/wayland_shm/evas_engine.h | 3 ++- libraries/evas/src/modules/engines/wayland_shm/evas_outbuf.c | 5 +++-- 6 files changed, 22 insertions(+), 15 deletions(-) (limited to 'libraries/evas/src/modules/engines/wayland_shm') 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 void *dest; int rotation; - unsigned char debug : 1; + Eina_Bool destination_alpha : 1; + Eina_Bool debug : 1; } info; 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 = \ -I$(top_srcdir)/src/lib/include \ -I$(top_srcdir)/src/modules/engines \ @FREETYPE_CFLAGS@ \ +@PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ \ @evas_engine_wayland_shm_cflags@ @@ -16,7 +17,7 @@ WAYLAND_SHM_SOURCES = \ evas_engine.c \ evas_outbuf.c -WAYLAND_SHM_LIBADD = @FREETYPE_LIBS@ @EINA_LIBS@ @evas_engine_wayland_shm_libs@ +WAYLAND_SHM_LIBADD = @FREETYPE_LIBS@ @PIXMAN_LIBS@ @EINA_LIBS@ @evas_engine_wayland_shm_libs@ includes_HEADERS = Evas_Engine_Wayland_Shm.h includesdir = $(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@ EVIL_CFLAGS = @EVIL_CFLAGS@ EVIL_LIBS = @EVIL_LIBS@ EXEEXT = @EXEEXT@ +EXOTIC_CFLAGS = @EXOTIC_CFLAGS@ +EXOTIC_LIBS = @EXOTIC_LIBS@ FGREP = @FGREP@ FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@ FONTCONFIG_LIBS = @FONTCONFIG_LIBS@ @@ -244,6 +246,8 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PIXMAN_CFLAGS = @PIXMAN_CFLAGS@ PIXMAN_LIBS = @PIXMAN_LIBS@ PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PNG_CFLAGS = @PNG_CFLAGS@ PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ @@ -262,8 +266,6 @@ VERSION = @VERSION@ VMAJ = @VMAJ@ WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@ WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@ -WIN32_CFLAGS = @WIN32_CFLAGS@ -WIN32_CPPFLAGS = @WIN32_CPPFLAGS@ XCB_CFLAGS = @XCB_CFLAGS@ XCB_GL_CFLAGS = @XCB_GL_CFLAGS@ XCB_GL_LIBS = @XCB_GL_LIBS@ @@ -337,8 +339,6 @@ evas_engine_software_ddraw_cflags = @evas_engine_software_ddraw_cflags@ evas_engine_software_ddraw_libs = @evas_engine_software_ddraw_libs@ evas_engine_software_gdi_cflags = @evas_engine_software_gdi_cflags@ evas_engine_software_gdi_libs = @evas_engine_software_gdi_libs@ -evas_engine_software_sdl_cflags = @evas_engine_software_sdl_cflags@ -evas_engine_software_sdl_libs = @evas_engine_software_sdl_libs@ evas_engine_software_xcb_cflags = @evas_engine_software_xcb_cflags@ evas_engine_software_xcb_libs = @evas_engine_software_xcb_libs@ evas_engine_software_xlib_cflags = @evas_engine_software_xlib_cflags@ @@ -428,6 +428,7 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/src/lib/include \ -I$(top_srcdir)/src/modules/engines \ @FREETYPE_CFLAGS@ \ +@PIXMAN_CFLAGS@ \ @EINA_CFLAGS@ \ @evas_engine_wayland_shm_cflags@ @@ -435,7 +436,7 @@ AM_CPPFLAGS = \ @BUILD_ENGINE_WAYLAND_SHM_TRUE@evas_engine.c \ @BUILD_ENGINE_WAYLAND_SHM_TRUE@evas_outbuf.c -@BUILD_ENGINE_WAYLAND_SHM_TRUE@WAYLAND_SHM_LIBADD = @FREETYPE_LIBS@ @EINA_LIBS@ @evas_engine_wayland_shm_libs@ +@BUILD_ENGINE_WAYLAND_SHM_TRUE@WAYLAND_SHM_LIBADD = @FREETYPE_LIBS@ @PIXMAN_LIBS@ @EINA_LIBS@ @evas_engine_wayland_shm_libs@ @BUILD_ENGINE_WAYLAND_SHM_TRUE@includes_HEADERS = Evas_Engine_Wayland_Shm.h @BUILD_ENGINE_WAYLAND_SHM_TRUE@includesdir = $(includedir)/evas-@VMAJ@ @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; int _evas_engine_way_shm_log_dom = -1; /* local function prototypes */ -static void *_output_setup(int w, int h, int rotation, void *dest); +static void *_output_setup(int w, int h, int rotation, Eina_Bool alpha, void *dest); /* engine function prototypes */ static void *eng_info(Evas *evas __UNUSED__); @@ -48,7 +48,7 @@ static Eina_Bool eng_canvas_alpha_get(void *data, void *context __UNUSED__); /* local functions */ static void * -_output_setup(int w, int h, int rotation, void *dest) +_output_setup(int w, int h, int rotation, Eina_Bool alpha, void *dest) { Render_Engine *re = NULL; @@ -56,7 +56,7 @@ _output_setup(int w, int h, int rotation, void *dest) if (!(re = calloc(1, sizeof(Render_Engine)))) return NULL; - if (!(re->ob = evas_outbuf_setup(w, h, rotation, dest))) + if (!(re->ob = evas_outbuf_setup(w, h, rotation, alpha, dest))) { free(re); return NULL; @@ -127,7 +127,8 @@ eng_setup(Evas *evas, void *info) evas_common_tilebuf_init(); re = _output_setup(evas->output.w, evas->output.h, - in->info.rotation, in->info.dest); + in->info.rotation, in->info.destination_alpha, + in->info.dest); if (!re) return 0; re->outbuf_free = evas_outbuf_free; @@ -141,7 +142,8 @@ eng_setup(Evas *evas, void *info) if (!(re = evas->engine.data.output)) return 0; if (re->ob) re->outbuf_free(re->ob); re->ob = evas_outbuf_setup(evas->output.w, evas->output.h, - in->info.rotation, in->info.dest); + in->info.rotation, + in->info.destination_alpha, in->info.dest); if (re->tb) evas_common_tilebuf_free(re->tb); if ((re->tb = evas_common_tilebuf_new(evas->output.w, evas->output.h))) 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 { void *dest; RGBA_Image *buffer; + Eina_Bool destination_alpha : 1; } priv; }; void evas_outbuf_free(Outbuf *ob); void evas_outbuf_resize(Outbuf *ob, int w, int h); -Outbuf *evas_outbuf_setup(int w, int h, int rot, void *dest); +Outbuf *evas_outbuf_setup(int w, int h, int rot, Eina_Bool alpha, void *dest); RGBA_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); void evas_outbuf_push_updated_region(Outbuf *ob, RGBA_Image *update, int x __UNUSED__, int y, int w, int h); void 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) } Outbuf * -evas_outbuf_setup(int w, int h, int rot, void *dest) +evas_outbuf_setup(int w, int h, int rot, Eina_Bool alpha, void *dest) { Outbuf *ob = NULL; @@ -31,6 +31,7 @@ evas_outbuf_setup(int w, int h, int rot, void *dest) ob->h = h; ob->rotation = rot; ob->priv.dest = dest; + ob->priv.destination_alpha = alpha; ob->priv.buffer = (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 im = (RGBA_Image *)evas_cache_image_empty(evas_common_image_cache_get()); if (im) { - im->cache_entry.flags.alpha = 1; + im->cache_entry.flags.alpha = ob->priv.destination_alpha; im = (RGBA_Image *)evas_cache_image_size_set(&im->cache_entry, w, h); } -- cgit v1.1