summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2010-10-21 15:26:40 +0200
committerCarlos Garnacho <carlosg@gnome.org>2010-10-22 20:14:56 +0200
commitce06043f17556d40b009628cf7c3bd51827ffa8b (patch)
treef233bc307380ff9427183f0216636de4743887b4 /gdk
parent5a5f8081f07468b0b99fdf1496dd0b5f27ee88a6 (diff)
downloadgtk+-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.c26
-rw-r--r--gdk/gdkwindow.h2
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);