Make GtkAccessible public
authorLukáš Tyrychtr <lukastyrychtr@gmail.com>
Mon, 12 Sep 2022 12:40:11 +0000 (14:40 +0200)
committerEmmanuele Bassi <ebassi@gnome.org>
Fri, 3 Feb 2023 10:49:17 +0000 (11:49 +0100)
Out of tree classes need to be able to implement the GtkAccessible
interface, in order to implement custom accessible objects.

Fixes: #4240
gtk/gtkaccessible.h
gtk/gtkaccessibleprivate.h
gtk/gtkatcontextprivate.h
gtk/gtktypes.h

index 17a31ba4a44c52c2a2823af406b9d868e2b6b9a4..4cbd9c34eeeac7f6c9a0ed5c684fdb3f3ea379c4 100644 (file)
@@ -35,6 +35,57 @@ G_BEGIN_DECLS
 GDK_AVAILABLE_IN_ALL
 G_DECLARE_INTERFACE (GtkAccessible, gtk_accessible, GTK, ACCESSIBLE, GObject)
 
+typedef enum {
+  GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSABLE,
+  GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSED,
+  GTK_ACCESSIBLE_PLATFORM_STATE_ACTIVE
+} GtkAccessiblePlatformState;
+
+typedef enum {
+  GTK_ACCESSIBLE_PLATFORM_CHANGE_FOCUSABLE = 1 << GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSABLE,
+  GTK_ACCESSIBLE_PLATFORM_CHANGE_FOCUSED   = 1 << GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSED,
+  GTK_ACCESSIBLE_PLATFORM_CHANGE_ACTIVE    = 1 << GTK_ACCESSIBLE_PLATFORM_STATE_ACTIVE,
+} GtkAccessiblePlatformChange;
+
+struct _GtkAccessibleInterface
+{
+  GTypeInterface g_iface;
+
+  GtkATContext *        (* get_at_context)      (GtkAccessible *self);
+
+  gboolean              (* get_platform_state)  (GtkAccessible              *self,
+                                                 GtkAccessiblePlatformState  state);
+
+  GtkAccessible *       (* get_parent)  (GtkAccessible *self);
+  GtkAccessible *       (* get_child_at_index)  (GtkAccessible *self, guint index);
+
+  gboolean              (* get_bounds) (GtkAccessible *self, int *x, int *y,
+                                        int *width, int *height);
+};
+
+GDK_AVAILABLE_IN_ALL
+GtkATContext *  gtk_accessible_get_at_context   (GtkAccessible *self);
+
+GDK_AVAILABLE_IN_ALL
+void            gtk_accessible_platform_changed (GtkAccessible                *self,
+                                                 GtkAccessiblePlatformChange   change);
+
+GDK_AVAILABLE_IN_ALL
+gboolean        gtk_accessible_get_platform_state (GtkAccessible              *self,
+                                                   GtkAccessiblePlatformState  state);
+
+GDK_AVAILABLE_IN_ALL
+GtkAccessible * gtk_accessible_get_parent(GtkAccessible *self);
+
+GDK_AVAILABLE_IN_ALL
+GtkAccessible * gtk_accessible_get_child_at_index(GtkAccessible *self, guint index);
+
+GDK_AVAILABLE_IN_ALL
+gboolean gtk_accessible_get_bounds (GtkAccessible *self, int *x, int *y, int *width, int *height);
+
+GDK_AVAILABLE_IN_ALL
+void            gtk_accessible_bounds_changed   (GtkAccessible *self);
+
 GDK_AVAILABLE_IN_ALL
 GtkAccessibleRole       gtk_accessible_get_accessible_role      (GtkAccessible         *self);
 
index dda06c67dd475c9f584b79af895a5e4b800f7698..7744d7afe27c210f5b41aa44cbfefb238aa25bdd 100644 (file)
 
 G_BEGIN_DECLS
 
-struct _GtkAccessibleInterface
-{
-  GTypeInterface g_iface;
-
-  GtkATContext *        (* get_at_context)      (GtkAccessible *self);
-
-  gboolean              (* get_platform_state)  (GtkAccessible              *self,
-                                                 GtkAccessiblePlatformState  state);
-
-  GtkAccessible *       (* get_parent)  (GtkAccessible *self);
-  GtkAccessible *       (* get_child_at_index)  (GtkAccessible *self, guint index);
-
-  gboolean              (* get_bounds) (GtkAccessible *self, int *x, int *y,
-                                        int *width, int *height);
-};
-
-GtkATContext *  gtk_accessible_get_at_context   (GtkAccessible *self);
-
 const char *    gtk_accessible_role_to_name     (GtkAccessibleRole  role,
                                                  const char        *domain);
 
@@ -50,19 +32,6 @@ gboolean gtk_accessible_role_is_range_subclass (GtkAccessibleRole role);
 
 gboolean        gtk_accessible_should_present   (GtkAccessible     *self);
 
-void            gtk_accessible_platform_changed (GtkAccessible                *self,
-                                                 GtkAccessiblePlatformChange   change);
-gboolean        gtk_accessible_get_platform_state (GtkAccessible              *self,
-                                                   GtkAccessiblePlatformState  state);
-
-GtkAccessible * gtk_accessible_get_parent(GtkAccessible *self);
-
-GtkAccessible * gtk_accessible_get_child_at_index(GtkAccessible *self, guint index);
-
-gboolean gtk_accessible_get_bounds (GtkAccessible *self, int *x, int *y, int *width, int *height);
-
-void            gtk_accessible_bounds_changed   (GtkAccessible *self);
-
 void            gtk_accessible_update_children  (GtkAccessible           *self,
                                                  GtkAccessible           *child,
                                                  GtkAccessibleChildState  state);
index c05c04948f3168d24f24ad62b959a6003725bec7..7808d133d367372a90967220ea6925a62f08baf1 100644 (file)
@@ -80,18 +80,6 @@ typedef enum {
   GTK_ACCESSIBLE_STATE_CHANGE_SELECTED = 1 << GTK_ACCESSIBLE_STATE_SELECTED
 } GtkAccessibleStateChange;
 
-typedef enum {
-  GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSABLE,
-  GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSED,
-  GTK_ACCESSIBLE_PLATFORM_STATE_ACTIVE
-} GtkAccessiblePlatformState;
-
-typedef enum {
-  GTK_ACCESSIBLE_PLATFORM_CHANGE_FOCUSABLE = 1 << GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSABLE,
-  GTK_ACCESSIBLE_PLATFORM_CHANGE_FOCUSED   = 1 << GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSED,
-  GTK_ACCESSIBLE_PLATFORM_CHANGE_ACTIVE    = 1 << GTK_ACCESSIBLE_PLATFORM_STATE_ACTIVE,
-} GtkAccessiblePlatformChange;
-
 typedef enum {
   GTK_ACCESSIBLE_CHILD_STATE_ADDED,
   GTK_ACCESSIBLE_CHILD_STATE_REMOVED
index 71afde94b06362c4521716757f5758eef4ecab61..36084c036d33ed2368a36ea3236668382dab5c88 100644 (file)
@@ -34,6 +34,7 @@
 G_BEGIN_DECLS
 
 typedef struct _GtkAdjustment          GtkAdjustment;
+typedef struct _GtkATContext           GtkATContext;
 typedef struct _GtkBitset              GtkBitset;
 typedef struct _GtkBuilder             GtkBuilder;
 typedef struct _GtkBuilderScope        GtkBuilderScope;