gtk2/gtk/gtknativeprivate.h
Christian Hergert cc49e044a5 native: add API to update opaque region
This abstracts the machinery to update the opaque region for a GtkWindow
into GtkNative so it may be used from other native impelementations such
as GtkPopover.

Related #4689
2022-02-11 14:37:43 -08:00

41 lines
1.3 KiB
C

#ifndef __GTK_NATIVE_PRIVATE_H__
#define __GTK_NATIVE_PRIVATE_H__
#include "gtknative.h"
G_BEGIN_DECLS
/**
* GtkNativeIface:
*
* The list of functions that must be implemented for the `GtkNative` interface.
*/
struct _GtkNativeInterface
{
/*< private >*/
GTypeInterface g_iface;
/*< public >*/
GdkSurface * (* get_surface) (GtkNative *self);
GskRenderer * (* get_renderer) (GtkNative *self);
void (* get_surface_transform) (GtkNative *self,
double *x,
double *y);
void (* layout) (GtkNative *self,
int width,
int height);
};
void gtk_native_queue_relayout (GtkNative *native);
void gtk_native_update_opaque_region (GtkNative *native,
GtkWidget *contents,
gboolean subtract_decoration_corners,
gboolean subtract_shadow,
int resize_handle_size);
G_END_DECLS
#endif /* __GTK_NATIVE_PRIVATE_H__ */