File: gtkaccessibletext.h

package info (click to toggle)
gtk4 4.20.3%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 187,060 kB
  • sloc: ansic: 779,084; xml: 3,093; javascript: 3,054; python: 1,911; java: 752; sh: 682; makefile: 315; perl: 162; cpp: 21
file content (632 lines) | stat: -rw-r--r-- 19,536 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
/* gtkaccessibletext.h: Interface for accessible objects containing text
 *
 * SPDX-FileCopyrightText: 2023  Emmanuele Bassi
 * SPDX-License-Identifier: LGPL-2.1-or-later
 */

#pragma once

#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
#error "Only <gtk/gtk.h> can be included directly."
#endif

#include <gtk/gtkaccessible.h>
#include <graphene.h>

G_BEGIN_DECLS

#define GTK_TYPE_ACCESSIBLE_TEXT (gtk_accessible_text_get_type ())

/**
 * GtkAccessibleText:
 *
 * An interface for accessible objects containing formatted text.
 *
 * The `GtkAccessibleText` interfaces is meant to be implemented by accessible
 * objects that have text formatted with attributes, or non-trivial text contents.
 *
 * You should use the [enum@Gtk.AccessibleProperty.LABEL] or the
 * [enum@Gtk.AccessibleProperty.DESCRIPTION] properties for accessible
 * objects containing simple, unformatted text.
 *
 * Since: 4.14
 */
GDK_AVAILABLE_IN_4_14
G_DECLARE_INTERFACE (GtkAccessibleText, gtk_accessible_text, GTK, ACCESSIBLE_TEXT, GtkAccessible)

/**
 * GtkAccessibleTextRange:
 * @start: the start of the range, in characters
 * @length: the length of the range, in characters
 *
 * A range inside the text of an accessible object.
 *
 * Since: 4.14
 */
typedef struct {
  gsize start;
  gsize length;
} GtkAccessibleTextRange;

/**
 * GtkAccessibleTextGranularity:
 * @GTK_ACCESSIBLE_TEXT_GRANULARITY_CHARACTER: Use the boundary between
 *   characters (including non-printing characters)
 * @GTK_ACCESSIBLE_TEXT_GRANULARITY_WORD: Use the boundary between words,
 *   starting from the beginning of the current word and ending at the
 *   beginning of the next word
 * @GTK_ACCESSIBLE_TEXT_GRANULARITY_SENTENCE: Use the boundary between
 *   sentences, starting from the beginning of the current sentence and
 *   ending at the beginning of the next sentence
 * @GTK_ACCESSIBLE_TEXT_GRANULARITY_LINE: Use the boundary between lines,
 *   starting from the beginning of the current line and ending at the
 *   beginning of the next line
 * @GTK_ACCESSIBLE_TEXT_GRANULARITY_PARAGRAPH: Use the boundary between
 *   paragraphs, starting from the beginning of the current paragraph and
 *   ending at the beginning of the next paragraph
 *
 * The granularity for queries about the text contents of a [iface@Gtk.AccessibleText]
 * implementation.
 *
 * Since: 4.14
 */
typedef enum {
  GTK_ACCESSIBLE_TEXT_GRANULARITY_CHARACTER,
  GTK_ACCESSIBLE_TEXT_GRANULARITY_WORD,
  GTK_ACCESSIBLE_TEXT_GRANULARITY_SENTENCE,
  GTK_ACCESSIBLE_TEXT_GRANULARITY_LINE,
  GTK_ACCESSIBLE_TEXT_GRANULARITY_PARAGRAPH
} GtkAccessibleTextGranularity;

/**
 * GtkAccessibleTextContentChange:
 * @GTK_ACCESSIBLE_TEXT_CONTENT_CHANGE_INSERT: contents change as the result of
 *   an insert operation
 * @GTK_ACCESSIBLE_TEXT_CONTENT_CHANGE_REMOVE: contents change as the result of
 *   a remove operation
 *
 * The type of contents change operation.
 *
 * Since: 4.14
 */
