[gtk+] snapshot: Convert GtkComboBox
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] snapshot: Convert GtkComboBox
- Date: Tue, 15 Nov 2016 16:57:02 +0000 (UTC)
commit 9b6dfa83e24fd80bd625fecf991ab44250dff334
Author: Benjamin Otte <otte redhat com>
Date: Tue Nov 15 04:06:20 2016 +0100
snapshot: Convert GtkComboBox
gtk/gtkcombobox.c | 42 ++++++++++++++++++++++++++----------------
1 files changed, 26 insertions(+), 16 deletions(-)
---
diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c
index b886409..0e02167 100644
--- a/gtk/gtkcombobox.c
+++ b/gtk/gtkcombobox.c
@@ -26,12 +26,12 @@
#include "gtkcelllayout.h"
#include "gtkcellrenderertext.h"
#include "gtkcellview.h"
+#include "gtkcontainerprivate.h"
#include "gtkcsscustomgadgetprivate.h"
#include "gtkeventbox.h"
#include "gtkframe.h"
#include "gtkiconprivate.h"
#include "gtkbox.h"
-#include "gtkcontainerprivate.h"
#include "gtkliststore.h"
#include "gtkmain.h"
#include "gtkmenuprivate.h"
@@ -463,6 +463,25 @@ gtk_combo_box_allocate (GtkCssGadget *gadget,
}
}
+static gboolean
+gtk_combo_box_render (GtkCssGadget *gadget,
+ GtkSnapshot *snapshot,
+ int x,
+ int y,
+ int width,
+ int height,
+ gpointer data)
+{
+ GtkWidget *widget = gtk_css_gadget_get_owner (gadget);
+ GtkComboBox *combo_box = GTK_COMBO_BOX (widget);
+ GtkComboBoxPrivate *priv = combo_box->priv;
+
+ gtk_container_snapshot_child (GTK_CONTAINER (widget),
+ priv->box, snapshot);
+
+ return FALSE;
+}
+
static void
gtk_combo_box_measure_ (GtkWidget *widget,
GtkOrientation orientation,
@@ -501,20 +520,11 @@ gtk_combo_box_size_allocate (GtkWidget *widget,
gtk_widget_set_clip (widget, &clip);
}
-static GskRenderNode *
-gtk_combo_box_get_render_node (GtkWidget *widget,
- GskRenderer *renderer)
+static void
+gtk_combo_box_snapshot (GtkWidget *widget,
+ GtkSnapshot *snapshot)
{
- GskRenderNode *res = gtk_css_gadget_get_render_node (GTK_COMBO_BOX (widget)->priv->gadget,
- renderer,
- FALSE);
-
- if (res == NULL)
- return NULL;
-
- gtk_container_propagate_render_node (GTK_CONTAINER (widget), renderer, res);
-
- return res;
+ gtk_css_gadget_snapshot (GTK_COMBO_BOX (widget)->priv->gadget, snapshot);
}
static void
@@ -554,7 +564,7 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass)
widget_class = (GtkWidgetClass *)klass;
widget_class->size_allocate = gtk_combo_box_size_allocate;
- widget_class->get_render_node = gtk_combo_box_get_render_node;
+ widget_class->snapshot = gtk_combo_box_snapshot;
widget_class->scroll_event = gtk_combo_box_scroll_event;
widget_class->mnemonic_activate = gtk_combo_box_mnemonic_activate;
widget_class->grab_focus = gtk_combo_box_grab_focus;
@@ -1097,7 +1107,7 @@ gtk_combo_box_init (GtkComboBox *combo_box)
gtk_combo_box_measure,
gtk_combo_box_allocate,
NULL,
- NULL,
+ gtk_combo_box_render,
NULL, NULL);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]