diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2010-10-21 15:26:40 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2010-10-22 20:14:56 +0200 |
commit | ce06043f17556d40b009628cf7c3bd51827ffa8b (patch) | |
tree | f233bc307380ff9427183f0216636de4743887b4 /gdk | |
parent | 5a5f8081f07468b0b99fdf1496dd0b5f27ee88a6 (diff) | |
download | gtk+-ce06043f17556d40b009628cf7c3bd51827ffa8b.tar.gz |
GdkWindow: Add gdk_window_set_background_rgba()
This new function takes a GdkRGBA in order to set the background to
an alpha color. Keep in mind that RGBA visuals and a composited environment
are still necessary to have an alpha background displayed.
Diffstat (limited to 'gdk')
-rw-r--r-- | gdk/gdkwindow.c | 26 | ||||
-rw-r--r-- | gdk/gdkwindow.h | 2 |
2 files changed, 28 insertions, 0 deletions
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 9ff1934b39..d186b4dce5 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -6670,6 +6670,32 @@ gdk_window_set_background (GdkWindow *window, } /** + * gdk_window_set_background_rgba: + * @window: a #GdkWindow + * @rgba: a #GdkRGBA color + * + * Sets the background color of @window. + * + * See also gdk_window_set_background_pattern(). + **/ +void +gdk_window_set_background_rgba (GdkWindow *window, + GdkRGBA *rgba) +{ + cairo_pattern_t *pattern; + + g_return_if_fail (GDK_IS_WINDOW (window)); + g_return_if_fail (rgba != NULL); + + pattern = cairo_pattern_create_rgba (rgba->red, rgba->green, + rgba->blue, rgba->alpha); + + gdk_window_set_background_pattern (window, pattern); + + cairo_pattern_destroy (pattern); +} + +/** * gdk_window_set_background_pattern: * @window: a #GdkWindow * @pattern: (allow-none): a pattern to use, or %NULL diff --git a/gdk/gdkwindow.h b/gdk/gdkwindow.h index b7897ce55a..8a2fd4ba0e 100644 --- a/gdk/gdkwindow.h +++ b/gdk/gdkwindow.h @@ -697,6 +697,8 @@ void gdk_window_set_transient_for (GdkWindow *window, GdkWindow *parent); void gdk_window_set_background (GdkWindow *window, const GdkColor *color); +void gdk_window_set_background_rgba (GdkWindow *window, + GdkRGBA *rgba); void gdk_window_set_background_pattern (GdkWindow *window, cairo_pattern_t *pattern); cairo_pattern_t *gdk_window_get_background_pattern (GdkWindow *window); |