typedef enum {
  GTK_ACCESSIBLE_TEXT_CONTENT_CHANGE_INSERT,
  GTK_ACCESSIBLE_TEXT_CONTENT_CHANGE_REMOVE
} GtkAccessibleTextContentChange;

/**
 * GtkAccessibleTextInterface:
 *
 * The interface vtable for accessible objects containing text.
 *
 * Since: 4.14
 */
struct _GtkAccessibleTextInterface
{
  /*< private >*/
  GTypeInterface g_iface;

  /*< public >*/

  /**
   * GtkAccessibleTextInterface::get_contents:
   * @self: the accessible object
   * @start: the beginning of the range, in characters
   * @end: the end of the range, in characters
   *
   * Retrieve the current contents of the accessible object within
   * the given range.
   *
   * If @end is `G_MAXUINT`, the end of the range is the full content
   * of the accessible object.
   *
   * Returns: (transfer full): the requested slice of the contents of the
   *   accessible object, as UTF-8. Note that the slice does not have to
   *   be NUL-terminated
   *
   * Since: 4.14
   */
  GBytes * (* get_contents) (GtkAccessibleText *self,
                             unsigned int       start,
                             unsigned int       end);

  /**
   * GtkAccessibleTextInterface::get_contents_at:
   * @self: the accessible object
   * @offset: the offset, in characters
   * @granularity: the granularity of the query
   * @start: (out): the start of the range, in characters
   * @end: (out): the end of the range, in characters
   *
   * Retrieve the current contents of the accessible object starting
   * from the given offset, and using the given granularity.
   *
   * The @start and @end values contain the boundaries of the text.
   *
   * Returns: (transfer full): the requested slice of the contents of the
   *   accessible object, as UTF-8. Note that the slice does not have to
   *   be NUL-terminated
   *
   * Since: 4.14
   */
  GBytes * (* get_contents_at) (GtkAccessibleText            *self,
                                unsigned int                  offset,
                                GtkAccessibleTextGranularity  granularity,
                                unsigned int                 *start,
                                unsigned int                 *end);

  /**
   * GtkAccessibleTextInterface::get_caret_position:
   * @self: the accessible object
   *
   * Retrieves the position of the caret inside the accessible object.
   *
   * Returns: the position of the caret, in characters
   *
   * Since: 4.14
   */
  unsigned int (* get_caret_position) (GtkAccessibleText *self);

  /**
   * GtkAccessibleTextInterface::get_selection:
   * @self: the accessible object
   * @n_ranges: (out): the number of selection ranges
   * @ranges: (optional) (out) (array length=n_ranges) (transfer container): the selection ranges
   *
   * Retrieves the selection ranges in the accessible object.
   *
   * If this function returns true, `n_ranges` will be set to a value
   * greater than or equal to one, and @ranges will be set to a newly
   * allocated array of [struct#Gtk.AccessibleTextRange].
   *
   * Returns: true if there is at least a selection inside the
   *   accessible object, and false otherwise
   *
   * Since: 4.14
   */
  gboolean (* get_selection) (GtkAccessibleText *self,
                              gsize *n_ranges,
                              GtkAccessibleTextRange **ranges);

  /**
   * GtkAccessibleTextInterface::get_attributes:
   * @self: the accessible object
   * @offset: the offset, in characters
   * @n_ranges: (out): the number of attributes
   * @ranges: (out) (array length=n_ranges) (optional) (transfer container): the ranges of the attributes
   *   inside the accessible object
   * @attribute_names: (out) (array zero-terminated=1) (optional) (transfer full): the
   *   names of the attributes inside the accessible object
   * @attribute_values: (out) (array zero-terminated=1) (optional) (transfer full): the
   *   values of the attributes inside the accessible object
   *
   * Retrieves the text attributes inside the accessible object.
   *
   * Each attribute is composed by:
   *
   * - a range
   * - a name
   * - a value
   *
   * It is left to the implementation to determine the serialization format
   * of the value to a string.
   *
   * GTK provides support for various text attribute names and values, but
   * implementations of this interface are free to add their own attributes.
   *
   * If this function returns true, `n_ranges` will be set to a value
   * greater than or equal to one, @ranges will be set to a newly
   * allocated array of [struct#Gtk.AccessibleTextRange].
   *
   * Returns: true if the accessible object has at least an attribute,
   *   and false otherwise
   *
   * Since: 4.14
   */
  gboolean (* get_attributes) (GtkAccessibleText *self,
                               unsigned int offset,
                               gsize *n_ranges,
                               GtkAccessibleTextRange **ranges,
                               char ***attribute_names,
                               char ***attribute_values);

