forked from AuroraMiddleware/gtk
eventbox: Implement snapshot()
This commit is contained in:
parent
8900d6cc45
commit
182dad304a
@ -30,6 +30,7 @@
|
|||||||
#include "gtkprivate.h"
|
#include "gtkprivate.h"
|
||||||
#include "gtkrender.h"
|
#include "gtkrender.h"
|
||||||
#include "gtksizerequest.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_unmap (GtkWidget *widget);
|
||||||
static void gtk_event_box_size_allocate (GtkWidget *widget,
|
static void gtk_event_box_size_allocate (GtkWidget *widget,
|
||||||
GtkAllocation *allocation);
|
GtkAllocation *allocation);
|
||||||
static gboolean gtk_event_box_draw (GtkWidget *widget,
|
static void gtk_event_box_snapshot (GtkWidget *widget,
|
||||||
cairo_t *cr);
|
GtkSnapshot *snapshot);
|
||||||
static void gtk_event_box_set_property (GObject *object,
|
static void gtk_event_box_set_property (GObject *object,
|
||||||
guint prop_id,
|
guint prop_id,
|
||||||
const GValue *value,
|
const GValue *value,
|
||||||
@ -88,7 +89,7 @@ gtk_event_box_class_init (GtkEventBoxClass *class)
|
|||||||
widget_class->map = gtk_event_box_map;
|
widget_class->map = gtk_event_box_map;
|
||||||
widget_class->unmap = gtk_event_box_unmap;
|
widget_class->unmap = gtk_event_box_unmap;
|
||||||
widget_class->size_allocate = gtk_event_box_size_allocate;
|
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,
|
g_object_class_install_property (gobject_class,
|
||||||
PROP_VISIBLE_WINDOW,
|
PROP_VISIBLE_WINDOW,
|
||||||
@ -517,9 +518,9 @@ gtk_event_box_size_allocate (GtkWidget *widget,
|
|||||||
gtk_widget_size_allocate_with_baseline (child, &child_allocation, baseline);
|
gtk_widget_size_allocate_with_baseline (child, &child_allocation, baseline);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static void
|
||||||
gtk_event_box_draw (GtkWidget *widget,
|
gtk_event_box_snapshot (GtkWidget *widget,
|
||||||
cairo_t *cr)
|
GtkSnapshot *snapshot)
|
||||||
{
|
{
|
||||||
if (gtk_widget_get_has_window (widget))
|
if (gtk_widget_get_has_window (widget))
|
||||||
{
|
{
|
||||||
@ -527,15 +528,13 @@ gtk_event_box_draw (GtkWidget *widget,
|
|||||||
|
|
||||||
context = gtk_widget_get_style_context (widget);
|
context = gtk_widget_get_style_context (widget);
|
||||||
|
|
||||||
gtk_render_background (context, cr, 0, 0,
|
gtk_snapshot_render_background (snapshot, context, 0, 0,
|
||||||
gtk_widget_get_allocated_width (widget),
|
gtk_widget_get_allocated_width (widget),
|
||||||
gtk_widget_get_allocated_height (widget));
|
gtk_widget_get_allocated_height (widget));
|
||||||
gtk_render_frame (context, cr, 0, 0,
|
gtk_snapshot_render_frame (snapshot, context, 0, 0,
|
||||||
gtk_widget_get_allocated_width (widget),
|
gtk_widget_get_allocated_width (widget),
|
||||||
gtk_widget_get_allocated_height (widget));
|
gtk_widget_get_allocated_height (widget));
|
||||||
}
|
}
|
||||||
|
|
||||||
GTK_WIDGET_CLASS (gtk_event_box_parent_class)->draw (widget, cr);
|
GTK_WIDGET_CLASS (gtk_event_box_parent_class)->snapshot (widget, snapshot);
|
||||||
|
|
||||||
return FALSE;
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user