remove all gtk3 conditionals
[claws.git] / src / gtk / gtkshruler.c
index 39fbe39e8650b121024646d1973bf6f18b28f375..f6df16f25098b553fb8d9d35f899db144129b3e4 100644 (file)
  */
 
 #include "config.h"
+#include "claws-features.h"
 
 #include <math.h>
 #include <string.h>
 
 #include <gtk/gtk.h>
 
+#include "gtkutils.h"
 #include "gtkshruler.h"
 #include "gtkunit.h"
 
@@ -163,8 +165,12 @@ static void          gtk_shruler_make_pixmap   (GtkSHRuler      *ruler);
 static PangoLayout * gtk_shruler_get_layout    (GtkWidget      *widget,
                                               const gchar    *text);
 
-
+#if !GLIB_CHECK_VERSION(2, 58, 0)
 G_DEFINE_TYPE (GtkSHRuler, gtk_shruler, GTK_TYPE_WIDGET)
+#else
+G_DEFINE_TYPE_WITH_CODE (GtkSHRuler, gtk_shruler, GTK_TYPE_WIDGET,
+               G_ADD_PRIVATE(GtkSHRuler))
+#endif
 
 #define parent_class gtk_shruler_parent_class
 
@@ -278,9 +284,6 @@ gtk_shruler_init (GtkSHRuler *ruler)
 static void
 gtk_shruler_dispose (GObject *object)
 {
-  GtkSHRuler        *ruler = GTK_SHRULER (object);
-  GtkSHRulerPrivate *priv  = GTK_SHRULER_GET_PRIVATE (ruler);
-
   G_OBJECT_CLASS (parent_class)->dispose (object);
 }
 
@@ -957,31 +960,6 @@ out:
   cairo_destroy (cr);
 }
 
-static cairo_surface_t *
-cm_gdk_window_create_similar_surface (GdkWindow *     window,
-                                   cairo_content_t content,
-                                   int             width,
-                                   int             height)
-{
-#if !GTK_CHECK_VERSION(2, 22, 0)
-  cairo_surface_t *window_surface, *surface;
-
-  g_return_val_if_fail (GDK_IS_WINDOW (window), NULL);
-
-  window_surface = GDK_DRAWABLE_GET_CLASS(window)->ref_cairo_surface(window);
-
-  surface = cairo_surface_create_similar (window_surface,
-                                          content,
-                                          width, height);
-
-  cairo_surface_destroy (window_surface);
-
-  return surface;
-#else
-  return gdk_window_create_similar_surface(window, content, width, height);
-#endif
-}
-
 static void
 gtk_shruler_make_pixmap (GtkSHRuler *ruler)
 {
@@ -995,7 +973,7 @@ gtk_shruler_make_pixmap (GtkSHRuler *ruler)
     cairo_surface_destroy (priv->backing_store);
 
   priv->backing_store =
-    cm_gdk_window_create_similar_surface (gtk_widget_get_window (widget),
+    gdk_window_create_similar_surface (gtk_widget_get_window (widget),
                                        CAIRO_CONTENT_COLOR,
                                        allocation.width,
                                        allocation.height);