2010-08-30 Alejandro G. Castro <alex@igalia.com>
[WebKit-https.git] / WebCore / platform / gtk / GtkVersioning.h
1 /*
2  * Copyright (C) 2010 Collabora Ltd.
3  * Copyright (C) 2010 Igalia, S.L.
4  *
5  *  This library is free software; you can redistribute it and/or
6  *  modify it under the terms of the GNU Library General Public
7  *  License as published by the Free Software Foundation; either
8  *  version 2 of the License, or (at your option) any later version.
9  *
10  *  This library is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  *  Library General Public License for more details.
14  *
15  *  You should have received a copy of the GNU Library General Public License
16  *  along with this library; see the file COPYING.LIB.  If not, write to
17  *  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18  *  Boston, MA 02110-1301, USA.
19  */
20
21 #ifndef GtkVersioning_h
22 #define GtkVersioning_h
23
24 #include <gtk/gtk.h>
25
26 G_BEGIN_DECLS
27
28 // Macros to avoid deprecation checking churn
29 #if !GTK_CHECK_VERSION(2, 21, 2)
30 #define gdk_visual_get_depth(visual) (visual)->depth
31 #define gdk_visual_get_bits_per_rgb(visual) (visual)->bits_per_rgb
32 #define gdk_drag_context_get_selected_action(context) (context)->action
33 #define gdk_drag_context_get_actions(context) (context)->actions
34 #endif // GTK_CHECK_VERSION(2, 21, 2)
35
36 #if !GTK_CHECK_VERSION(2, 20, 0)
37 #define gtk_widget_set_realized(widget, TRUE) GTK_WIDGET_SET_FLAGS((widget), GTK_REALIZED)
38 #define gtk_range_get_min_slider_size(range) (range)->min_slider_size
39 #endif // GTK_CHECK_VERSION(2, 20, 0)
40
41 #if !GTK_CHECK_VERSION(2, 19, 0)
42 #define gtk_widget_is_toplevel(widget) GTK_WIDGET_TOPLEVEL(widget)
43 #define gtk_widget_get_realized(widget) GTK_WIDGET_REALIZED(widget)
44 #define gtk_widget_get_has_window(widget) !GTK_WIDGET_NO_WINDOW(widget)
45 #define gtk_widget_get_can_focus(widget) GTK_WIDGET_CAN_FOCUS(widget)
46 #define gtk_widget_is_sensitive(widget) GTK_WIDGET_IS_SENSITIVE(widget)
47 #endif // GTK_CHECK_VERSION(2, 19, 0)
48
49 #if !GTK_CHECK_VERSION(2, 18, 0)
50 #define gtk_widget_set_visible(widget, FALSE) GTK_WIDGET_UNSET_FLAGS((widget), GTK_VISIBLE)
51 #define gtk_widget_set_window(widget, new_window) (widget)->window = (new_window)
52 #define gtk_widget_set_can_focus(widget, TRUE) GTK_WIDGET_SET_FLAGS((widget), GTK_CAN_FOCUS)
53 #define gtk_widget_get_allocation(widget, alloc) (*(alloc) = (widget)->allocation)
54 #define gtk_widget_set_allocation(widget, alloc) ((widget)->allocation = *(alloc))
55 #endif // GTK_CHECK_VERSION(2, 18, 0)
56
57 #if !GTK_CHECK_VERSION(2, 14, 0)
58 #define gtk_widget_get_window(widget) (widget)->window
59 #define gtk_adjustment_get_value(adj) (adj)->value
60 #define gtk_dialog_get_content_area(dialog) (dialog)->vbox
61 #define gtk_dialog_get_action_area(dialog) (dialog)->action_area
62 #define gtk_selection_data_get_length(data) (data)->length
63 #define gtk_selection_data_get_data(data) (data)->data
64 #define gtk_selection_data_get_target(data) (data)->target
65 #define gtk_adjustment_set_page_size(adj, value) (adj)->page_size = value
66
67 void gtk_adjustment_configure(GtkAdjustment* adjustment, gdouble value, gdouble lower, gdouble upper,
68                               gdouble stepIncrement, gdouble pageIncrement, gdouble pageSize);
69
70 void gtk_adjustment_set_value(GtkAdjustment* adjusment, gdouble value);
71 #endif // GTK_CHECK_VERSION(2, 14, 0)
72
73 GdkDevice* getDefaultGDKPointerDevice(GdkWindow* window);
74
75 G_END_DECLS
76
77 #endif // GtkVersioning_h