  /**
   * GtkAccessibleTextInterface::get_default_attributes:
   * @self: the accessible object
   * @attribute_names: (out) (array zero-terminated=1) (optional) (transfer full): the
   *   names of the default attributes inside the accessible object
   * @attribute_values: (out) (array zero-terminated=1) (optional) (transfer full): the
   *   values of the default attributes inside the accessible object
   *
   * Retrieves the default text attributes inside the accessible object.
   *
   * Each attribute is composed by:
   *
   * - a name
   * - a value
   *
   * It is left to the implementation to determine the serialization format
   * of the value to a string.
   *
   * GTK provides support for various text attribute names and values, but
   * implementations of this interface are free to add their own attributes.
   *
   * Since: 4.14
   */
  void (* get_default_attributes) (GtkAccessibleText *self,
                                   char ***attribute_names,
                                   char ***attribute_values);

  /**
   * GtkAccessibleTextInterface::get_extents:
   * @self: the accessible object
   * @start: the start offset, in characters
   * @end: the end offset, in characters,
   * @extents (out caller-allocates): return location for the extents
   *
   * Obtains the extents of a range of text, in widget coordinates.
   *
   * Returns: true if the extents were filled in, false otherwise
   *
   * Since: 4.16
   */
  gboolean (* get_extents) (GtkAccessibleText *self,
                            unsigned int       start,
                            unsigned int       end,
                            graphene_rect_t   *extents);

  /**
   * GtkAccessibleTextInterface::get_offset:
   * @self: the accessible object
   * @point: a point in widget coordinates of @self
   * @offset: (out): return location for the text offset at @point
   *
   * Gets the text offset at a given point.
   *
   * Returns: true if the offset was set, false otherwise
   *
   * Since: 4.16
   */
  gboolean (* get_offset) (GtkAccessibleText      *self,
                           const graphene_point_t *point,
                           unsigned int           *offset);
};

GDK_AVAILABLE_IN_4_14
void gtk_accessible_text_update_caret_position (GtkAccessibleText *self);

GDK_AVAILABLE_IN_4_14
void gtk_accessible_text_update_selection_bound (GtkAccessibleText *self);

GDK_AVAILABLE_IN_4_14
void gtk_accessible_text_update_contents (GtkAccessibleText              *self,
                                          GtkAccessibleTextContentChange  change,
                                          unsigned int                    start,
                                          unsigned int                    end);

