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.
63 lines
1.8 KiB
C
63 lines
1.8 KiB
C
/*
|
|
* Copyright © 2019 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 __GTK_NATIVE_H__
|
|
#define __GTK_NATIVE_H__
|
|
|
|
#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
|
|
#error "Only <gtk/gtk.h> can be included directly."
|
|
#endif
|
|
|
|
#include <gdk/gdk.h>
|
|
#include <gtk/gtkwidget.h>
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
#define GTK_TYPE_NATIVE (gtk_native_get_type ())
|
|
|
|
GDK_AVAILABLE_IN_ALL
|
|
G_DECLARE_INTERFACE (GtkNative, gtk_native, GTK, NATIVE, GtkWidget)
|
|
|
|
GDK_AVAILABLE_IN_ALL
|
|
void gtk_native_realize (GtkNative *self);
|
|
|
|
GDK_AVAILABLE_IN_ALL
|
|
void gtk_native_unrealize (GtkNative *self);
|
|
|
|
GDK_AVAILABLE_IN_ALL
|
|
GtkNative * gtk_native_get_for_surface (GdkSurface *surface);
|
|
|
|
GDK_AVAILABLE_IN_ALL
|
|
void gtk_native_check_resize (GtkNative *self);
|
|
|
|
GDK_AVAILABLE_IN_ALL
|
|
GdkSurface *gtk_native_get_surface (GtkNative *self);
|
|
|
|
GDK_AVAILABLE_IN_ALL
|
|
GskRenderer *gtk_native_get_renderer (GtkNative *self);
|
|
|
|
GDK_AVAILABLE_IN_ALL
|
|
void gtk_native_get_surface_transform (GtkNative *self,
|
|
double *x,
|
|
double *y);
|
|
|
|
G_END_DECLS
|
|
|
|
#endif /* __GTK_NATIVE_H__ */
|