2023-03-31 19:11:10 +00:00
|
|
|
#pragma once
|
2020-02-29 15:07:43 +00:00
|
|
|
|
|
|
|
#include "gdktoplevel.h"
|
2020-07-30 21:06:59 +00:00
|
|
|
#include "gdktoplevelsizeprivate.h"
|
|
|
|
|
|
|
|
#include <graphene.h>
|
2020-02-29 15:07:43 +00:00
|
|
|
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
|
|
|
|
|
|
|
|
struct _GdkToplevelInterface
|
|
|
|
{
|
|
|
|
GTypeInterface g_iface;
|
|
|
|
|
2020-11-20 15:56:36 +00:00
|
|
|
void (* present) (GdkToplevel *toplevel,
|
2020-02-29 15:07:43 +00:00
|
|
|
GdkToplevelLayout *layout);
|
|
|
|
gboolean (* minimize) (GdkToplevel *toplevel);
|
|
|
|
gboolean (* lower) (GdkToplevel *toplevel);
|
|
|
|
void (* focus) (GdkToplevel *toplevel,
|
|
|
|
guint32 timestamp);
|
|
|
|
gboolean (* show_window_menu) (GdkToplevel *toplevel,
|
|
|
|
GdkEvent *event);
|
2020-03-09 18:38:08 +00:00
|
|
|
gboolean (* supports_edge_constraints) (GdkToplevel *toplevel);
|
2020-03-20 14:17:41 +00:00
|
|
|
void (* inhibit_system_shortcuts) (GdkToplevel *toplevel,
|
|
|
|
GdkEvent *event);
|
|
|
|
void (* restore_system_shortcuts) (GdkToplevel *toplevel);
|
2020-05-17 16:35:45 +00:00
|
|
|
void (* begin_resize) (GdkToplevel *toplevel,
|
|
|
|
GdkSurfaceEdge edge,
|
|
|
|
GdkDevice *device,
|
|
|
|
int button,
|
|
|
|
double x,
|
|
|
|
double y,
|
|
|
|
guint32 timestamp);
|
|
|
|
void (* begin_move) (GdkToplevel *toplevel,
|
|
|
|
GdkDevice *device,
|
|
|
|
int button,
|
|
|
|
double x,
|
|
|
|
double y,
|
|
|
|
guint32 timestamp);
|
2021-07-29 01:55:36 +00:00
|
|
|
gboolean (* titlebar_gesture) (GdkToplevel *toplevel,
|
|
|
|
GdkTitlebarGesture gesture);
|
2022-11-06 16:17:02 +00:00
|
|
|
|
|
|
|
void (* export_handle) (GdkToplevel *toplevel,
|
|
|
|
GCancellable *cancellable,
|
|
|
|
GAsyncReadyCallback callback,
|
|
|
|
gpointer user_data);
|
|
|
|
|
|
|
|
char * (* export_handle_finish) (GdkToplevel *toplevel,
|
|
|
|
GAsyncResult *result,
|
|
|
|
GError **error);
|
|
|
|
|
|
|
|
void (* unexport_handle) (GdkToplevel *toplevel);
|
2020-02-29 15:07:43 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
typedef enum
|
|
|
|
{
|
|
|
|
GDK_TOPLEVEL_PROP_STATE,
|
|
|
|
GDK_TOPLEVEL_PROP_TITLE,
|
|
|
|
GDK_TOPLEVEL_PROP_STARTUP_ID,
|
|
|
|
GDK_TOPLEVEL_PROP_TRANSIENT_FOR,
|
|
|
|
GDK_TOPLEVEL_PROP_MODAL,
|
|
|
|
GDK_TOPLEVEL_PROP_ICON_LIST,
|
|
|
|
GDK_TOPLEVEL_PROP_DECORATED,
|
|
|
|
GDK_TOPLEVEL_PROP_DELETABLE,
|
2020-03-09 18:49:59 +00:00
|
|
|
GDK_TOPLEVEL_PROP_FULLSCREEN_MODE,
|
2020-03-20 14:17:41 +00:00
|
|
|
GDK_TOPLEVEL_PROP_SHORTCUTS_INHIBITED,
|
2020-02-29 15:07:43 +00:00
|
|
|
GDK_TOPLEVEL_NUM_PROPERTIES
|
|
|
|
} GdkToplevelProperties;
|
|
|
|
|
|
|
|
guint gdk_toplevel_install_properties (GObjectClass *object_class,
|
|
|
|
guint first_prop);
|
|
|
|
|
2020-07-30 21:06:59 +00:00
|
|
|
void gdk_toplevel_notify_compute_size (GdkToplevel *toplevel,
|
|
|
|
GdkToplevelSize *size);
|
|
|
|
|
2022-11-06 16:17:02 +00:00
|
|
|
void gdk_toplevel_export_handle (GdkToplevel *toplevel,
|
|
|
|
GCancellable *cancellable,
|
|
|
|
GAsyncReadyCallback callback,
|
|
|
|
gpointer user_data);
|
|
|
|
|
|
|
|
char *gdk_toplevel_export_handle_finish (GdkToplevel *toplevel,
|
|
|
|
GAsyncResult *result,
|
|
|
|
GError **error);
|
|
|
|
|
|
|
|
void gdk_toplevel_unexport_handle (GdkToplevel *toplevel);
|
|
|
|
|
2020-02-29 15:07:43 +00:00
|
|
|
G_END_DECLS
|
|
|
|
|