1 #ifndef __GDK_TOPLEVEL_PRIVATE_H__
2 #define __GDK_TOPLEVEL_PRIVATE_H__
3 
4 #include "gdktoplevel.h"
5 #include "gdktoplevelsizeprivate.h"
6 
7 #include <graphene.h>
8 
9 G_BEGIN_DECLS
10 
11 
12 struct _GdkToplevelInterface
13 {
14   GTypeInterface g_iface;
15 
16   void          (* present)             (GdkToplevel       *toplevel,
17                                          GdkToplevelLayout *layout);
18   gboolean      (* minimize)            (GdkToplevel       *toplevel);
19   gboolean      (* lower)               (GdkToplevel       *toplevel);
20   void          (* focus)               (GdkToplevel       *toplevel,
21                                          guint32            timestamp);
22   gboolean      (* show_window_menu)    (GdkToplevel       *toplevel,
23                                          GdkEvent          *event);
24   gboolean      (* supports_edge_constraints) (GdkToplevel *toplevel);
25   void          (* inhibit_system_shortcuts)  (GdkToplevel *toplevel,
26                                                GdkEvent    *event);
27   void          (* restore_system_shortcuts)  (GdkToplevel *toplevel);
28   void          (* begin_resize)        (GdkToplevel       *toplevel,
29                                          GdkSurfaceEdge     edge,
30                                          GdkDevice         *device,
31                                          int                button,
32                                          double             x,
33                                          double             y,
34                                          guint32            timestamp);
35   void          (* begin_move)          (GdkToplevel       *toplevel,
36                                          GdkDevice         *device,
37                                          int                button,
38                                          double             x,
39                                          double             y,
40                                          guint32            timestamp);
41   gboolean      (* titlebar_gesture)    (GdkToplevel       *toplevel,
42                                          GdkTitlebarGesture gesture);
43 };
44 
45 typedef enum
46 {
47   GDK_TOPLEVEL_PROP_STATE,
48   GDK_TOPLEVEL_PROP_TITLE,
49   GDK_TOPLEVEL_PROP_STARTUP_ID,
50   GDK_TOPLEVEL_PROP_TRANSIENT_FOR,
51   GDK_TOPLEVEL_PROP_MODAL,
52   GDK_TOPLEVEL_PROP_ICON_LIST,
53   GDK_TOPLEVEL_PROP_DECORATED,
54   GDK_TOPLEVEL_PROP_DELETABLE,
55   GDK_TOPLEVEL_PROP_FULLSCREEN_MODE,
56   GDK_TOPLEVEL_PROP_SHORTCUTS_INHIBITED,
57   GDK_TOPLEVEL_NUM_PROPERTIES
58 } GdkToplevelProperties;
59 
60 guint gdk_toplevel_install_properties (GObjectClass *object_class,
61                                        guint         first_prop);
62 
63 void gdk_toplevel_notify_compute_size (GdkToplevel     *toplevel,
64                                        GdkToplevelSize *size);
65 
66 G_END_DECLS
67 
68 #endif /* __GDK_TOPLEVEL_PRIVATE_H__ */
69