1/* gtkaccessible.h: Accessible interface
2 *
3 * Copyright 2020 GNOME Foundation
4 *
5 * SPDX-License-Identifier: LGPL-2.1-or-later
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, see <http://www.gnu.org/licenses/>.
19 */
20
21#pragma once
22
23#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
24#error "Only <gtk/gtk.h> can be included directly."
25#endif
26
27#include <glib-object.h>
28#include <gtk/gtktypes.h>
29#include <gtk/gtkenums.h>
30
31G_BEGIN_DECLS
32
33#define GTK_TYPE_ACCESSIBLE (gtk_accessible_get_type())
34
35GDK_AVAILABLE_IN_ALL
36G_DECLARE_INTERFACE (GtkAccessible, gtk_accessible, GTK, ACCESSIBLE, GObject)
37
38GDK_AVAILABLE_IN_ALL
39GtkAccessibleRole gtk_accessible_get_accessible_role (GtkAccessible *self);
40
41GDK_AVAILABLE_IN_ALL
42void gtk_accessible_update_state (GtkAccessible *self,
43 GtkAccessibleState first_state,
44 ...);
45GDK_AVAILABLE_IN_ALL
46void gtk_accessible_update_property (GtkAccessible *self,
47 GtkAccessibleProperty first_property,
48 ...);
49GDK_AVAILABLE_IN_ALL
50void gtk_accessible_update_relation (GtkAccessible *self,
51 GtkAccessibleRelation first_relation,
52 ...);
53GDK_AVAILABLE_IN_ALL
54void gtk_accessible_update_state_value (GtkAccessible *self,
55 int n_states,
56 GtkAccessibleState states[],
57 const GValue values[]);
58GDK_AVAILABLE_IN_ALL
59void gtk_accessible_update_property_value (GtkAccessible *self,
60 int n_properties,
61 GtkAccessibleProperty properties[],
62 const GValue values[]);
63GDK_AVAILABLE_IN_ALL
64void gtk_accessible_update_relation_value (GtkAccessible *self,
65 int n_relations,
66 GtkAccessibleRelation relations[],
67 const GValue values[]);
68
69GDK_AVAILABLE_IN_ALL
70void gtk_accessible_reset_state (GtkAccessible *self,
71 GtkAccessibleState state);
72GDK_AVAILABLE_IN_ALL
73void gtk_accessible_reset_property (GtkAccessible *self,
74 GtkAccessibleProperty property);
75GDK_AVAILABLE_IN_ALL
76void gtk_accessible_reset_relation (GtkAccessible *self,
77 GtkAccessibleRelation relation);
78
79GDK_AVAILABLE_IN_ALL
80void gtk_accessible_state_init_value (GtkAccessibleState state,
81 GValue *value);
82GDK_AVAILABLE_IN_ALL
83void gtk_accessible_property_init_value (GtkAccessibleProperty property,
84 GValue *value);
85GDK_AVAILABLE_IN_ALL
86void gtk_accessible_relation_init_value (GtkAccessibleRelation relation,
87 GValue *value);
88
89G_END_DECLS
90

source code of gtk/gtk/gtkaccessible.h