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_SURFACE_H__ 26 #define __GDK_X11_SURFACE_H__ 27 28 #if !defined (__GDKX_H_INSIDE__) && !defined (GTK_COMPILATION) 29 #error "Only <gdk/x11/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_SURFACE (gdk_x11_surface_get_type ()) 40 #define GDK_X11_SURFACE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_SURFACE, GdkX11Surface)) 41 #define GDK_X11_SURFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_SURFACE, GdkX11SurfaceClass)) 42 #define GDK_IS_X11_SURFACE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_SURFACE)) 43 #define GDK_IS_X11_SURFACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_SURFACE)) 44 #define GDK_X11_SURFACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_SURFACE, GdkX11SurfaceClass)) 45 46 #ifdef GTK_COMPILATION 47 typedef struct _GdkX11Surface GdkX11Surface; 48 #else 49 typedef GdkSurface GdkX11Surface; 50 #endif 51 typedef struct _GdkX11SurfaceClass GdkX11SurfaceClass; 52 53 GDK_AVAILABLE_IN_ALL 54 GType gdk_x11_surface_get_type (void); 55 56 GDK_AVAILABLE_IN_ALL 57 Window gdk_x11_surface_get_xid (GdkSurface *surface); 58 GDK_AVAILABLE_IN_ALL 59 void gdk_x11_surface_set_user_time (GdkSurface *surface, 60 guint32 timestamp); 61 GDK_AVAILABLE_IN_ALL 62 void gdk_x11_surface_set_utf8_property (GdkSurface *surface, 63 const char *name, 64 const char *value); 65 GDK_AVAILABLE_IN_ALL 66 void gdk_x11_surface_set_theme_variant (GdkSurface *surface, 67 const char *variant); 68 GDK_AVAILABLE_IN_ALL 69 void gdk_x11_surface_move_to_current_desktop (GdkSurface *surface); 70 71 GDK_AVAILABLE_IN_ALL 72 guint32 gdk_x11_surface_get_desktop (GdkSurface *surface); 73 GDK_AVAILABLE_IN_ALL 74 void gdk_x11_surface_move_to_desktop (GdkSurface *surface, 75 guint32 desktop); 76 77 GDK_AVAILABLE_IN_ALL 78 void gdk_x11_surface_set_frame_sync_enabled (GdkSurface *surface, 79 gboolean frame_sync_enabled); 80 81 /** 82 * GDK_SURFACE_XDISPLAY: 83 * @win: a `GdkSurface` 84 * 85 * Returns the display of a `GdkSurface`. 86 * 87 * Returns: an Xlib Display*. 88 */ 89 #define GDK_SURFACE_XDISPLAY(win) (GDK_DISPLAY_XDISPLAY (gdk_surface_get_display (win))) 90 91 /** 92 * GDK_SURFACE_XID: 93 * @win: a `GdkSurface` 94 * 95 * Returns the X window belonging to a `GdkSurface`. 96 * 97 * Returns: the Xlib Window of @win. 98 */ 99 #define GDK_SURFACE_XID(win) (gdk_x11_surface_get_xid (win)) 100 101 GDK_AVAILABLE_IN_ALL 102 guint32 gdk_x11_get_server_time (GdkSurface *surface); 103 104 GDK_AVAILABLE_IN_ALL 105 GdkSurface *gdk_x11_surface_lookup_for_display (GdkDisplay *display, 106 Window window); 107 108 GDK_AVAILABLE_IN_ALL 109 void gdk_x11_surface_set_skip_taskbar_hint (GdkSurface *surface, 110 gboolean skips_taskbar); 111 GDK_AVAILABLE_IN_ALL 112 void gdk_x11_surface_set_skip_pager_hint (GdkSurface *surface, 113 gboolean skips_pager); 114 GDK_AVAILABLE_IN_ALL 115 void gdk_x11_surface_set_urgency_hint (GdkSurface *surface, 116 gboolean urgent); 117 118 GDK_AVAILABLE_IN_ALL 119 void gdk_x11_surface_set_group (GdkSurface *surface, 120 GdkSurface *leader); 121 GDK_AVAILABLE_IN_ALL 122 GdkSurface * gdk_x11_surface_get_group (GdkSurface *surface); 123 124 125 G_END_DECLS 126 127 #endif /* __GDK_X11_SURFACE_H__ */ 128