Make GtkAccessible public

Out of tree classes need to be able to implement the GtkAccessible
interface, in order to implement custom accessible objects.

Fixes: #4240
This commit is contained in:
Lukáš Tyrychtr 2022-09-12 14:40:11 +02:00 committed by Emmanuele Bassi
parent 5813a5cace
commit 58980e0b4a
4 changed files with 52 additions and 43 deletions

View 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);

View File

@ -25,24 +25,6 @@
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);

View 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

View 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;