Simplify vflist_get_formatted()
[geeqie.git] / src / compat.h
1 /*
2  * Copyright (C) 2008 - 2016 The Geeqie Team
3  *
4  * Authors: Vladimir Nadvornik, Laurent Monin
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License along
17  * with this program; if not, write to the Free Software Foundation, Inc.,
18  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19  */
20
21 #ifndef COMPAT_H
22 #define COMPAT_H
23
24
25 /* Some systems (BSD,MacOsX,HP-UX,...) define MAP_ANON and not MAP_ANONYMOUS */
26 #if defined(MAP_ANON) && !defined(MAP_ANONYMOUS)
27 #define MAP_ANONYMOUS   MAP_ANON
28 #elif defined(MAP_ANONYMOUS) && !defined(MAP_ANON)
29 #define MAP_ANON        MAP_ANONYMOUS
30 #endif
31
32 #if !GTK_CHECK_VERSION(2,22,0)
33 #define GDK_KEY_BackSpace       GDK_BackSpace
34 #define GDK_KEY_Delete          GDK_Delete
35 #define GDK_KEY_Down            GDK_Down
36 #define GDK_KEY_End             GDK_End
37 #define GDK_KEY_Escape          GDK_Escape
38 #define GDK_KEY_F10             GDK_F10
39 #define GDK_KEY_F11             GDK_F11
40 #define GDK_KEY_Home            GDK_Home
41 #define GDK_KEY_ISO_Left_Tab    GDK_ISO_Left_Tab
42 #define GDK_KEY_KP_Add          GDK_KP_Add
43 #define GDK_KEY_KP_Delete       GDK_KP_Delete
44 #define GDK_KEY_KP_Divide       GDK_KP_Divide
45 #define GDK_KEY_KP_Down         GDK_KP_Down
46 #define GDK_KEY_KP_End          GDK_KP_End
47 #define GDK_KEY_KP_Enter        GDK_KP_Enter
48 #define GDK_KEY_KP_Home         GDK_KP_Home
49 #define GDK_KEY_KP_Left         GDK_KP_Left
50 #define GDK_KEY_KP_Multiply     GDK_KP_Multiply
51 #define GDK_KEY_KP_Page_Down    GDK_KP_Page_Down
52 #define GDK_KEY_KP_Page_Up      GDK_KP_Page_Up
53 #define GDK_KEY_KP_Right        GDK_KP_Right
54 #define GDK_KEY_KP_Subtract     GDK_KP_Subtract
55 #define GDK_KEY_KP_Up           GDK_KP_Up
56 #define GDK_KEY_Left            GDK_Left
57 #define GDK_KEY_Menu            GDK_Menu
58 #define GDK_KEY_Page_Down       GDK_Page_Down
59 #define GDK_KEY_Page_Up         GDK_Page_Up
60 #define GDK_KEY_plus            GDK_plus
61 #define GDK_KEY_Return          GDK_Return
62 #define GDK_KEY_Right           GDK_Right
63 #define GDK_KEY_space           GDK_space
64 #define GDK_KEY_Tab             GDK_Tab
65 #define GDK_KEY_Up              GDK_Up
66 #endif
67
68 #if !GTK_CHECK_VERSION(2,24,0)
69 #define gtk_combo_box_text_new gtk_combo_box_new_text
70 #define gtk_combo_box_text_append_text gtk_combo_box_append_text
71 #define gtk_combo_box_text_new_with_entry gtk_combo_box_entry_new_text
72 #define gtk_combo_box_new_with_model_and_entry(model) gtk_combo_box_entry_new_with_model(model, FILTER_COLUMN_FILTER)
73 #define GTK_COMBO_BOX_TEXT(combo) GTK_COMBO_BOX(combo)
74 #define gdk_window_get_width(window) compat_gdk_window_get_width(window)
75 #define gdk_window_get_height(window) compat_gdk_window_get_height(window)
76
77 gint compat_gdk_window_get_width(GdkWindow *window);
78 gint compat_gdk_window_get_height(GdkWindow *window);
79
80 #endif
81
82 #if !GTK_CHECK_VERSION(2,22,0)
83 #define gdk_window_create_similar_surface(window, content, width, height) compat_gdk_window_create_similar_surface(window, content, width, height)
84 cairo_surface_t *compat_gdk_window_create_similar_surface (GdkWindow *window, cairo_content_t content, gint width, gint height);
85
86 #define gdk_drag_context_get_selected_action(context) ((context)->action)
87 #define gdk_drag_context_get_suggested_action(context) ((context)->suggested_action)
88 #define gdk_drag_context_get_actions(context) ((context)->actions)
89 #endif
90
91 #if GTK_CHECK_VERSION(3,0,0)
92 #define gtk_hbox_new(homogeneous, spacing) gtk_box_new(GTK_ORIENTATION_HORIZONTAL, spacing)
93 #define gtk_vbox_new(homogeneous, spacing) gtk_box_new(GTK_ORIENTATION_VERTICAL, spacing)
94 #define gdk_cursor_unref(cursor) g_object_unref(G_OBJECT(cursor))
95 #endif
96
97 #if GTK_CHECK_VERSION(3,2,0)
98 #define gtk_hpaned_new() gtk_paned_new(GTK_ORIENTATION_HORIZONTAL)
99 #define gtk_vpaned_new() gtk_paned_new(GTK_ORIENTATION_VERTICAL)
100 #endif
101
102 #if GTK_CHECK_VERSION(3,8,0)
103 #define gtk_scrolled_window_add_with_viewport(viewport, child) gtk_container_add(GTK_CONTAINER(viewport), child)
104 #endif
105
106 #if GTK_CHECK_VERSION(3,20,0)
107 #define gtk_hbutton_box_new() gtk_button_box_new(GTK_ORIENTATION_HORIZONTAL)
108 #endif
109
110 #endif /* COMPAT_H */
111 /* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */