summaryrefslogtreecommitdiff
path: root/gtk/gtkaccessible.h
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2020-06-16 16:41:59 +0100
committerEmmanuele Bassi <ebassi@gnome.org>2020-07-26 20:31:14 +0100
commitc63087a5631e72cd1c45bdc5a41bf605195be64c (patch)
tree5336167dacb3d88a5d23220d0846f7847605590c /gtk/gtkaccessible.h
parentea0fc7619ddd0ad20cd7c83e3e8c8672004c20c9 (diff)
downloadgtk+-c63087a5631e72cd1c45bdc5a41bf605195be64c.tar.gz
Remove ATK
To build a better world sometimes means having to tear the old one down. -- Alexander Pierce, "Captain America: The Winter Soldier" ATK served us well for nearly 20 years, but the world has changed, and GTK has changed with it. Now ATK is mostly a hindrance towards improving the accessibility stack: - it maps to a very specific implementation, AT-SPI, which is Linux and Unix specific - it requires implementing the same functionality in three different layers of the stack: AT-SPI, ATK, and GTK - only GTK uses it; every other Linux and Unix toolkit and application talks to AT-SPI directly, including assistive technologies Sadly, we cannot incrementally port GTK to a new accessibility stack; since ATK insulates us entirely from the underlying implementation, we cannot replace it piecemeal. Instead, we're going to remove everything and then incrementally build on a clean slate: - add an "accessible" interface, implemented by GTK objects directly, which describe the accessible role and state changes for every UI element - add an "assistive technology context" to proxy a native accessibility API, and assign it to every widget - implement the AT context depending on the platform For more information, see: https://gitlab.gnome.org/GNOME/gtk/-/issues/2833
Diffstat (limited to 'gtk/gtkaccessible.h')
-rw-r--r--gtk/gtkaccessible.h58
1 files changed, 0 insertions, 58 deletions
diff --git a/gtk/gtkaccessible.h b/gtk/gtkaccessible.h
deleted file mode 100644
index 26125f0ca4..0000000000
--- a/gtk/gtkaccessible.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* GTK - The GIMP Toolkit
- * Copyright 2001 Sun Microsystems Inc.
- * Copyright 2020 GNOME Foundation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef __GTK_ACCESSIBLE_H__
-#define __GTK_ACCESSIBLE_H__
-
-#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
-#error "Only <gtk/gtk.h> can be included directly."
-#endif
-
-#include <atk/atk.h>
-#include <gtk/gtkwidget.h>
-
-G_BEGIN_DECLS
-
-#define GTK_TYPE_ACCESSIBLE (gtk_accessible_get_type ())
-
-#if !ATK_CHECK_VERSION(2, 37, 0)
-G_DEFINE_AUTOPTR_CLEANUP_FUNC(AtkObject, g_object_unref)
-#endif
-
-GDK_AVAILABLE_IN_ALL
-G_DECLARE_DERIVABLE_TYPE (GtkAccessible, gtk_accessible, GTK, ACCESSIBLE, AtkObject)
-
-struct _GtkAccessibleClass
-{
- AtkObjectClass parent_class;
-
- void (* widget_set) (GtkAccessible *accessible);
- void (* widget_unset) (GtkAccessible *accessible);
-
- gpointer _padding[8];
-};
-
-GDK_AVAILABLE_IN_ALL
-void gtk_accessible_set_widget (GtkAccessible *accessible,
- GtkWidget *widget);
-GDK_AVAILABLE_IN_ALL
-GtkWidget *gtk_accessible_get_widget (GtkAccessible *accessible);
-
-G_END_DECLS
-
-#endif /* __GTK_ACCESSIBLE_H__ */