diff options
author | Benjamin Otte <otte@redhat.com> | 2016-12-15 10:45:21 +0100 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2016-12-19 05:36:06 +0100 |
commit | 182dad304a6b7a19c1332b8c415f6b21241d6f84 (patch) | |
tree | c9a7b9a4c9d3c8c122b67237dedc3dd1844eb1d6 /gtk/gtkeventbox.c | |
parent | 8900d6cc4587cd24a581c01e3951a106097a3eed (diff) | |
download | gtk+-182dad304a6b7a19c1332b8c415f6b21241d6f84.tar.gz |
eventbox: Implement snapshot()
Diffstat (limited to 'gtk/gtkeventbox.c')
-rw-r--r-- | gtk/gtkeventbox.c | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/gtk/gtkeventbox.c b/gtk/gtkeventbox.c index 518a28dda8..d8bb6a674c 100644 --- a/gtk/gtkeventbox.c +++ b/gtk/gtkeventbox.c @@ -30,6 +30,7 @@ #include "gtkprivate.h" #include "gtkrender.h" #include "gtksizerequest.h" +#include "gtksnapshot.h" /** @@ -61,8 +62,8 @@ static void gtk_event_box_map (GtkWidget *widget); static void gtk_event_box_unmap (GtkWidget *widget); static void gtk_event_box_size_allocate (GtkWidget *widget, GtkAllocation *allocation); -static gboolean gtk_event_box_draw (GtkWidget *widget, - cairo_t *cr); +static void gtk_event_box_snapshot (GtkWidget *widget, + GtkSnapshot *snapshot); static void gtk_event_box_set_property (GObject *object, guint prop_id, const GValue *value, @@ -88,7 +89,7 @@ gtk_event_box_class_init (GtkEventBoxClass *class) widget_class->map = gtk_event_box_map; widget_class->unmap = gtk_event_box_unmap; widget_class->size_allocate = gtk_event_box_size_allocate; - widget_class->draw = gtk_event_box_draw; + widget_class->snapshot = gtk_event_box_snapshot; g_object_class_install_property (gobject_class, PROP_VISIBLE_WINDOW, @@ -517,9 +518,9 @@ gtk_event_box_size_allocate (GtkWidget *widget, gtk_widget_size_allocate_with_baseline (child, &child_allocation, baseline); } -static gboolean -gtk_event_box_draw (GtkWidget *widget, - cairo_t *cr) +static void +gtk_event_box_snapshot (GtkWidget *widget, + GtkSnapshot *snapshot) { if (gtk_widget_get_has_window (widget)) { @@ -527,15 +528,13 @@ gtk_event_box_draw (GtkWidget *widget, context = gtk_widget_get_style_context (widget); - gtk_render_background (context, cr, 0, 0, - gtk_widget_get_allocated_width (widget), - gtk_widget_get_allocated_height (widget)); - gtk_render_frame (context, cr, 0, 0, - gtk_widget_get_allocated_width (widget), - gtk_widget_get_allocated_height (widget)); + gtk_snapshot_render_background (snapshot, context, 0, 0, + gtk_widget_get_allocated_width (widget), + gtk_widget_get_allocated_height (widget)); + gtk_snapshot_render_frame (snapshot, context, 0, 0, + gtk_widget_get_allocated_width (widget), + gtk_widget_get_allocated_height (widget)); } - GTK_WIDGET_CLASS (gtk_event_box_parent_class)->draw (widget, cr); - - return FALSE; + GTK_WIDGET_CLASS (gtk_event_box_parent_class)->snapshot (widget, snapshot); } |