summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--eel/eel-gdk-extensions.c13
-rw-r--r--eel/eel-gdk-extensions.h18
2 files changed, 25 insertions, 6 deletions
diff --git a/eel/eel-gdk-extensions.c b/eel/eel-gdk-extensions.c
index 2a5f8734..ed694277 100644
--- a/eel/eel-gdk-extensions.c
+++ b/eel/eel-gdk-extensions.c
@@ -477,16 +477,23 @@ eel_gdk_parse_geometry (const char *string, int *x_return, int *y_return,
}
void
+#if GTK_CHECK_VERSION(3,0,0)
+eel_cairo_draw_layout_with_drop_shadow (cairo_t *cr,
+#else
eel_gdk_draw_layout_with_drop_shadow (GdkDrawable *drawable,
+#endif
GdkColor *text_color,
GdkColor *shadow_color,
int x,
int y,
PangoLayout *layout)
{
+#if GTK_CHECK_VERSION(3,0,0)
+ cairo_save (cr);
+#else
cairo_t *cr;
-
cr = gdk_cairo_create (drawable);
+#endif
gdk_cairo_set_source_color (cr, shadow_color);
cairo_move_to (cr, x+1, y+1);
@@ -496,7 +503,11 @@ eel_gdk_draw_layout_with_drop_shadow (GdkDrawable *drawable,
cairo_move_to (cr, x, y);
pango_cairo_show_layout (cr, layout);
+#if GTK_CHECK_VERSION(3,0,0)
+ cairo_restore
+#else
cairo_destroy (cr);
+#endif
}
#if ! defined (EEL_OMIT_SELF_CHECK)
diff --git a/eel/eel-gdk-extensions.h b/eel/eel-gdk-extensions.h
index a879bdce..2036eec4 100644
--- a/eel/eel-gdk-extensions.h
+++ b/eel/eel-gdk-extensions.h
@@ -28,6 +28,10 @@
#include <gdk/gdk.h>
+#ifndef GTK_CHECK_VERSION
+#include <gtk/gtk.h>
+#endif
+
#define EEL_RGB_COLOR_RED 0xFF0000
#define EEL_RGB_COLOR_GREEN 0x00FF00
#define EEL_RGB_COLOR_BLUE 0x0000FF
@@ -118,10 +122,14 @@ EelGdkGeometryFlags eel_gdk_parse_geometry (const char
int *y_return,
guint *width_return,
guint *height_return);
+#if GTK_CHECK_VERSION(3,0,0)
+void eel_cairo_draw_layout_with_drop_shadow (cairo_t *cr,
+#else
void eel_gdk_draw_layout_with_drop_shadow (GdkDrawable *drawable,
- GdkColor *text_color,
- GdkColor *shadow_color,
- int x,
- int y,
- PangoLayout *layout);
+#endif
+ GdkColor *text_color,
+ GdkColor *shadow_color,
+ int x,
+ int y,
+ PangoLayout *layout);
#endif /* EEL_GDK_EXTENSIONS_H */