/**
 * GTK_ACCESSIBLE_ATTRIBUTE_FAMILY:
 *
 * An attribute for the font family name.
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_FAMILY                   "family-name"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_STYLE:
 *
 * An attribute for the font style.
 *
 * Possible values are:
 *
 * - [const@Gtk.ACCESSIBLE_ATTRIBUTE_STYLE_NORMAL]
 * - [const@Gtk.ACCESSIBLE_ATTRIBUTE_STYLE_OBLIQUE]
 * - [const@Gtk.ACCESSIBLE_ATTRIBUTE_STYLE_ITALIC]
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_STYLE                    "style"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_WEIGHT:
 *
 * An attribute for the font weight.
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_WEIGHT                   "weight"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_VARIANT:
 *
 * An attribute for the font variant.
 *
 * Possible values are:
 *
 * - [const@Gtk.ACCESSIBLE_ATTRIBUTE_VARIANT_SMALL_CAPS]
 * - [const@Gtk.ACCESSIBLE_ATTRIBUTE_VARIANT_ALL_SMALL_CAPS]
 * - [const@Gtk.ACCESSIBLE_ATTRIBUTE_VARIANT_PETITE_CAPS]
 * - [const@Gtk.ACCESSIBLE_ATTRIBUTE_VARIANT_ALL_PETITE_CAPS]
 * - [const@Gtk.ACCESSIBLE_ATTRIBUTE_VARIANT_UNICASE]
 * - [const@Gtk.ACCESSIBLE_ATTRIBUTE_VARIANT_TITLE_CAPS]
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_VARIANT                  "variant"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_STRETCH:
 *
 * An attribute for the font stretch type.
 *
 * Possible values are:
 *
 * - [const@Gtk.ACCESSIBLE_ATTRIBUTE_STRETCH_ULTRA_CONDENSED]
 * - [const@Gtk.ACCESSIBLE_ATTRIBUTE_STRETCH_EXTRA_CONDENSED]
 * - [const@Gtk.ACCESSIBLE_ATTRIBUTE_STRETCH_CONDENSED]
 * - [const@Gtk.ACCESSIBLE_ATTRIBUTE_STRETCH_SEMI_CONDENSED]
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_STRETCH                  "stretch"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_SIZE:
 *
 * An attribute for the font size, expressed in points.
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_SIZE                     "size"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_FOREGROUND:
 *
 * An attribute for the foreground color, expressed as an RGB value
 * encoded in a string using the format: `{r8},{g8},{b8}`.
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_FOREGROUND               "fg-color"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_BACKGROUND:
 *
 * An attribute for the background color, expressed as an RGB value
 * encoded in a string using the format: `{r8},{g8},{b8}`.
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_BACKGROUND               "bg-color"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE:
 *
 * An attribute for the underline style.
 *
 * Possible values are:
 *
 * - [const@Gtk.ACCESSIBLE_ATTRIBUTE_UNDERLINE_NONE]
 * - [const@Gtk.ACCESSIBLE_ATTRIBUTE_UNDERLINE_SINGLE]
 * - [const@Gtk.ACCESSIBLE_ATTRIBUTE_UNDERLINE_DOUBLE]
 * - [const@Gtk.ACCESSIBLE_ATTRIBUTE_UNDERLINE_ERROR]
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE                "underline"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_OVERLINE:
 *
 * An attribute for the overline style.
 *
 * Possible values are:
 *
 * - [const@Gtk.ACCESSIBLE_ATTRIBUTE_OVERLINE_NONE]
 * - [const@Gtk.ACCESSIBLE_ATTRIBUTE_OVERLINE_SINGLE]
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_OVERLINE                 "overline"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_STRIKETHROUGH:
 *
 * An attribute for strikethrough text.
 *
 * Possible values are `true` or `false`.
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_STRIKETHROUGH            "strikethrough"

/**
 * GTK_ACCESSIBLE_ATTRIBUTE_STYLE_NORMAL:
 *
 * The "normal" style value for [const@Gtk.ACCESSIBLE_ATTRIBUTE_STYLE].
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_STYLE_NORMAL             "normal"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_STYLE_OBLIQUE:
 *
 * The "oblique" style value for [const@Gtk.ACCESSIBLE_ATTRIBUTE_STYLE].
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_STYLE_OBLIQUE            "oblique"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_STYLE_ITALIC:
 *
 * The "italic" style value for [const@Gtk.ACCESSIBLE_ATTRIBUTE_STYLE].
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_STYLE_ITALIC             "italic"

/**
 * GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_SMALL_CAPS:
 *
 * The "small caps" variant value for [const@Gtk.ACCESSIBLE_ATTRIBUTE_VARIANT].
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_SMALL_CAPS       "small-caps"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_ALL_SMALL_CAPS:
 *
 * The "all small caps" variant value for [const@Gtk.ACCESSIBLE_ATTRIBUTE_VARIANT].
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_ALL_SMALL_CAPS   "all-small-caps"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_PETITE_CAPS:
 *
 * The "petite caps" variant value for [const@Gtk.ACCESSIBLE_ATTRIBUTE_VARIANT].
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_PETITE_CAPS      "petite-caps"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_ALL_PETITE_CAPS:
 *
 * The "all petite caps" variant value for [const@Gtk.ACCESSIBLE_ATTRIBUTE_VARIANT].
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_ALL_PETITE_CAPS  "all-petite-caps"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_UNICASE:
 *
 * The "unicase" variant value for [const@Gtk.ACCESSIBLE_ATTRIBUTE_VARIANT].
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_UNICASE          "unicase"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_TITLE_CAPS:
 *
 * The "title caps" variant value for [const@Gtk.ACCESSIBLE_ATTRIBUTE_VARIANT].
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_VARIANT_TITLE_CAPS       "title-caps"

/**
 * GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_ULTRA_CONDENSED:
 *
 * The "ultra condensed" stretch value for [const@Gtk.ACCESSIBLE_ATTRIBUTE_STRETCH].
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_ULTRA_CONDENSED  "ultra_condensed"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_EXTRA_CONDENSED:
 *
 * The "extra condensed" stretch value for [const@Gtk.ACCESSIBLE_ATTRIBUTE_STRETCH].
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_EXTRA_CONDENSED  "extra_condensed"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_CONDENSED:
 *
 * The "condensed" stretch value for [const@Gtk.ACCESSIBLE_ATTRIBUTE_STRETCH].
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_CONDENSED        "condensed"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_SEMI_CONDENSED:
 *
 * The "semi condensed" stretch value for [const@Gtk.ACCESSIBLE_ATTRIBUTE_STRETCH].
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_SEMI_CONDENSED   "semi_condensed"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_NORMAL:
 *
 * The "normal" stretch value for [const@Gtk.ACCESSIBLE_ATTRIBUTE_STRETCH].
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_NORMAL           "normal"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_SEMI_EXPANDED:
 *
 * The "semi expanded" stretch value for [const@Gtk.ACCESSIBLE_ATTRIBUTE_STRETCH].
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_SEMI_EXPANDED    "semi_expanded"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_EXPANDED:
 *
 * The "expanded" stretch value for [const@Gtk.ACCESSIBLE_ATTRIBUTE_STRETCH].
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_EXPANDED         "expanded"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_EXTRA_EXPANDED:
 *
 * The "extra expanded" stretch value for [const@Gtk.ACCESSIBLE_ATTRIBUTE_STRETCH].
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_EXTRA_EXPANDED   "extra_expanded"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_ULTRA_EXPANDED:
 *
 * The "ultra expanded" stretch value for [const@Gtk.ACCESSIBLE_ATTRIBUTE_STRETCH].
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_STRETCH_ULTRA_EXPANDED   "ultra_expanded"

/**
 * GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE_NONE:
 *
 * The "none" underline value for [const@Gtk.ACCESSIBLE_ATTRIBUTE_UNDERLINE].
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE_NONE           "none"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE_SINGLE:
 *
 * The "single" underline value for [const@Gtk.ACCESSIBLE_ATTRIBUTE_UNDERLINE].
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE_SINGLE         "single"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE_DOUBLE:
 *
 * The "double" underline value for [const@Gtk.ACCESSIBLE_ATTRIBUTE_UNDERLINE].
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE_DOUBLE         "double"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE_ERROR:
 *
 * The "error" underline value for [const@Gtk.ACCESSIBLE_ATTRIBUTE_UNDERLINE].
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE_ERROR          "error"

/**
 * GTK_ACCESSIBLE_ATTRIBUTE_OVERLINE_NONE:
 *
 * The "none" overline value for [const@Gtk.ACCESSIBLE_ATTRIBUTE_OVERLINE].
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_OVERLINE_NONE            "none"
/**
 * GTK_ACCESSIBLE_ATTRIBUTE_OVERLINE_SINGLE:
 *
 * The "single" overline value for [const@Gtk.ACCESSIBLE_ATTRIBUTE_OVERLINE].
 *
 * Since: 4.14
 */
#define GTK_ACCESSIBLE_ATTRIBUTE_OVERLINE_SINGLE          "single"


G_END_DECLS