gtk/gdk/gdktoplevelprivate.h
Jonas Ådahl 641915974b gdk/toplevel: Make gdk_toplevel_present() async
The plan is to concencrate size computations as part of the frame clock
dispatch, meaning we shouldn't do it synchronously in the present()
function.

Still, in Wayland, and maybe elsewhere, it is done in the present()
function, e.g. when no state change was made, but this will eventually
be changed.
2020-12-07 09:46:39 +01:00

67 lines
2.6 KiB
C

#ifndef __GDK_TOPLEVEL_PRIVATE_H__
#define __GDK_TOPLEVEL_PRIVATE_H__
#include "gdktoplevel.h"
#include "gdktoplevelsizeprivate.h"
#include <graphene.h>
G_BEGIN_DECLS
struct _GdkToplevelInterface
{
GTypeInterface g_iface;
void (* present) (GdkToplevel *toplevel,
GdkToplevelLayout *layout);
gboolean (* minimize) (GdkToplevel *toplevel);
gboolean (* lower) (GdkToplevel *toplevel);
void (* focus) (GdkToplevel *toplevel,
guint32 timestamp);
gboolean (* show_window_menu) (GdkToplevel *toplevel,
GdkEvent *event);
gboolean (* supports_edge_constraints) (GdkToplevel *toplevel);
void (* inhibit_system_shortcuts) (GdkToplevel *toplevel,
GdkEvent *event);
void (* restore_system_shortcuts) (GdkToplevel *toplevel);
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);
};
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,
GDK_TOPLEVEL_PROP_FULLSCREEN_MODE,
GDK_TOPLEVEL_PROP_SHORTCUTS_INHIBITED,
GDK_TOPLEVEL_NUM_PROPERTIES
} GdkToplevelProperties;
guint gdk_toplevel_install_properties (GObjectClass *object_class,
guint first_prop);
void gdk_toplevel_notify_compute_size (GdkToplevel *toplevel,
GdkToplevelSize *size);
G_END_DECLS
#endif /* __GDK_TOPLEVEL_PRIVATE_H__ */