diff options
author | Matthias Clasen <mclasen@redhat.com> | 2020-02-29 10:07:43 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2020-03-12 14:56:20 -0400 |
commit | dfbde3da4f53b750c2dbe321ac1b70f6063241fa (patch) | |
tree | b24eaa6fc944c87095d9f15b000fee15ecd74ec7 /gdk/gdktoplevel.h | |
parent | c0c387020b3be2033e6a78cb77640c3e61c13283 (diff) | |
download | gtk+-dfbde3da4f53b750c2dbe321ac1b70f6063241fa.tar.gz |
Introduce GdkToplevel
This is a new interface for toplevel surfaces.
Diffstat (limited to 'gdk/gdktoplevel.h')
-rw-r--r-- | gdk/gdktoplevel.h | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/gdk/gdktoplevel.h b/gdk/gdktoplevel.h new file mode 100644 index 0000000000..e513ad9adf --- /dev/null +++ b/gdk/gdktoplevel.h @@ -0,0 +1,108 @@ +/* + * Copyright © 2020 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see <http://www.gnu.org/licenses/>. + * + * Authors: Matthias Clasen <mclasen@redhat.com> + */ + +#ifndef __GDK_TOPLEVEL_H__ +#define __GDK_TOPLEVEL_H__ + +#if !defined(__GDK_H_INSIDE__) && !defined(GTK_COMPILATION) +#error "Only <gdk/gdk.h> can be included directly." +#endif + +#include <gdk/gdksurface.h> +#include <gdk/gdktoplevellayout.h> + +G_BEGIN_DECLS + +#define GDK_TYPE_TOPLEVEL (gdk_toplevel_get_type ()) + +GDK_AVAILABLE_IN_ALL +G_DECLARE_INTERFACE (GdkToplevel, gdk_toplevel, GDK, TOPLEVEL, GObject) + +GDK_AVAILABLE_IN_ALL +gboolean gdk_toplevel_present (GdkToplevel *toplevel, + int width, + int height, + GdkToplevelLayout *layout); + +GDK_AVAILABLE_IN_ALL +gboolean gdk_toplevel_minimize (GdkToplevel *toplevel); + +GDK_AVAILABLE_IN_ALL +gboolean gdk_toplevel_lower (GdkToplevel *toplevel); + +GDK_AVAILABLE_IN_ALL +void gdk_toplevel_focus (GdkToplevel *toplevel, + guint32 timestamp); + +GDK_AVAILABLE_IN_ALL +GdkSurfaceState gdk_toplevel_get_state (GdkToplevel *toplevel); + +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 +void gdk_toplevel_set_transient_for (GdkToplevel *toplevel, + GdkSurface *parent); + +GDK_AVAILABLE_IN_ALL +void gdk_toplevel_set_modal (GdkToplevel *toplevel, + gboolean modal); + +GDK_AVAILABLE_IN_ALL +void gdk_toplevel_set_icon_list (GdkToplevel *toplevel, + GList *surfaces); + +GDK_AVAILABLE_IN_ALL +gboolean gdk_toplevel_show_window_menu (GdkToplevel *toplevel, + GdkEvent *event); + +GDK_AVAILABLE_IN_ALL +void gdk_toplevel_set_sticky (GdkToplevel *toplevel, + gboolean sticky); + +GDK_AVAILABLE_IN_ALL +void gdk_toplevel_set_keep_above (GdkToplevel *toplevel, + gboolean above); +GDK_AVAILABLE_IN_ALL +void gdk_toplevel_set_keep_below (GdkToplevel *toplevel, + gboolean below); + +GDK_AVAILABLE_IN_ALL +void gdk_toplevel_set_accept_focus (GdkToplevel *toplevel, + gboolean accept_focus); + +GDK_AVAILABLE_IN_ALL +void gdk_toplevel_set_focus_on_map (GdkToplevel *toplevel, + gboolean focus_on_map); + +GDK_AVAILABLE_IN_ALL +void gdk_toplevel_set_decorated (GdkToplevel *toplevel, + gboolean decorated); + +GDK_AVAILABLE_IN_ALL +void gdk_toplevel_set_deletable (GdkToplevel *toplevel, + gboolean deletable); +G_END_DECLS + +#endif /* __GDK_TOPLEVEL_H__ */ |