gdk: add alpha to the offscreen window's surface if its visual is RGBA

This commit is contained in:
Michael Natterer
2010-10-20 17:44:23 +02:00
parent c2f29f2cef
commit 0f2d1547f8

View File

@ -156,16 +156,19 @@ _gdk_offscreen_window_create_surface (GdkWindow *offscreen,
GdkWindowObject *private = (GdkWindowObject *) offscreen; GdkWindowObject *private = (GdkWindowObject *) offscreen;
cairo_surface_t *similar; cairo_surface_t *similar;
cairo_surface_t *surface; cairo_surface_t *surface;
cairo_content_t content = CAIRO_CONTENT_COLOR;
g_return_val_if_fail (GDK_IS_OFFSCREEN_WINDOW (private->impl), NULL); g_return_val_if_fail (GDK_IS_OFFSCREEN_WINDOW (private->impl), NULL);
similar = _gdk_drawable_ref_cairo_surface ((GdkWindow *)private->parent); similar = _gdk_drawable_ref_cairo_surface ((GdkWindow *)private->parent);
surface = cairo_surface_create_similar (similar, if (gdk_window_get_visual (offscreen) ==
/* FIXME: use visual */ gdk_screen_get_rgba_visual (gdk_window_get_screen (offscreen)))
CAIRO_CONTENT_COLOR, {
width, content = CAIRO_CONTENT_COLOR_ALPHA;
height); }
surface = cairo_surface_create_similar (similar, content, width, height);
cairo_surface_destroy (similar); cairo_surface_destroy (similar);