Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
gdktoplevel.h
Go to the documentation of this file.
1/*
2 * Copyright © 2020 Red Hat, Inc.
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.1 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 * Authors: Matthias Clasen <mclasen@redhat.com>
18 */
19
20#pragma once
21
22#if !defined(__GDK_H_INSIDE__) && !defined(GTK_COMPILATION)
23#error "Only <gdk/gdk.h> can be included directly."
24#endif
25
26#include <gdk/gdkseat.h>
27#include <gdk/gdksurface.h>
29
31
32/**
33 * GdkSurfaceEdge:
34 * @GDK_SURFACE_EDGE_NORTH_WEST: the top left corner.
35 * @GDK_SURFACE_EDGE_NORTH: the top edge.
36 * @GDK_SURFACE_EDGE_NORTH_EAST: the top right corner.
37 * @GDK_SURFACE_EDGE_WEST: the left edge.
38 * @GDK_SURFACE_EDGE_EAST: the right edge.
39 * @GDK_SURFACE_EDGE_SOUTH_WEST: the lower left corner.
40 * @GDK_SURFACE_EDGE_SOUTH: the lower edge.
41 * @GDK_SURFACE_EDGE_SOUTH_EAST: the lower right corner.
42 *
43 * Determines a surface edge or corner.
44 */
56
57/**
58 * GdkFullscreenMode:
59 * @GDK_FULLSCREEN_ON_CURRENT_MONITOR: Fullscreen on current monitor only.
60 * @GDK_FULLSCREEN_ON_ALL_MONITORS: Span across all monitors when fullscreen.
61 *
62 * Indicates which monitor a surface should span over when in fullscreen mode.
63 */
69
70/**
71 * GdkToplevelState:
72 * @GDK_TOPLEVEL_STATE_MINIMIZED: the surface is minimized
73 * @GDK_TOPLEVEL_STATE_MAXIMIZED: the surface is maximized
74 * @GDK_TOPLEVEL_STATE_STICKY: the surface is sticky
75 * @GDK_TOPLEVEL_STATE_FULLSCREEN: the surface is maximized without decorations
76 * @GDK_TOPLEVEL_STATE_ABOVE: the surface is kept above other surfaces
77 * @GDK_TOPLEVEL_STATE_BELOW: the surface is kept below other surfaces
78 * @GDK_TOPLEVEL_STATE_FOCUSED: the surface is presented as focused (with active decorations)
79 * @GDK_TOPLEVEL_STATE_TILED: the surface is in a tiled state
80 * @GDK_TOPLEVEL_STATE_TOP_TILED: whether the top edge is tiled
81 * @GDK_TOPLEVEL_STATE_TOP_RESIZABLE: whether the top edge is resizable
82 * @GDK_TOPLEVEL_STATE_RIGHT_TILED: whether the right edge is tiled
83 * @GDK_TOPLEVEL_STATE_RIGHT_RESIZABLE: whether the right edge is resizable
84 * @GDK_TOPLEVEL_STATE_BOTTOM_TILED: whether the bottom edge is tiled
85 * @GDK_TOPLEVEL_STATE_BOTTOM_RESIZABLE: whether the bottom edge is resizable
86 * @GDK_TOPLEVEL_STATE_LEFT_TILED: whether the left edge is tiled
87 * @GDK_TOPLEVEL_STATE_LEFT_RESIZABLE: whether the left edge is resizable
88 *
89 * Specifies the state of a toplevel surface.
90 *
91 * On platforms that support information about individual edges, the
92 * %GDK_TOPLEVEL_STATE_TILED state will be set whenever any of the individual
93 * tiled states is set. On platforms that lack that support, the tiled state
94 * will give an indication of tiledness without any of the per-edge states
95 * being set.
96 */
97
98/**
99 * GDK_TOPLEVEL_STATE_SUSPENDED:
100 *
101 * The surface is not visible to the user.
102 *
103 * Since: 4.12
104 */
125
126/**
127 * GdkTitlebarGesture:
128 * @GDK_TITLEBAR_GESTURE_DOUBLE_CLICK: double click gesture
129 * @GDK_TITLEBAR_GESTURE_RIGHT_CLICK: right click gesture
130 * @GDK_TITLEBAR_GESTURE_MIDDLE_CLICK: middle click gesture
131 *
132 * The kind of title bar gesture to emit with
133 * [method@Gdk.Toplevel.titlebar_gesture].
134 *
135 * Since: 4.4
136 */
143
144
145#define GDK_TYPE_TOPLEVEL (gdk_toplevel_get_type ())
146
148G_DECLARE_INTERFACE (GdkToplevel, gdk_toplevel, GDK, TOPLEVEL, GObject)
149
151void gdk_toplevel_present (GdkToplevel *toplevel,
152 GdkToplevelLayout *layout);
153
155gboolean gdk_toplevel_minimize (GdkToplevel *toplevel);
156
158gboolean gdk_toplevel_lower (GdkToplevel *toplevel);
159
161void gdk_toplevel_focus (GdkToplevel *toplevel,
162 guint32 timestamp);
163
166
168void gdk_toplevel_set_title (GdkToplevel *toplevel,
169 const char *title);
170
172void gdk_toplevel_set_startup_id (GdkToplevel *toplevel,
173 const char *startup_id);
174
176void gdk_toplevel_set_transient_for (GdkToplevel *toplevel,
177 GdkSurface *parent);
178
180void gdk_toplevel_set_modal (GdkToplevel *toplevel,
181 gboolean modal);
182
184void gdk_toplevel_set_icon_list (GdkToplevel *toplevel,
185 GList *surfaces);
186
189 GdkEvent *event);
190
192void gdk_toplevel_set_decorated (GdkToplevel *toplevel,
193 gboolean decorated);
194
196void gdk_toplevel_set_deletable (GdkToplevel *toplevel,
197 gboolean deletable);
200
202void gdk_toplevel_inhibit_system_shortcuts (GdkToplevel *toplevel,
203 GdkEvent *event);
204
206void gdk_toplevel_restore_system_shortcuts (GdkToplevel *toplevel);
207
209void gdk_toplevel_begin_resize (GdkToplevel *toplevel,
210 GdkSurfaceEdge edge,
211 GdkDevice *device,
212 int button,
213 double x,
214 double y,
215 guint32 timestamp);
216
218void gdk_toplevel_begin_move (GdkToplevel *toplevel,
219 GdkDevice *device,
220 int button,
221 double x,
222 double y,
223 guint32 timestamp);
224
227 GdkTitlebarGesture gesture);
228
230
#define GDK_AVAILABLE_IN_4_4
#define GDK_AVAILABLE_IN_ALL
struct _GdkEvent GdkEvent
Definition gdkevents.h:101
GDK_AVAILABLE_IN_4_4 gboolean gdk_toplevel_titlebar_gesture(GdkToplevel *toplevel, GdkTitlebarGesture gesture)
GDK_AVAILABLE_IN_ALL void gdk_toplevel_set_transient_for(GdkToplevel *toplevel, GdkSurface *parent)
GDK_AVAILABLE_IN_ALL gboolean gdk_toplevel_minimize(GdkToplevel *toplevel)
GDK_AVAILABLE_IN_ALL void gdk_toplevel_begin_move(GdkToplevel *toplevel, GdkDevice *device, int button, double x, double y, guint32 timestamp)
GDK_AVAILABLE_IN_ALL void gdk_toplevel_set_title(GdkToplevel *toplevel, const char *title)
GDK_AVAILABLE_IN_ALL void gdk_toplevel_set_startup_id(GdkToplevel *toplevel, const char *startup_id)
GDK_AVAILABLE_IN_ALL gboolean gdk_toplevel_supports_edge_constraints(GdkToplevel *toplevel)
GdkFullscreenMode
Definition gdktoplevel.h:65
@ GDK_FULLSCREEN_ON_ALL_MONITORS
Definition gdktoplevel.h:67
@ GDK_FULLSCREEN_ON_CURRENT_MONITOR
Definition gdktoplevel.h:66
GDK_AVAILABLE_IN_ALL void gdk_toplevel_focus(GdkToplevel *toplevel, guint32 timestamp)
GDK_AVAILABLE_IN_ALL void gdk_toplevel_inhibit_system_shortcuts(GdkToplevel *toplevel, GdkEvent *event)
GDK_AVAILABLE_IN_ALL void gdk_toplevel_set_modal(GdkToplevel *toplevel, gboolean modal)
GdkTitlebarGesture
@ GDK_TITLEBAR_GESTURE_RIGHT_CLICK
@ GDK_TITLEBAR_GESTURE_DOUBLE_CLICK
@ GDK_TITLEBAR_GESTURE_MIDDLE_CLICK
GDK_AVAILABLE_IN_ALL void gdk_toplevel_begin_resize(GdkToplevel *toplevel, GdkSurfaceEdge edge, GdkDevice *device, int button, double x, double y, guint32 timestamp)
GDK_AVAILABLE_IN_ALL void gdk_toplevel_set_decorated(GdkToplevel *toplevel, gboolean decorated)
GDK_AVAILABLE_IN_ALL void gdk_toplevel_set_icon_list(GdkToplevel *toplevel, GList *surfaces)
GdkSurfaceEdge
Definition gdktoplevel.h:46
@ GDK_SURFACE_EDGE_SOUTH
Definition gdktoplevel.h:53
@ GDK_SURFACE_EDGE_NORTH
Definition gdktoplevel.h:48
@ GDK_SURFACE_EDGE_WEST
Definition gdktoplevel.h:50
@ GDK_SURFACE_EDGE_SOUTH_EAST
Definition gdktoplevel.h:54
@ GDK_SURFACE_EDGE_NORTH_EAST
Definition gdktoplevel.h:49
@ GDK_SURFACE_EDGE_SOUTH_WEST
Definition gdktoplevel.h:52
@ GDK_SURFACE_EDGE_EAST
Definition gdktoplevel.h:51
@ GDK_SURFACE_EDGE_NORTH_WEST
Definition gdktoplevel.h:47
GDK_AVAILABLE_IN_ALL void gdk_toplevel_restore_system_shortcuts(GdkToplevel *toplevel)
GDK_AVAILABLE_IN_ALL void gdk_toplevel_set_deletable(GdkToplevel *toplevel, gboolean deletable)
GDK_AVAILABLE_IN_ALL GdkToplevelState gdk_toplevel_get_state(GdkToplevel *toplevel)
GDK_AVAILABLE_IN_ALL gboolean gdk_toplevel_show_window_menu(GdkToplevel *toplevel, GdkEvent *event)
GDK_AVAILABLE_IN_ALL GDK_AVAILABLE_IN_ALL void gdk_toplevel_present(GdkToplevel *toplevel, GdkToplevelLayout *layout)
GdkToplevelState
@ GDK_TOPLEVEL_STATE_SUSPENDED
@ GDK_TOPLEVEL_STATE_BELOW
@ GDK_TOPLEVEL_STATE_MINIMIZED
@ GDK_TOPLEVEL_STATE_RIGHT_RESIZABLE
@ GDK_TOPLEVEL_STATE_LEFT_TILED
@ GDK_TOPLEVEL_STATE_BOTTOM_RESIZABLE
@ GDK_TOPLEVEL_STATE_LEFT_RESIZABLE
@ GDK_TOPLEVEL_STATE_TOP_RESIZABLE
@ GDK_TOPLEVEL_STATE_TOP_TILED
@ GDK_TOPLEVEL_STATE_MAXIMIZED
@ GDK_TOPLEVEL_STATE_FOCUSED
@ GDK_TOPLEVEL_STATE_ABOVE
@ GDK_TOPLEVEL_STATE_STICKY
@ GDK_TOPLEVEL_STATE_RIGHT_TILED
@ GDK_TOPLEVEL_STATE_FULLSCREEN
@ GDK_TOPLEVEL_STATE_TILED
@ GDK_TOPLEVEL_STATE_BOTTOM_TILED
GDK_AVAILABLE_IN_ALL gboolean gdk_toplevel_lower(GdkToplevel *toplevel)
typedefG_BEGIN_DECLS struct _GdkToplevelLayout GdkToplevelLayout
struct _GdkDevice GdkDevice
Definition gdktypes.h:84
struct _GdkSurface GdkSurface
Definition gdktypes.h:91
unsigned int guint32
Definition glibconfig.h:57
typedefG_BEGIN_DECLS struct _GList GList
Definition glist.h:39
#define G_END_DECLS
Definition gmacros.h:910
#define G_BEGIN_DECLS
Definition gmacros.h:909
#define G_DECLARE_INTERFACE(ModuleObjName, module_obj_name, MODULE, OBJ_NAME, PrerequisiteName)
Definition gtype.h:1797
gint gboolean
Definition gtypes.h:56