diff --git a/gdk/Gdk.metadata b/gdk/Gdk.metadata
index 0be599e81..c852ef28f 100644
--- a/gdk/Gdk.metadata
+++ b/gdk/Gdk.metadata
@@ -111,9 +111,11 @@
out
out
out
+ 1
call
1
1
+ 1
1
1
1
diff --git a/gdk/Window.custom b/gdk/Window.custom
index 109958e93..3e2178769 100644
--- a/gdk/Window.custom
+++ b/gdk/Window.custom
@@ -24,6 +24,23 @@
public Window (Gdk.Window parent, Gdk.WindowAttr attributes, Gdk.WindowAttributesType attributes_mask) : this (parent, attributes, (int)attributes_mask) {}
+ [DllImport("libgdk-win32-3.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gdk_window_get_background_pattern(IntPtr raw);
+
+ [DllImport("libgdk-win32-3.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gdk_window_set_background_pattern(IntPtr raw, IntPtr pattern);
+
+ public Cairo.Pattern BackgroundPattern {
+ get {
+ IntPtr raw_ret = gdk_window_get_background_pattern(Handle);
+ Cairo.Pattern ret = Cairo.Pattern.Lookup (raw_ret);
+ return ret;
+ }
+ set {
+ gdk_window_set_background_pattern(Handle, (value == null) ? IntPtr.Zero : value.Handle);
+ }
+ }
+
[DllImport ("libgdk-win32-3.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
static extern IntPtr gdk_window_get_children(IntPtr raw);