forked from AuroraMiddleware/gtk
8a599b2582
This changes allocation of the widget trees to happen as a side effect to the GdkSurface::layout signal, which first passes the GtkNative instance where it is then forwarded to the implementations of the GtkNative interface. The implementations of GtkNative are the ones doing the actual gtk_widget_allocate(), and they do so in their GtkNativeClass::layout function.
38 lines
1001 B
C
38 lines
1001 B
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 (* check_resize) (GtkNative *self);
|
|
|
|
void (* layout) (GtkNative *self,
|
|
int width,
|
|
int height);
|
|
};
|
|
|
|
void gtk_native_queue_relayout (GtkNative *native);
|
|
|
|
G_END_DECLS
|
|
|
|
#endif /* __GTK_NATIVE_PRIVATE_H__ */
|