// Gdk.Window.custom - Gdk Window class customizations // // Author: Moritz Balz // Mike Kestner // // (c) 2003 Moritz Balz // (c) 2004 Novell, Inc. // // This code is inserted after the automatically generated code. [DllImport("libgdk-win32-2.0-0.dll")] static extern IntPtr gdk_window_get_children(IntPtr raw); public Window[] Children { get { IntPtr raw_ret = gdk_window_get_children(Handle); if (raw_ret == IntPtr.Zero) return new Window [0]; GLib.List list = new GLib.List(raw_ret); Window[] result = new Window [list.Count]; for (int i = 0; i < list.Count; i++) result [i] = list [i] as Window; return result; } } public System.Drawing.Rectangle FrameExtents { get { Gdk.Rectangle rect = Gdk.Rectangle.Zero; gdk_window_get_frame_extents (Handle, ref rect); return new System.Drawing.Rectangle (rect.X, rect.Y, rect.Width, rect.Height); } } [DllImport("libgdk-win32-2.0-0.dll")] static extern void gdk_window_set_icon_list(IntPtr raw, IntPtr pixbufs); public Pixbuf[] IconList { set { GLib.List list = new GLib.List(IntPtr.Zero); foreach (Pixbuf val in value) list.Append (val.Handle); gdk_window_set_icon_list(Handle, list.Handle); } } public void Move (System.Drawing.Point p) { gdk_window_move (Handle, p.X, p.Y); } public System.Drawing.Point Origin { get { int x, y; gdk_window_get_origin (Handle, out x, out y); return new System.Drawing.Point (x, y); } } public System.Drawing.Point RootOrigin { get { int x, y; gdk_window_get_root_origin (Handle, out x, out y); return new System.Drawing.Point (x, y); } } public void ClearArea(System.Drawing.Rectangle rect) { gdk_window_clear_area (Handle, rect.X, rect.Y, rect.Width, rect.Height); } public void InvalidateRect(System.Drawing.Rectangle rect, bool invalidate_children) { Gdk.Rectangle grect = new Gdk.Rectangle (rect.X, rect.Y, rect.Width, rect.Height); gdk_window_invalidate_rect (Handle, ref grect, invalidate_children); } public System.Drawing.Point Position { get { int x, y; gdk_window_get_position (Handle, out x, out y); return new System.Drawing.Point (x, y); } } [DllImport("libgdk-win32-2.0-0.dll")] static extern IntPtr gdk_window_get_toplevels(); public static Window[] Toplevels { get { IntPtr raw_ret = gdk_window_get_toplevels(); if (raw_ret == IntPtr.Zero) return new Window [0]; GLib.List list = new GLib.List(raw_ret); Window[] result = new Window [list.Count]; for (int i = 0; i < list.Count; i++) result [i] = list [i] as Window; return result; } } public void MoveResize (System.Drawing.Rectangle rect) { gdk_window_move_resize (Handle, rect.X, rect.Y, rect.Width, rect.Height); } public void ClearArea (System.Drawing.Rectangle rect, bool expose) { if (expose) gdk_window_clear_area_e (Handle, rect.X, rect.Y, rect.Width, rect.Height); else gdk_window_clear_area (Handle, rect.X, rect.Y, rect.Width, rect.Height); }