[maemo-commits] [maemo-commits] r18950 - in projects/haf/trunk/clutter0.8: clutter/eglx clutter/x11 debian
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Wed Jul 22 16:27:10 EEST 2009
- Previous message: [maemo-commits] r18949 - projects/haf/tags/ke-recv
- Next message: [maemo-commits] r18951 - in projects/haf/trunk/libmatchbox2: . debian matchbox/comp-mgr matchbox/core
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: gw
Date: 2009-07-22 16:27:06 +0300 (Wed, 22 Jul 2009)
New Revision: 18950
Modified:
projects/haf/trunk/clutter0.8/clutter/eglx/clutter-eglx-texture-pixmap.c
projects/haf/trunk/clutter0.8/clutter/x11/clutter-x11-texture-pixmap.c
projects/haf/trunk/clutter0.8/clutter/x11/clutter-x11-texture-pixmap.h
projects/haf/trunk/clutter0.8/debian/changelog
Log:
* clutter/eglx/clutter-eglx-texture-pixmap.c
clutter/x11/clutter-x11-texture-pixmap.c
clutter/x11/clutter-x11-texture-pixmap.h: added a set_allow_alpha function
for use with the new sapwood (to disable the alpha channel on RGBA pixmaps
for windows that aren't really transparent but need RGBA anyway).
Modified: projects/haf/trunk/clutter0.8/clutter/eglx/clutter-eglx-texture-pixmap.c
===================================================================
--- projects/haf/trunk/clutter0.8/clutter/eglx/clutter-eglx-texture-pixmap.c 2009-07-22 12:50:47 UTC (rev 18949)
+++ projects/haf/trunk/clutter0.8/clutter/eglx/clutter-eglx-texture-pixmap.c 2009-07-22 13:27:06 UTC (rev 18950)
@@ -242,6 +242,7 @@
Pixmap pixmap;
Window window;
guint pixmap_depth;
+ gboolean has_alpha;
CoglPixelFormat format;
EGLint value;
ClutterBackendEGL *backend;
@@ -288,11 +289,16 @@
/*g_debug("%s: Pixmap depth %d", __FUNCTION__, pixmap_depth);*/
+ has_alpha = pixmap_depth==32;
+ if (!clutter_x11_texture_pixmap_get_allow_alpha(
+ CLUTTER_X11_TEXTURE_PIXMAP(actor)))
+ has_alpha = FALSE;
+
if (pixmap)
{
EGLConfig conf = clutter_eglx_get_eglconfig (
backend->edpy, &priv->egl_surface,
- pixmap, pixmap_depth);
+ pixmap, has_alpha);
print_config_info (conf);
}
else
@@ -310,7 +316,7 @@
}
conf = clutter_eglx_get_eglconfig (
backend->edpy, &priv->egl_surface,
- pixmap, pixmap_depth);
+ pixmap, has_alpha);
print_config_info (conf);
}
@@ -455,12 +461,11 @@
static EGLConfig
clutter_eglx_get_eglconfig (EGLDisplay *display,
EGLSurface *surface, Pixmap pixmap,
- int depth)
+ gboolean has_alpha)
{
EGLConfig configs[20];
int i, nconfigs = 0;
EGLBoolean ret;
- gboolean has_alpha = depth==32;
ret = eglChooseConfig (display, pixmap_config, configs,
G_N_ELEMENTS (configs), &nconfigs);
Modified: projects/haf/trunk/clutter0.8/clutter/x11/clutter-x11-texture-pixmap.c
===================================================================
--- projects/haf/trunk/clutter0.8/clutter/x11/clutter-x11-texture-pixmap.c 2009-07-22 12:50:47 UTC (rev 18949)
+++ projects/haf/trunk/clutter0.8/clutter/x11/clutter-x11-texture-pixmap.c 2009-07-22 13:27:06 UTC (rev 18950)
@@ -121,6 +121,7 @@
gboolean destroyed;
gboolean owns_pixmap;
gboolean override_redirect;
+ gboolean allow_alpha;
gint window_x, window_y;
GList *shapes;
@@ -414,6 +415,7 @@
self->priv->window_mapped = FALSE;
self->priv->destroyed = FALSE;
self->priv->override_redirect = FALSE;
+ self->priv->allow_alpha = TRUE;
self->priv->window_x = 0;
self->priv->window_y = 0;
self->priv->shapes = 0;
@@ -850,6 +852,9 @@
else
goto free_image_and_return;
+ if (!priv->allow_alpha)
+ pixel_has_alpha = FALSE;
+
/* For debugging purposes, un comment to simply generate dummy
* pixmap data. (A Green background and Blue cross) */
#if 0
@@ -1508,3 +1513,18 @@
*ageo = geo;
priv->shapes = g_list_append(priv->shapes, ageo);
}
+
+/* Set whether we will allow this pixmap to have an alpha channel or not */
+void clutter_x11_texture_pixmap_set_allow_alpha(ClutterX11TexturePixmap *texture,
+ gboolean allow)
+{
+ g_return_if_fail (CLUTTER_X11_IS_TEXTURE_PIXMAP (texture));
+ texture->priv->allow_alpha = allow;
+}
+
+/* Get whether we will allow this pixmap to have an alpha channel or not */
+gboolean clutter_x11_texture_pixmap_get_allow_alpha(ClutterX11TexturePixmap *texture)
+{
+ g_return_if_fail (CLUTTER_X11_IS_TEXTURE_PIXMAP (texture));
+ return texture->priv->allow_alpha;
+}
Modified: projects/haf/trunk/clutter0.8/clutter/x11/clutter-x11-texture-pixmap.h
===================================================================
--- projects/haf/trunk/clutter0.8/clutter/x11/clutter-x11-texture-pixmap.h 2009-07-22 12:50:47 UTC (rev 18949)
+++ projects/haf/trunk/clutter0.8/clutter/x11/clutter-x11-texture-pixmap.h 2009-07-22 13:27:06 UTC (rev 18950)
@@ -95,6 +95,10 @@
clutter_x11_texture_pixmap_set_redirection (ClutterX11TexturePixmap *texture,
gboolean setting);
+void clutter_x11_texture_pixmap_set_allow_alpha(ClutterX11TexturePixmap *texture,
+ gboolean allow);
+gboolean clutter_x11_texture_pixmap_get_allow_alpha(ClutterX11TexturePixmap *texture);
+
G_END_DECLS
#endif
Modified: projects/haf/trunk/clutter0.8/debian/changelog
===================================================================
--- projects/haf/trunk/clutter0.8/debian/changelog 2009-07-22 12:50:47 UTC (rev 18949)
+++ projects/haf/trunk/clutter0.8/debian/changelog 2009-07-22 13:27:06 UTC (rev 18950)
@@ -1,6 +1,10 @@
clutter (0.8.2-0maemo41~unreleased) unstable; urgency=low
- * foo
+ * clutter/eglx/clutter-eglx-texture-pixmap.c
+ clutter/x11/clutter-x11-texture-pixmap.c
+ clutter/x11/clutter-x11-texture-pixmap.h: added a set_allow_alpha function
+ for use with the new sapwood (to disable the alpha channel on RGBA pixmaps
+ for windows that aren't really transparent but need RGBA anyway).
-- Aapo Kojo <aapo.kojo at nokia.com> Mon, 20 Jul 2009 12:48:30 +0300
- Previous message: [maemo-commits] r18949 - projects/haf/tags/ke-recv
- Next message: [maemo-commits] r18951 - in projects/haf/trunk/libmatchbox2: . debian matchbox/comp-mgr matchbox/core
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
