[gtk+/wip/ebassi/gsk-renderer: 516/545] Covert GtkOverlay to indirect rendering
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/ebassi/gsk-renderer: 516/545] Covert GtkOverlay to indirect rendering
- Date: Mon, 17 Oct 2016 13:54:34 +0000 (UTC)
commit 4ce8b00e83a2bd3f3d24138d71594171b64a0105
Author: Matthias Clasen <mclasen redhat com>
Date: Sun Aug 7 00:36:24 2016 -0400
Covert GtkOverlay to indirect rendering
There is no gadget, so we use the gtk_widget_create_render_node
function for the first time here.
gtk/gtkoverlay.c | 18 +++++++++++++++++-
1 files changed, 17 insertions(+), 1 deletions(-)
---
diff --git a/gtk/gtkoverlay.c b/gtk/gtkoverlay.c
index 29fc355..5bc0c11 100644
--- a/gtk/gtkoverlay.c
+++ b/gtk/gtkoverlay.c
@@ -24,6 +24,8 @@
#include "gtkbuildable.h"
#include "gtkscrolledwindow.h"
#include "gtkmarshalers.h"
+#include "gtkwidgetprivate.h"
+#include "gtkcontainerprivate.h"
#include "gtkprivate.h"
#include "gtkintl.h"
@@ -482,6 +484,20 @@ gtk_overlay_unmap (GtkWidget *widget)
GTK_WIDGET_CLASS (gtk_overlay_parent_class)->unmap (widget);
}
+static GskRenderNode *
+gtk_overlay_get_render_node (GtkWidget *widget,
+ GskRenderer *renderer)
+{
+ GskRenderNode *res = gtk_widget_create_render_node (widget, renderer, G_OBJECT_TYPE_NAME (widget));
+
+ if (res == NULL)
+ return NULL;
+
+ gtk_container_propagate_render_node (GTK_CONTAINER (widget), renderer, res);
+
+ return res;
+}
+
static void
gtk_overlay_remove (GtkContainer *container,
GtkWidget *widget)
@@ -738,7 +754,6 @@ gtk_overlay_get_child_property (GtkContainer *container,
}
}
-
static void
gtk_overlay_class_init (GtkOverlayClass *klass)
{
@@ -751,6 +766,7 @@ gtk_overlay_class_init (GtkOverlayClass *klass)
widget_class->unrealize = gtk_overlay_unrealize;
widget_class->map = gtk_overlay_map;
widget_class->unmap = gtk_overlay_unmap;
+ widget_class->get_render_node = gtk_overlay_get_render_node;
container_class->remove = gtk_overlay_remove;
container_class->forall = gtk_overlay_forall;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]