From 70613c9128ed6b4f4dc63c16d061d3c5d37fb165 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timm=20B=C3=A4der?= Date: Sun, 7 May 2017 14:16:59 +0200 Subject: [PATCH] toolpalette: Port to snapshot() --- gtk/gtktoolpalette.c | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/gtk/gtktoolpalette.c b/gtk/gtktoolpalette.c index 87547bb0bf..fdae646e45 100644 --- a/gtk/gtktoolpalette.c +++ b/gtk/gtktoolpalette.c @@ -29,6 +29,7 @@ #include "gtkprivate.h" #include "gtkscrollable.h" #include "gtkorientableprivate.h" +#include "gtkwidgetprivate.h" #include "gtkintl.h" #define DEFAULT_ICON_SIZE GTK_ICON_SIZE_SMALL_TOOLBAR @@ -707,18 +708,6 @@ gtk_tool_palette_adjustment_value_changed (GtkAdjustment *adjustment, gtk_tool_palette_size_allocate (widget, &allocation); } -static gboolean -gtk_tool_palette_draw (GtkWidget *widget, - cairo_t *cr) -{ - gtk_render_background (gtk_widget_get_style_context (widget), cr, - 0, 0, - gtk_widget_get_allocated_width (widget), - gtk_widget_get_allocated_height (widget)); - - return GTK_WIDGET_CLASS (gtk_tool_palette_parent_class)->draw (widget, cr); -} - static void gtk_tool_palette_add (GtkContainer *container, GtkWidget *child) @@ -854,6 +843,26 @@ gtk_tool_palette_screen_changed (GtkWidget *widget, gtk_tool_palette_reconfigured (palette); } +static void +gtk_tool_palette_snapshot (GtkWidget *widget, + GtkSnapshot *snapshot) +{ + GtkAllocation content_allocation; + + gtk_widget_get_content_allocation (widget, &content_allocation); + + gtk_snapshot_push_clip (snapshot, + &GRAPHENE_RECT_INIT( + content_allocation.x, + content_allocation.y, + content_allocation.width, + content_allocation.height), + "ToolPalette Clip"); + + GTK_WIDGET_CLASS (gtk_tool_palette_parent_class)->snapshot (widget, snapshot); + + gtk_snapshot_pop (snapshot); +} static void gtk_tool_palette_class_init (GtkToolPaletteClass *cls) @@ -869,7 +878,7 @@ gtk_tool_palette_class_init (GtkToolPaletteClass *cls) wclass->measure = gtk_tool_palette_measure; wclass->size_allocate = gtk_tool_palette_size_allocate; - wclass->draw = gtk_tool_palette_draw; + wclass->snapshot = gtk_tool_palette_snapshot; cclass->add = gtk_tool_palette_add; cclass->remove = gtk_tool_palette_remove;