]> Pileus Git - ~andy/gtk/blob - gtk/gtkwindowprivate.h
window: Make embedded xid specific to the X11 backend
[~andy/gtk] / gtk / gtkwindowprivate.h
1
2 /* GTK - The GIMP Toolkit
3  * Copyright (C) 2010 Red Hat, Inc.
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, write to the
17  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18  * Boston, MA 02111-1307, USA.
19  */
20
21 #ifndef __GTK_WINDOW_PRIVATE_H__
22 #define __GTK_WINDOW_PRIVATE_H__
23
24 #include <gdk/gdk.h>
25
26 #include "gtkwindow.h"
27
28 G_BEGIN_DECLS
29
30 void            _gtk_window_internal_set_focus (GtkWindow *window,
31                                                 GtkWidget *focus);
32 #ifdef GDK_WINDOWING_X11
33 void            _gtk_window_remove_embedded_xid (GtkWindow       *window,
34                                                 GdkNativeWindow  xid);
35 void            _gtk_window_add_embedded_xid    (GtkWindow       *window,
36                                                 GdkNativeWindow  xid);
37 #endif
38 void            _gtk_window_reposition         (GtkWindow *window,
39                                                 gint       x,
40                                                 gint       y);
41 void            _gtk_window_constrain_size     (GtkWindow *window,
42                                                 gint       width,
43                                                 gint       height,
44                                                 gint      *new_width,
45                                                 gint      *new_height);
46 void            _gtk_window_group_add_grab    (GtkWindowGroup *window_group,
47                                                GtkWidget      *widget);
48 void            _gtk_window_group_remove_grab (GtkWindowGroup *window_group,
49                                                GtkWidget      *widget);
50 void            _gtk_window_group_add_device_grab    (GtkWindowGroup   *window_group,
51                                                       GtkWidget        *widget,
52                                                       GdkDevice        *device,
53                                                       gboolean          block_others);
54 void            _gtk_window_group_remove_device_grab (GtkWindowGroup   *window_group,
55                                                       GtkWidget        *widget,
56                                                       GdkDevice        *device);
57
58 gboolean        _gtk_window_group_widget_is_blocked_for_device (GtkWindowGroup *window_group,
59                                                                 GtkWidget      *widget,
60                                                                 GdkDevice      *device);
61
62 void            _gtk_window_set_has_toplevel_focus (GtkWindow *window,
63                                                     gboolean   has_toplevel_focus);
64 void            _gtk_window_unset_focus_and_default (GtkWindow *window,
65                                                      GtkWidget *widget);
66
67 void            _gtk_window_set_is_active          (GtkWindow *window,
68                                                     gboolean   is_active);
69
70 void            _gtk_window_set_is_toplevel        (GtkWindow *window,
71                                                     gboolean   is_toplevel);
72
73 void            _gtk_window_get_wmclass            (GtkWindow  *window,
74                                                     gchar     **wmclass_name,
75                                                     gchar     **wmclass_class);
76
77 typedef void (*GtkWindowKeysForeachFunc) (GtkWindow      *window,
78                                           guint           keyval,
79                                           GdkModifierType modifiers,
80                                           gboolean        is_mnemonic,
81                                           gpointer        data);
82
83 void _gtk_window_keys_foreach (GtkWindow               *window,
84                                GtkWindowKeysForeachFunc func,
85                                gpointer                 func_data);
86
87 /* --- internal (GtkAcceleratable) --- */
88 gboolean        _gtk_window_query_nonaccels     (GtkWindow      *window,
89                                                  guint           accel_key,
90                                                  GdkModifierType accel_mods);
91
92 G_END_DECLS
93
94 #endif /* __GTK_WINDOW_PRIVATE_H__ */