Mercurial > hg > forks > geeqie
changeset 2044:a1bd12a58ac0
fixed compilation with gtk 2.20
author | Vladimir Nadvornik <nadvornik@suse.cz> |
---|---|
date | Tue, 14 Aug 2012 20:22:37 +0200 |
parents | 123d72260504 |
children | acbfadc01ad2 |
files | README configure.in src/compat.c src/compat.h src/ui_tree_edit.c |
diffstat | 5 files changed, 98 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/README Mon Aug 13 21:06:06 2012 +0200 +++ b/README Tue Aug 14 20:22:37 2012 +0200 @@ -48,10 +48,7 @@ ======== Requirements Required libraries: - GTK+ 2.??.x: ftp://ftp.gtk.org/pub/gtk -FIXME: determine realistic requirements. -It compiles with GTK 2.10, but some features are disabled and the testing was -minimal. Please report success or falilures. + GTK+ 2.20: ftp://ftp.gtk.org/pub/gtk Optional libraries: lcms, for color management support: http://www.littlecms.com
--- a/configure.in Mon Aug 13 21:06:06 2012 +0200 +++ b/configure.in Tue Aug 14 20:22:37 2012 +0200 @@ -190,12 +190,21 @@ fi AM_PATH_GLIB_2_0(2.4.0,,AC_MSG_ERROR(GLIB >= 2.4.0 not installed.)) -AC_ARG_ENABLE([gtk3], AC_HELP_STRING([--disable-gtk3], [use gtk2 instead of gtk3]),[gtk3="${enableval}"], [gtk3=m4_ifdef([AM_PATH_GTK_3_0], [yes], [no])]) +AC_ARG_ENABLE([gtk3], AC_HELP_STRING([--disable-gtk3], [use gtk2 instead of gtk3]),[gtk3="${enableval}"], [gtk3=m4_ifdef([AM_PATH_GTK_3_0], [auto], [no])]) if test x$gtk3 == xyes; then + AC_MSG_WARN("Gtk3 enabled") m4_ifdef([AM_PATH_GTK_3_0], [AM_PATH_GTK_3_0(3.0.0,,AC_MSG_ERROR(GTK+ >= 3.0.0 not installed.))]) else - m4_ifdef([AM_PATH_GTK_2_0], [AM_PATH_GTK_2_0(2.12.0,,AC_MSG_ERROR(GTK+ >= 2.12.0 not installed.))]) + if test x$gtk3 != xno; then + AC_MSG_WARN("Gtk3 is preferred...") + m4_ifdef([AM_PATH_GTK_3_0], [AM_PATH_GTK_3_0(3.0.0,,[gtk3=no])]) + fi +fi + +if test x$gtk3 == xno; then + m4_ifdef([AM_PATH_GTK_2_0], [AM_PATH_GTK_2_0(2.20.0,,AC_MSG_ERROR(GTK+ >= 2.12.0 not installed.))]) + true fi threads="auto"
--- a/src/compat.c Mon Aug 13 21:06:06 2012 +0200 +++ b/src/compat.c Tue Aug 14 20:22:37 2012 +0200 @@ -55,4 +55,30 @@ #endif } +#if !GTK_CHECK_VERSION(2,24,0) +gint compat_gdk_window_get_width(GdkWindow *window) +{ + gint w, h; + gdk_drawable_get_size(window, &w, &h); + return w; +} + +gint compat_gdk_window_get_height(GdkWindow *window) +{ + gint w, h; + gdk_drawable_get_size(window, &w, &h); + return h; +} +#endif + +#if !GTK_CHECK_VERSION(2,22,0) +cairo_surface_t *compat_gdk_window_create_similar_surface (GdkWindow *window, cairo_content_t content, gint width, gint height) +{ + cairo_t *cr = gdk_cairo_create(window); + cairo_surface_t *ws = cairo_get_target(cr); + cairo_surface_t *ret = cairo_surface_create_similar(ws, content, width, height); + cairo_destroy(cr); + return ret; +} +#endif /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
--- a/src/compat.h Mon Aug 13 21:06:06 2012 +0200 +++ b/src/compat.h Tue Aug 14 20:22:37 2012 +0200 @@ -28,6 +28,64 @@ #define MAP_ANON MAP_ANONYMOUS #endif +#ifndef GDK_KEY_Up +#define GDK_KEY_BackSpace GDK_BackSpace +#define GDK_KEY_Delete GDK_Delete +#define GDK_KEY_Down GDK_Down +#define GDK_KEY_End GDK_End +#define GDK_KEY_Escape GDK_Escape +#define GDK_KEY_F10 GDK_F10 +#define GDK_KEY_F11 GDK_F11 +#define GDK_KEY_Home GDK_Home +#define GDK_KEY_ISO_Left_Tab GDK_ISO_Left_Tab +#define GDK_KEY_KP_Add GDK_KP_Add +#define GDK_KEY_KP_Delete GDK_KP_Delete +#define GDK_KEY_KP_Divide GDK_KP_Divide +#define GDK_KEY_KP_Down GDK_KP_Down +#define GDK_KEY_KP_End GDK_KP_End +#define GDK_KEY_KP_Enter GDK_KP_Enter +#define GDK_KEY_KP_Home GDK_KP_Home +#define GDK_KEY_KP_Left GDK_KP_Left +#define GDK_KEY_KP_Multiply GDK_KP_Multiply +#define GDK_KEY_KP_Page_Down GDK_KP_Page_Down +#define GDK_KEY_KP_Page_Up GDK_KP_Page_Up +#define GDK_KEY_KP_Right GDK_KP_Right +#define GDK_KEY_KP_Subtract GDK_KP_Subtract +#define GDK_KEY_KP_Up GDK_KP_Up +#define GDK_KEY_Left GDK_Left +#define GDK_KEY_Menu GDK_Menu +#define GDK_KEY_Page_Down GDK_Page_Down +#define GDK_KEY_Page_Up GDK_Page_Up +#define GDK_KEY_plus GDK_plus +#define GDK_KEY_Return GDK_Return +#define GDK_KEY_Right GDK_Right +#define GDK_KEY_space GDK_space +#define GDK_KEY_Tab GDK_Tab +#define GDK_KEY_Up GDK_Up +#endif + +#if !GTK_CHECK_VERSION(2,24,0) +#define gtk_combo_box_text_new gtk_combo_box_new_text +#define gtk_combo_box_text_append_text gtk_combo_box_append_text +#define gtk_combo_box_text_new_with_entry gtk_combo_box_entry_new_text +#define gtk_combo_box_new_with_model_and_entry(model) gtk_combo_box_entry_new_with_model(model, FILTER_COLUMN_FILTER) +#define GTK_COMBO_BOX_TEXT(combo) GTK_COMBO_BOX(combo) +#define gdk_window_get_width(window) compat_gdk_window_get_width(window) +#define gdk_window_get_height(window) compat_gdk_window_get_height(window) + +gint compat_gdk_window_get_width(GdkWindow *window); +gint compat_gdk_window_get_height(GdkWindow *window); + +#endif + +#if !GTK_CHECK_VERSION(2,24,0) +#define gdk_window_create_similar_surface(window, content, width, height) compat_gdk_window_create_similar_surface(window, content, width, height) +cairo_surface_t *compat_gdk_window_create_similar_surface (GdkWindow *window, cairo_content_t content, gint width, gint height); + +#define gdk_drag_context_get_selected_action(context) ((context)->action) +#define gdk_drag_context_get_suggested_action(context) ((context)->suggested_action) +#define gdk_drag_context_get_actions(context) ((context)->actions) +#endif #endif /* COMPAT_H */ /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */