1 /* GDK - The GIMP Drawing Kit 2 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with this library. If not, see <http://www.gnu.org/licenses/>. 16 */ 17 18 /* 19 * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS 20 * file for a list of people on the GTK+ Team. See the ChangeLog 21 * files for a list of changes. These files are distributed with 22 * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 23 */ 24 25 #ifndef __GDK_X11_WINDOW_H__ 26 #define __GDK_X11_WINDOW_H__ 27 28 #if !defined (__GDKX_H_INSIDE__) && !defined (GDK_COMPILATION) 29 #error "Only <gdk/gdkx.h> can be included directly." 30 #endif 31 32 #include <gdk/gdk.h> 33 34 #include <X11/Xlib.h> 35 #include <X11/Xutil.h> 36 37 G_BEGIN_DECLS 38 39 #define GDK_TYPE_X11_WINDOW (gdk_x11_window_get_type ()) 40 #define GDK_X11_WINDOW(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_WINDOW, GdkX11Window)) 41 #define GDK_X11_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_WINDOW, GdkX11WindowClass)) 42 #define GDK_IS_X11_WINDOW(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_WINDOW)) 43 #define GDK_IS_X11_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_WINDOW)) 44 #define GDK_X11_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_WINDOW, GdkX11WindowClass)) 45 46 #ifdef GDK_COMPILATION 47 typedef struct _GdkX11Window GdkX11Window; 48 #else 49 typedef GdkWindow GdkX11Window; 50 #endif 51 typedef struct _GdkX11WindowClass GdkX11WindowClass; 52 53 GDK_AVAILABLE_IN_ALL 54 GType gdk_x11_window_get_type (void); 55 56 GDK_AVAILABLE_IN_ALL 57 Window gdk_x11_window_get_xid (GdkWindow *window); 58 GDK_AVAILABLE_IN_ALL 59 void gdk_x11_window_set_user_time (GdkWindow *window, 60 guint32 timestamp); 61 GDK_AVAILABLE_IN_3_4 62 void gdk_x11_window_set_utf8_property (GdkWindow *window, 63 const gchar *name, 64 const gchar *value); 65 GDK_AVAILABLE_IN_3_2 66 void gdk_x11_window_set_theme_variant (GdkWindow *window, 67 char *variant); 68 GDK_DEPRECATED_IN_3_12_FOR(gdk_window_set_shadow_width) 69 void gdk_x11_window_set_frame_extents (GdkWindow *window, 70 int left, 71 int right, 72 int top, 73 int bottom); 74 GDK_AVAILABLE_IN_3_4 75 void gdk_x11_window_set_hide_titlebar_when_maximized (GdkWindow *window, 76 gboolean hide_titlebar_when_maximized); 77 GDK_AVAILABLE_IN_ALL 78 void gdk_x11_window_move_to_current_desktop (GdkWindow *window); 79 80 GDK_AVAILABLE_IN_3_10 81 guint32 gdk_x11_window_get_desktop (GdkWindow *window); 82 GDK_AVAILABLE_IN_3_10 83 void gdk_x11_window_move_to_desktop (GdkWindow *window, 84 guint32 desktop); 85 86 GDK_AVAILABLE_IN_3_8 87 void gdk_x11_window_set_frame_sync_enabled (GdkWindow *window, 88 gboolean frame_sync_enabled); 89 90 /** 91 * GDK_WINDOW_XDISPLAY: 92 * @win: a #GdkWindow. 93 * 94 * Returns the display of a #GdkWindow. 95 * 96 * Returns: an Xlib Display*. 97 */ 98 #define GDK_WINDOW_XDISPLAY(win) (GDK_DISPLAY_XDISPLAY (gdk_window_get_display (win))) 99 100 /** 101 * GDK_WINDOW_XID: 102 * @win: a #GdkWindow. 103 * 104 * Returns the X window belonging to a #GdkWindow. 105 * 106 * Returns: the Xlib Window of @win. 107 */ 108 #define GDK_WINDOW_XID(win) (gdk_x11_window_get_xid (win)) 109 110 GDK_AVAILABLE_IN_ALL 111 guint32 gdk_x11_get_server_time (GdkWindow *window); 112 113 GDK_AVAILABLE_IN_ALL 114 GdkWindow *gdk_x11_window_foreign_new_for_display (GdkDisplay *display, 115 Window window); 116 GDK_AVAILABLE_IN_ALL 117 GdkWindow *gdk_x11_window_lookup_for_display (GdkDisplay *display, 118 Window window); 119 120 G_END_DECLS 121 122 #endif /* __GDK_X11_WINDOW_H__ */ 123