diff options
author | Emmanuele Bassi <ebassi@gnome.org> | 2020-10-19 17:44:50 +0100 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gnome.org> | 2020-11-04 15:02:44 +0000 |
commit | 30210c7087bd635e6a84db33b37d10d83684ebad (patch) | |
tree | d24a3c55e669942c4867fc810bffbd2716d4e7b6 /gtk/gtkatcontextprivate.h | |
parent | 499e4b4c50e798fd917dc14e5a68bbd2b65a8135 (diff) | |
download | gtk+-30210c7087bd635e6a84db33b37d10d83684ebad.tar.gz |
a11y: Move ATContext to an explicit realization model
We are doing too much work during the construction phase of the
AT-SPI backend for GtkATContext. Instead of having the AtSpiContext
register itself at construction time, let's add explicit realize
and unrealize operations, and connect the ATContext realization to the
rooting operation of a GtkWidget.
Diffstat (limited to 'gtk/gtkatcontextprivate.h')
-rw-r--r-- | gtk/gtkatcontextprivate.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gtk/gtkatcontextprivate.h b/gtk/gtkatcontextprivate.h index 85d897be90..9f161e9f20 100644 --- a/gtk/gtkatcontextprivate.h +++ b/gtk/gtkatcontextprivate.h @@ -116,6 +116,8 @@ struct _GtkATContext GtkAccessiblePropertyChange updated_properties; GtkAccessibleRelationChange updated_relations; GtkAccessiblePlatformChange updated_platform; + + guint realized : 1; }; struct _GtkATContextClass @@ -138,10 +140,17 @@ struct _GtkATContextClass void (* child_change) (GtkATContext *self, GtkAccessibleChildChange changed_child, GtkAccessible *child); + + void (* realize) (GtkATContext *self); + void (* unrealize) (GtkATContext *self); }; GdkDisplay * gtk_at_context_get_display (GtkATContext *self); +void gtk_at_context_realize (GtkATContext *self); +void gtk_at_context_unrealize (GtkATContext *self); +gboolean gtk_at_context_is_realized (GtkATContext *self); + void gtk_at_context_update (GtkATContext *self); void gtk_at_context_set_accessible_state (GtkATContext *self, |