00001
00002
00003
00004 #ifndef AUD_GTK_COMPAT_H
00005 #define AUD_GTK_COMPAT_H
00006
00007 #include <string.h>
00008
00009 #if defined GDK_KEY_Tab && ! defined GDK_Tab
00010 #include <gdk/gdkkeysyms-compat.h>
00011 #endif
00012
00013 #if ! GTK_CHECK_VERSION (2, 10, 0)
00014 #define GDK_WINDOW_TYPE_HINT_TOOLTIP GDK_WINDOW_TYPE_HINT_MENU
00015 #define gtk_label_set_line_wrap_mode(...)
00016 #endif
00017
00018 #if ! GTK_CHECK_VERSION (2, 12, 0)
00019
00020 static inline void gtk_tree_view_convert_widget_to_bin_window_coords
00021 (GtkTreeView * tree, gint wx, gint wy, gint * bx, gint * by)
00022 {
00023 gint bx0, by0;
00024 gdk_window_get_position (gtk_tree_view_get_bin_window (tree), & bx0, & by0);
00025 * bx = wx - bx0;
00026 * by = wy - by0;
00027 }
00028
00029 #define gtk_widget_set_tooltip_text(...)
00030 #endif
00031
00032 #if ! GTK_CHECK_VERSION (2, 14, 0)
00033 #define gtk_adjustment_get_page_size(a) ((a)->page_size)
00034 #define gtk_adjustment_get_upper(a) ((a)->upper)
00035 #define gtk_dialog_get_action_area(d) ((d)->action_area)
00036 #define gtk_dialog_get_content_area(d) ((d)->vbox)
00037 #define gtk_selection_data_get_data(s) ((s)->data)
00038 #define gtk_selection_data_get_length(s) ((s)->length)
00039 #define gtk_widget_get_window(w) ((w)->window)
00040 #endif
00041
00042 #if ! GTK_CHECK_VERSION (2, 18, 0)
00043
00044 static inline void gtk_widget_set_can_default (GtkWidget * w, gboolean b)
00045 {
00046 if (b)
00047 GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT);
00048 else
00049 GTK_WIDGET_UNSET_FLAGS (w, GTK_CAN_DEFAULT);
00050 }
00051
00052 static inline void gtk_widget_set_can_focus (GtkWidget * w, gboolean b)
00053 {
00054 if (b)
00055 GTK_WIDGET_SET_FLAGS (w, GTK_CAN_FOCUS);
00056 else
00057 GTK_WIDGET_UNSET_FLAGS (w, GTK_CAN_FOCUS);
00058 }
00059
00060 #define gtk_widget_get_allocation(w, a) memcpy ((a), & (w)->allocation, sizeof (GtkAllocation))
00061 #define gtk_widget_get_sensitive GTK_WIDGET_SENSITIVE
00062 #define gtk_widget_get_visible GTK_WIDGET_VISIBLE
00063 #define gtk_widget_is_toplevel GTK_WIDGET_TOPLEVEL
00064 #endif
00065
00066 #if ! GTK_CHECK_VERSION (2, 20, 0)
00067 #define gtk_widget_is_drawable GTK_WIDGET_DRAWABLE
00068 #endif
00069
00070 #if ! GTK_CHECK_VERSION (3, 0, 0)
00071
00072 static inline void gdk_window_get_geometry_compat (GdkWindow * win, gint * x,
00073 gint * y, gint * w, gint * h)
00074 {
00075 gdk_window_get_geometry (win, x, y, w, h, NULL);
00076 }
00077
00078 #define GtkComboBoxText GtkComboBox
00079 #define gdk_window_get_geometry gdk_window_get_geometry_compat
00080 #define gtk_combo_box_text_new gtk_combo_box_new_text
00081 #define gtk_combo_box_text_new_with_entry gtk_combo_box_entry_new_text
00082 #define gtk_combo_box_text_append_text gtk_combo_box_append_text
00083 #endif
00084
00085 #if GTK_CHECK_VERSION (3, 0, 0)
00086 #define gtk_range_set_update_policy(...)
00087 #endif
00088
00089 #endif