From 39209643d05fb2f54cbdbe7d301b2d8369d0c4b5 Mon Sep 17 00:00:00 2001 From: Rob Kendrick Date: Tue, 13 Apr 2010 17:13:52 +0000 Subject: Add gtk_compat.c, which provides implementations of newer GTK functions that we require. This is needed because some macros we were using have been deprecated and replaced with functions, and we build without deprecated features due to it spewing warnings everywhere. svn path=/trunk/netsurf/; revision=10392 --- gtk/gtk_compat.c | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 gtk/gtk_compat.c (limited to 'gtk/gtk_compat.c') diff --git a/gtk/gtk_compat.c b/gtk/gtk_compat.c new file mode 100644 index 000000000..511515a8b --- /dev/null +++ b/gtk/gtk_compat.c @@ -0,0 +1,76 @@ +/* + * Copyright 2010 Rob Kendrick + * + * This file is part of NetSurf, http://www.netsurf-browser.org/ + * + * NetSurf is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * NetSurf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** \file + * Compatibility functions for older GTK versions (implementation) + */ + +#include "gtk/gtk_compat.h" + +gboolean nsgtk_widget_has_focus(GtkWidget *widget) +{ + GValue v; + g_object_get_property(G_OBJECT(widget), "is-focus", &v); + + return g_value_get_boolean(&v); +} + +gboolean nsgtk_widget_get_visible(GtkWidget *widget) +{ + GValue v; + g_object_get_property(G_OBJECT(widget), "visible", &v); + + return g_value_get_boolean(&v); +} + +gboolean nsgtk_widget_get_realized(GtkWidget *widget) +{ + #if GTK_CHECK_VERSION(2,20,0) + return gtk_widget_get_realized(widget); + #else + return GTK_WIDGET_REALIZED(widget); + #endif +} + +gboolean nsgtk_widget_get_mapped(GtkWidget *widget) +{ + #if GTK_CHECK_VERSION(2,20,0) + return gtk_widget_get_mapped(widget); + #else + return GTK_WIDGET_MAPPED(widget); + #endif +} + +gboolean nsgtk_widget_is_drawable(GtkWidget *widget) +{ + #if GTK_CHECK_VERSION(2,18,0) + return gtk_widget_is_drawable(widget); + #else + return GTK_WIDGET_DRAWABLE(widget); + #endif +} + +GtkStateType nsgtk_widget_get_state(GtkWidget *widget) +{ + #if GTK_CHECK_VERSION(2,18,0) + return gtk_widget_get_state(widget); + #else + return GTK_WIDGET_STATE(widget); + #endif +} + -- cgit v1.2.3