From 55f7b8caf97f3eb0da4dcc1a36e4c0ba0ed200d2 Mon Sep 17 00:00:00 2001 From: Jasmine Hassan Date: Wed, 21 Nov 2012 01:14:18 +0200 Subject: [background-box] use expose-event for GTK2, draw for GTK3 --- eel/eel-background-box.c | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) (limited to 'eel/eel-background-box.c') diff --git a/eel/eel-background-box.c b/eel/eel-background-box.c index 6e25cc62..5aeac5a6 100644 --- a/eel/eel-background-box.c +++ b/eel/eel-background-box.c @@ -27,35 +27,45 @@ #include "eel-background.h" -static void eel_background_box_class_init (EelBackgroundBoxClass *background_box_class); -static void eel_background_box_init (EelBackgroundBox *background); - G_DEFINE_TYPE (EelBackgroundBox, eel_background_box, GTK_TYPE_EVENT_BOX) static gboolean -eel_background_box_expose_event (GtkWidget *widget, - GdkEventExpose *event) +eel_background_box_draw (GtkWidget *widget, +#if GTK_CHECK_VERSION (3, 0, 0) + cairo_t *cr) +#else + GdkEventExpose *event) +#endif { +#if GTK_CHECK_VERSION (3, 0, 0) + eel_background_draw (widget, cr); + gtk_container_propagate_draw (GTK_CONTAINER (widget), + gtk_bin_get_child (GTK_BIN (widget)), + cr); +#else eel_background_expose (widget, event); - gtk_container_propagate_expose (GTK_CONTAINER (widget), gtk_bin_get_child (GTK_BIN (widget)), event); - +#endif return TRUE; } static void -eel_background_box_class_init (EelBackgroundBoxClass *klass) +eel_background_box_init (EelBackgroundBox *box) { - GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); - - widget_class->expose_event = eel_background_box_expose_event; } static void -eel_background_box_init (EelBackgroundBox *box) +eel_background_box_class_init (EelBackgroundBoxClass *klass) { + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + +#if GTK_CHECK_VERSION (3, 0, 0) + widget_class->draw = eel_background_box_draw; +#else + widget_class->expose_event = eel_background_box_draw; +#endif } GtkWidget* -- cgit v1.2.1