@girs/clutter-14 5.2.0 → 5.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1583 @@
1
+ /**
2
+ * The GIR-derived widget VOCABULARY for Clutter-14.
3
+ *
4
+ * GENERATED — do not edit. Provenance: Clutter-14 — dropped empty base(s): Atk.ImplementorIface
5
+ *
6
+ * 58 instantiable GTypes (of which 0 concrete widgets), 69 declarations, 43 enum nick unions, 0 slot candidates.
7
+ *
8
+ * Module-scoped exports only. There is no `JSX` namespace here, no tag spelling and
9
+ * no `on<Signal>` prop name: those are DIALECT, and every framework answers them
10
+ * differently. The shape to avoid is the GLOBAL AUGMENT — a `declare global` on
11
+ * `React.JSX` collides with every other library on a shared tag — while a
12
+ * module-scoped `JSX` behind a `jsxImportSource` does not. This package is used by
13
+ * projects that want nothing to do with JSX, so it emits neither; a consumer declaring
14
+ * a module-scoped namespace over these names is doing it right.
15
+ *
16
+ * Three things this is and `ConstructorProps` is not: WRITABLE-only (measured on
17
+ * Gtk-4.0, `ConstructorProps` offers 150 read-only properties across 68 classes as
18
+ * settable, and GTK's failure mode for writing one is exit 0), OPTIONAL, and keyed
19
+ * by the name GObject actually REGISTERED — the dashed spelling `g_object_set`,
20
+ * GtkBuilder XML and Blueprint all use.
21
+ *
22
+ * Signal handler types are not re-derived: `X.SignalSignatures`, which this package
23
+ * already emits for every class with the parent chain, every implemented interface
24
+ * and the `notify::` keys folded in, is what `Widgets[G]['signals']` points at.
25
+ */
26
+
27
+ import type Clutter from './clutter-14.js';
28
+ import type Cogl from '@girs/cogl-14';
29
+ import type GObject from '@girs/gobject-2.0';
30
+ import type Graphene from '@girs/graphene-1.0';
31
+ import type Mtk from '@girs/mtk-14';
32
+ import type Pango from '@girs/pango-1.0';
33
+ import type { GInitiallyUnownedConstructOnly, GInitiallyUnownedProps, GObjectConstructOnly, GObjectProps } from '@girs/gobject-2.0/vocabulary';
34
+ import type { PangoAlignmentNick, PangoEllipsizeModeNick, PangoWrapModeNick } from '@girs/pango-1.0/vocabulary';
35
+
36
+ // ---------------------------------------------------------------------------
37
+ // Enum nicks — the string vocabulary GObject registered, from GIR's `glib:nick`.
38
+ //
39
+ // Not derived from the member name. Substituting underscores for dashes is not a law:
40
+ // some nicks keep an underscore the substitution would have replaced, and only the
41
+ // attribute knows which. Gtk-4.0 and Adw-1 contradict no derivation at all, which is
42
+ // how a derived nick passes review and breaks elsewhere.
43
+ // Re-measure with `scripts/check-nick-derivation.mjs` in ts-for-gir.
44
+ // ---------------------------------------------------------------------------
45
+
46
+ export type ClutterActorAlignNick = 'fill' | 'start' | 'center' | 'end';
47
+ export type ClutterAlignAxisNick = 'x-axis' | 'y-axis' | 'both';
48
+ export type ClutterAnimationModeNick = 'custom-mode' | 'linear' | 'ease-in-quad' | 'ease-out-quad' | 'ease-in-out-quad' | 'ease-in-cubic' | 'ease-out-cubic' | 'ease-in-out-cubic' | 'ease-in-quart' | 'ease-out-quart' | 'ease-in-out-quart' | 'ease-in-quint' | 'ease-out-quint' | 'ease-in-out-quint' | 'ease-in-sine' | 'ease-out-sine' | 'ease-in-out-sine' | 'ease-in-expo' | 'ease-out-expo' | 'ease-in-out-expo' | 'ease-in-circ' | 'ease-out-circ' | 'ease-in-out-circ' | 'ease-in-elastic' | 'ease-out-elastic' | 'ease-in-out-elastic' | 'ease-in-back' | 'ease-out-back' | 'ease-in-out-back' | 'ease-in-bounce' | 'ease-out-bounce' | 'ease-in-out-bounce' | 'steps' | 'step-start' | 'step-end' | 'cubic-bezier' | 'ease' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'animation-last';
49
+ export type ClutterBindCoordinateNick = 'x' | 'y' | 'width' | 'height' | 'position' | 'size' | 'all';
50
+ export type ClutterButtonStateNick = 'released' | 'pressed';
51
+ export type ClutterColorspaceNick = 'unknown' | 'srgb' | 'bt2020';
52
+ export type ClutterContentGravityNick = 'top-left' | 'top' | 'top-right' | 'left' | 'center' | 'right' | 'bottom-left' | 'bottom' | 'bottom-right' | 'resize-fill' | 'resize-aspect';
53
+ export type ClutterEventPhaseNick = 'capture' | 'bubble';
54
+ export type ClutterEventTypeNick = 'nothing' | 'key-press' | 'key-release' | 'motion' | 'enter' | 'leave' | 'button-press' | 'button-release' | 'scroll' | 'touch-begin' | 'touch-update' | 'touch-end' | 'touch-cancel' | 'touchpad-pinch' | 'touchpad-swipe' | 'touchpad-hold' | 'proximity-in' | 'proximity-out' | 'pad-button-press' | 'pad-button-release' | 'pad-strip' | 'pad-ring' | 'device-added' | 'device-removed' | 'im-commit' | 'im-delete' | 'im-preedit' | 'event-last';
55
+ export type ClutterFrameClockModeNick = 'fixed' | 'variable';
56
+ export type ClutterFrameResultNick = 'pending-presented' | 'idle';
57
+ export type ClutterGestureStateNick = 'waiting' | 'possible' | 'recognizing' | 'completed' | 'cancelled' | 'clutter-n-gesture-states';
58
+ export type ClutterGestureTriggerEdgeNick = 'none' | 'after' | 'before';
59
+ export type ClutterGridPositionNick = 'left' | 'right' | 'top' | 'bottom';
60
+ export type ClutterInputAxisNick = 'ignore' | 'x' | 'y' | 'pressure' | 'xtilt' | 'ytilt' | 'wheel' | 'distance' | 'rotation' | 'slider' | 'last';
61
+ export type ClutterInputContentPurposeNick = 'normal' | 'alpha' | 'digits' | 'number' | 'phone' | 'url' | 'email' | 'name' | 'password' | 'date' | 'time' | 'datetime' | 'terminal';
62
+ export type ClutterInputDevicePadFeatureNick = 'button' | 'ring' | 'strip';
63
+ export type ClutterInputDevicePadSourceNick = 'unknown' | 'finger';
64
+ export type ClutterInputDeviceToolTypeNick = 'none' | 'pen' | 'eraser' | 'brush' | 'pencil' | 'airbrush' | 'mouse' | 'lens';
65
+ export type ClutterInputDeviceTypeNick = 'pointer-device' | 'keyboard-device' | 'extension-device' | 'joystick-device' | 'tablet-device' | 'touchpad-device' | 'touchscreen-device' | 'pen-device' | 'eraser-device' | 'cursor-device' | 'pad-device' | 'n-device-types';
66
+ export type ClutterInputModeNick = 'logical' | 'physical' | 'floating';
67
+ export type ClutterInputPanelStateNick = 'off' | 'on' | 'toggle';
68
+ export type ClutterKeyStateNick = 'released' | 'pressed';
69
+ export type ClutterLongPressStateNick = 'query' | 'activate' | 'cancel';
70
+ export type ClutterOrientationNick = 'horizontal' | 'vertical';
71
+ export type ClutterPanAxisNick = 'axis-none' | 'x-axis' | 'y-axis' | 'axis-auto';
72
+ export type ClutterPickModeNick = 'none' | 'reactive' | 'all';
73
+ export type ClutterPointerA11yDwellClickTypeNick = 'none' | 'primary' | 'secondary' | 'middle' | 'double' | 'drag';
74
+ export type ClutterPointerA11yDwellDirectionNick = 'none' | 'left' | 'right' | 'up' | 'down';
75
+ export type ClutterPointerA11yDwellModeNick = 'window' | 'gesture';
76
+ export type ClutterPointerA11yTimeoutTypeNick = 'secondary-click' | 'dwell' | 'gesture';
77
+ export type ClutterPreeditResetModeNick = 'clear' | 'commit';
78
+ export type ClutterRequestModeNick = 'height-for-width' | 'width-for-height' | 'content-size';
79
+ export type ClutterRotateAxisNick = 'x-axis' | 'y-axis' | 'z-axis';
80
+ export type ClutterScalingFilterNick = 'linear' | 'nearest' | 'trilinear';
81
+ export type ClutterScrollDirectionNick = 'up' | 'down' | 'left' | 'right' | 'smooth';
82
+ export type ClutterScrollSourceNick = 'unknown' | 'wheel' | 'finger' | 'continuous';
83
+ export type ClutterShaderTypeNick = 'vertex-shader' | 'fragment-shader';
84
+ export type ClutterSnapEdgeNick = 'top' | 'right' | 'bottom' | 'left';
85
+ export type ClutterStepModeNick = 'start' | 'end';
86
+ export type ClutterTextDirectionNick = 'default' | 'ltr' | 'rtl';
87
+ export type ClutterTimelineDirectionNick = 'forward' | 'backward';
88
+ export type ClutterTouchpadGesturePhaseNick = 'begin' | 'update' | 'end' | 'cancel';
89
+
90
+ // ---------------------------------------------------------------------------
91
+ // Property surfaces — one interface per GIR DECLARATION, mirroring GIR's own
92
+ // inheritance rather than flattening per widget.
93
+ //
94
+ // The interfaces are load-bearing, not tidiness: `GtkBox` declares four properties
95
+ // of its own and `orientation` is not among them — it lives on `Gtk.Orientable`,
96
+ // because GObject installs interface properties on the implementor at runtime while
97
+ // GIR keeps them once, on the interface.
98
+ // ---------------------------------------------------------------------------
99
+
100
+ /** Abstract class for event-related logic #ClutterAction is an abstract base class for event-related actions that modify the user interaction of a [class@Actor], just like [class@Constraint] is an abstr… */
101
+ export interface ClutterActionProps extends ClutterActorMetaProps {
102
+ }
103
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
104
+ export type ClutterActionConstructOnly = ClutterActorMetaConstructOnly;
105
+
106
+ /** The basic element of the scene graph The ClutterActor class is the basic element of the scene graph in Clutter, and it encapsulates the position, size, and transformations of a node in the graph. */
107
+ export interface ClutterActorProps extends GInitiallyUnownedProps, ClutterAnimatableProps {
108
+ /** Adds a #ClutterAction to the actor */
109
+ actions?: Clutter.Action;
110
+ /**
111
+ * Paints a solid fill of the actor's allocation using the specified color.
112
+ * @default #00000000
113
+ */
114
+ 'background-color'?: Clutter.Color;
115
+ /** Applies a transformation matrix on each child of an actor. */
116
+ 'child-transform'?: Graphene.Matrix;
117
+ /** The visible region of the actor, in actor-relative coordinates, expressed as a #graphene_rect_t. */
118
+ 'clip-rect'?: Graphene.Rect;
119
+ /**
120
+ * Whether the clip region should track the allocated area of the actor.
121
+ * @default FALSE
122
+ */
123
+ 'clip-to-allocation'?: boolean;
124
+ /** The #ClutterColorState contains the properties like colorspace for each actors. */
125
+ 'color-state'?: Clutter.ColorState;
126
+ /** Adds a #ClutterConstraint to the actor */
127
+ constraints?: Clutter.Constraint;
128
+ /** The #ClutterContent implementation that controls the content of the actor. */
129
+ content?: Clutter.Content;
130
+ /**
131
+ * The alignment that should be honoured by the #ClutterContent set with the [property@Clutter.Actor:content] property.
132
+ * @default CLUTTER_CONTENT_GRAVITY_RESIZE_FILL
133
+ */
134
+ 'content-gravity'?: ClutterContentGravityNick | Clutter.ContentGravity;
135
+ /**
136
+ * The repeat policy for the actor's [property@Clutter.Actor:content].
137
+ * @default CLUTTER_REPEAT_NONE
138
+ */
139
+ 'content-repeat'?: number;
140
+ /** Adds #ClutterEffect to the list of effects be applied on a #ClutterActor */
141
+ effect?: Clutter.Effect | null;
142
+ /**
143
+ * This flag controls whether the [property@Clutter.Actor:fixed-x] and [property@Clutter.Actor:fixed-y] properties are used
144
+ * @default FALSE
145
+ */
146
+ 'fixed-position-set'?: boolean;
147
+ /**
148
+ * The fixed X position of the actor in pixels.
149
+ * @default 0.000000
150
+ */
151
+ 'fixed-x'?: number;
152
+ /**
153
+ * The fixed Y position of the actor in pixels.
154
+ * @default 0.000000
155
+ */
156
+ 'fixed-y'?: number;
157
+ /**
158
+ * Height of the actor (in pixels).
159
+ * @default 0.000000
160
+ */
161
+ height?: number;
162
+ /** A delegate object for controlling the layout of the children of an actor. */
163
+ 'layout-manager'?: Clutter.LayoutManager;
164
+ /** @default CLUTTER_SCALING_FILTER_LINEAR */
165
+ 'magnification-filter'?: ClutterScalingFilterNick | Clutter.ScalingFilter;
166
+ /**
167
+ * The margin (in pixels) from the bottom of the actor.
168
+ * @default 0.000000
169
+ */
170
+ 'margin-bottom'?: number;
171
+ /**
172
+ * The margin (in pixels) from the left of the actor.
173
+ * @default 0.000000
174
+ */
175
+ 'margin-left'?: number;
176
+ /**
177
+ * The margin (in pixels) from the right of the actor.
178
+ * @default 0.000000
179
+ */
180
+ 'margin-right'?: number;
181
+ /**
182
+ * The margin (in pixels) from the top of the actor.
183
+ * @default 0.000000
184
+ */
185
+ 'margin-top'?: number;
186
+ /**
187
+ * A forced minimum height request for the actor, in pixels Writing this property sets the [property@Clutter.Actor:min-height-set] property as well, as a side effect.
188
+ * @default 0.000000
189
+ */
190
+ 'min-height'?: number;
191
+ /**
192
+ * This flag controls whether the [property@Clutter.Actor:min-height] property is used
193
+ * @default FALSE
194
+ */
195
+ 'min-height-set'?: boolean;
196
+ /**
197
+ * A forced minimum width request for the actor, in pixels Writing this property sets the [property@Clutter.Actor:min-width-set] property as well, as a side effect.
198
+ * @default 0.000000
199
+ */
200
+ 'min-width'?: number;
201
+ /**
202
+ * This flag controls whether the [property@Clutter.Actor:min-width] property is used
203
+ * @default FALSE
204
+ */
205
+ 'min-width-set'?: boolean;
206
+ /** @default CLUTTER_SCALING_FILTER_LINEAR */
207
+ 'minification-filter'?: ClutterScalingFilterNick | Clutter.ScalingFilter;
208
+ /**
209
+ * The name of the actor
210
+ * @default NULL
211
+ */
212
+ name?: string | null;
213
+ /**
214
+ * A forced natural height request for the actor, in pixels Writing this property sets the [property@Clutter.Actor:natural-height-set] property as well, as a side effect.
215
+ * @default 0.000000
216
+ */
217
+ 'natural-height'?: number;
218
+ /**
219
+ * This flag controls whether the [property@Clutter.Actor:natural-height] property is used
220
+ * @default FALSE
221
+ */
222
+ 'natural-height-set'?: boolean;
223
+ /**
224
+ * A forced natural width request for the actor, in pixels Writing this property sets the [property@Clutter.Actor:natural-width-set] property as well, as a side effect.
225
+ * @default 0.000000
226
+ */
227
+ 'natural-width'?: number;
228
+ /**
229
+ * This flag controls whether the [property@Clutter.Actor:natural-width] property is used
230
+ * @default FALSE
231
+ */
232
+ 'natural-width-set'?: boolean;
233
+ /**
234
+ * Determines the conditions in which the actor will be redirected to an offscreen framebuffer while being painted.
235
+ * @default 0
236
+ */
237
+ 'offscreen-redirect'?: number;
238
+ /**
239
+ * Opacity of an actor, between 0 (fully transparent) and 255 (fully opaque) The [property@Clutter.Actor:opacity] property is animatable.
240
+ * @default 255
241
+ */
242
+ opacity?: number;
243
+ /** The point around which the scaling and rotation transformations occur. */
244
+ 'pivot-point'?: Graphene.Point;
245
+ /**
246
+ * The Z component of the [property@Clutter.Actor:pivot-point], expressed as a value along the Z axis.
247
+ * @default 0.000000
248
+ */
249
+ 'pivot-point-z'?: number;
250
+ /** The position of the origin of the actor. */
251
+ position?: Graphene.Point;
252
+ /**
253
+ * Whether the actor is reactive to events or not Only reactive actors will emit event-related signals
254
+ * @default FALSE
255
+ */
256
+ reactive?: boolean;
257
+ /**
258
+ * Request mode for the #ClutterActor.
259
+ * @default CLUTTER_REQUEST_HEIGHT_FOR_WIDTH
260
+ */
261
+ 'request-mode'?: ClutterRequestModeNick | Clutter.RequestMode;
262
+ /**
263
+ * The rotation angle on the X axis.
264
+ * @default 0.000000
265
+ */
266
+ 'rotation-angle-x'?: number;
267
+ /**
268
+ * The rotation angle on the Y axis The [property@Clutter.Actor:rotation-angle-y] property is animatable.
269
+ * @default 0.000000
270
+ */
271
+ 'rotation-angle-y'?: number;
272
+ /**
273
+ * The rotation angle on the Z axis The [property@Clutter.Actor:rotation-angle-z] property is animatable.
274
+ * @default 0.000000
275
+ */
276
+ 'rotation-angle-z'?: number;
277
+ /**
278
+ * The horizontal scale of the actor.
279
+ * @default 1.000000
280
+ */
281
+ 'scale-x'?: number;
282
+ /**
283
+ * The vertical scale of the actor.
284
+ * @default 1.000000
285
+ */
286
+ 'scale-y'?: number;
287
+ /**
288
+ * The scale factor of the actor along the Z axis.
289
+ * @default 1.000000
290
+ */
291
+ 'scale-z'?: number;
292
+ /**
293
+ * If %TRUE, the actor is automatically shown when parented.
294
+ * @default TRUE
295
+ */
296
+ 'show-on-set-parent'?: boolean;
297
+ /** The size of the actor. */
298
+ size?: Graphene.Size;
299
+ /**
300
+ * The direction of the text inside a #ClutterActor.
301
+ * @default CLUTTER_TEXT_DIRECTION_LTR
302
+ */
303
+ 'text-direction'?: ClutterTextDirectionNick | Clutter.TextDirection;
304
+ /** Overrides the transformations of a #ClutterActor with a custom matrix. */
305
+ transform?: Graphene.Matrix;
306
+ /**
307
+ * An additional translation applied along the X axis, relative to the actor's [property@Clutter.Actor:pivot-point].
308
+ * @default 0.000000
309
+ */
310
+ 'translation-x'?: number;
311
+ /**
312
+ * An additional translation applied along the Y axis, relative to the actor's [property@Clutter.Actor:pivot-point].
313
+ * @default 0.000000
314
+ */
315
+ 'translation-y'?: number;
316
+ /**
317
+ * An additional translation applied along the Z axis, relative to the actor's [property@Clutter.Actor:pivot-point].
318
+ * @default 0.000000
319
+ */
320
+ 'translation-z'?: number;
321
+ /**
322
+ * Whether the actor is set to be visible or not See also [property@Clutter.Actor:mapped]
323
+ * @default FALSE
324
+ */
325
+ visible?: boolean;
326
+ /**
327
+ * Width of the actor (in pixels).
328
+ * @default 0.000000
329
+ */
330
+ width?: number;
331
+ /**
332
+ * X coordinate of the actor in pixels.
333
+ * @default 0.000000
334
+ */
335
+ x?: number;
336
+ /**
337
+ * The alignment of an actor on the X axis, if the actor has been given extra space for its allocation.
338
+ * @default CLUTTER_ACTOR_ALIGN_FILL
339
+ */
340
+ 'x-align'?: ClutterActorAlignNick | Clutter.ActorAlign;
341
+ /**
342
+ * Whether a layout manager should assign more space to the actor on the X axis.
343
+ * @default FALSE
344
+ */
345
+ 'x-expand'?: boolean;
346
+ /**
347
+ * Y coordinate of the actor in pixels.
348
+ * @default 0.000000
349
+ */
350
+ y?: number;
351
+ /**
352
+ * The alignment of an actor on the Y axis, if the actor has been given extra space for its allocation.
353
+ * @default CLUTTER_ACTOR_ALIGN_FILL
354
+ */
355
+ 'y-align'?: ClutterActorAlignNick | Clutter.ActorAlign;
356
+ /**
357
+ * Whether a layout manager should assign more space to the actor on the Y axis.
358
+ * @default FALSE
359
+ */
360
+ 'y-expand'?: boolean;
361
+ /**
362
+ * The actor's position on the Z axis, relative to the parent's transformations.
363
+ * @default 0.000000
364
+ */
365
+ 'z-position'?: number;
366
+ }
367
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
368
+ export type ClutterActorConstructOnly = GInitiallyUnownedConstructOnly | ClutterAnimatableConstructOnly;
369
+
370
+ /** Base class of actor modifiers #ClutterActorMeta is an abstract class providing a common API for modifiers of [class@Actor] behaviour, appearance or layout. */
371
+ export interface ClutterActorMetaProps extends GInitiallyUnownedProps {
372
+ /**
373
+ * Whether or not the #ClutterActorMeta is enabled
374
+ * @default TRUE
375
+ */
376
+ enabled?: boolean;
377
+ /**
378
+ * The unique name to access the #ClutterActorMeta
379
+ * @default NULL
380
+ */
381
+ name?: string;
382
+ }
383
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
384
+ export type ClutterActorMetaConstructOnly = GInitiallyUnownedConstructOnly;
385
+
386
+ export interface ClutterActorNodeProps extends ClutterPaintNodeProps {
387
+ }
388
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
389
+ export type ClutterActorNodeConstructOnly = ClutterPaintNodeConstructOnly;
390
+
391
+ /** A constraint aligning the position of an actor #ClutterAlignConstraint is a [class@Constraint] that aligns the position of the [class@Actor] to which it is applied to the size of another [class@Actor… */
392
+ export interface ClutterAlignConstraintProps extends ClutterConstraintProps {
393
+ /**
394
+ * The axis to be used to compute the alignment
395
+ * @default CLUTTER_ALIGN_X_AXIS
396
+ */
397
+ 'align-axis'?: ClutterAlignAxisNick | Clutter.AlignAxis;
398
+ /**
399
+ * The alignment factor, as a normalized value between 0.0 and 1.0 The factor depends on the #ClutterAlignConstraint:align-axis property: with an align-axis value of %CLUTTER_ALIGN_X_AXIS, 0.0 means lef…
400
+ * @default 0.000000
401
+ */
402
+ factor?: number;
403
+ /** The pivot point used by the constraint. */
404
+ 'pivot-point'?: Graphene.Point;
405
+ /** The #ClutterActor used as the source for the alignment. */
406
+ source?: Clutter.Actor;
407
+ }
408
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
409
+ export type ClutterAlignConstraintConstructOnly = ClutterConstraintConstructOnly;
410
+
411
+ /** Interface for animatable classes #ClutterAnimatable is an interface that allows a [class@GObject.Object] class to control how an actor will animate a property. */
412
+ export interface ClutterAnimatableProps extends GObjectProps {
413
+ }
414
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
415
+ export type ClutterAnimatableConstructOnly = GObjectConstructOnly;
416
+
417
+ /** A simple layout manager #ClutterBinLayout is a layout manager which implements the following policy: - the preferred size is the maximum preferred size between all the children of the container using… */
418
+ export interface ClutterBinLayoutProps extends ClutterLayoutManagerProps {
419
+ }
420
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
421
+ export type ClutterBinLayoutConstructOnly = ClutterLayoutManagerConstructOnly;
422
+
423
+ /** A constraint binding the position or size of an actor #ClutterBindConstraint is a [class@Constraint] that binds the position or the size of the [class@Actor] to which it is applied to the the positio… */
424
+ export interface ClutterBindConstraintProps extends ClutterConstraintProps {
425
+ /**
426
+ * The coordinate to be bound
427
+ * @default CLUTTER_BIND_X
428
+ */
429
+ coordinate?: ClutterBindCoordinateNick | Clutter.BindCoordinate;
430
+ /**
431
+ * The offset, in pixels, to be applied to the binding
432
+ * @default 0.000000
433
+ */
434
+ offset?: number;
435
+ /** The #ClutterActor used as the source for the binding. */
436
+ source?: Clutter.Actor;
437
+ }
438
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
439
+ export type ClutterBindConstraintConstructOnly = ClutterConstraintConstructOnly;
440
+
441
+ /** Pool for key bindings #ClutterBindingPool is a data structure holding a set of key bindings. */
442
+ export interface ClutterBindingPoolProps extends GObjectProps {
443
+ /**
444
+ * The unique name of the #ClutterBindingPool.
445
+ * @default NULL
446
+ */
447
+ name?: string;
448
+ }
449
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
450
+ export type ClutterBindingPoolConstructOnly = GObjectConstructOnly | 'name';
451
+
452
+ export interface ClutterBlitNodeProps extends ClutterPaintNodeProps {
453
+ }
454
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
455
+ export type ClutterBlitNodeConstructOnly = ClutterPaintNodeConstructOnly;
456
+
457
+ /** A blur effect #ClutterBlurEffect is a sub-class of #ClutterEffect that allows blurring a actor and its contents. */
458
+ export interface ClutterBlurEffectProps extends ClutterOffscreenEffectProps {
459
+ }
460
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
461
+ export type ClutterBlurEffectConstructOnly = ClutterOffscreenEffectConstructOnly;
462
+
463
+ export interface ClutterBlurNodeProps extends ClutterLayerNodeProps {
464
+ }
465
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
466
+ export type ClutterBlurNodeConstructOnly = ClutterLayerNodeConstructOnly;
467
+
468
+ /** A layout manager arranging children on a single line The #ClutterBoxLayout is a [class@Clutter.LayoutManager] implementing the following layout policy: - all children are arranged on a single line - … */
469
+ export interface ClutterBoxLayoutProps extends ClutterLayoutManagerProps {
470
+ /**
471
+ * Whether the #ClutterBoxLayout should arrange its children homogeneously, i.e.
472
+ * @default FALSE
473
+ */
474
+ homogeneous?: boolean;
475
+ /**
476
+ * The orientation of the #ClutterBoxLayout, either horizontal or vertical
477
+ * @default CLUTTER_ORIENTATION_HORIZONTAL
478
+ */
479
+ orientation?: ClutterOrientationNick | Clutter.Orientation;
480
+ /**
481
+ * The spacing between children of the #ClutterBoxLayout, in pixels
482
+ * @default 0
483
+ */
484
+ spacing?: number;
485
+ }
486
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
487
+ export type ClutterBoxLayoutConstructOnly = ClutterLayoutManagerConstructOnly;
488
+
489
+ /** Increase/decrease brightness and/or contrast of actor. */
490
+ export interface ClutterBrightnessContrastEffectProps extends ClutterOffscreenEffectProps {
491
+ /**
492
+ * The brightness change to apply to the effect.
493
+ * @default #7f7f7fff
494
+ */
495
+ brightness?: Clutter.Color;
496
+ /**
497
+ * The contrast change to apply to the effect.
498
+ * @default #7f7f7fff
499
+ */
500
+ contrast?: Clutter.Color;
501
+ }
502
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
503
+ export type ClutterBrightnessContrastEffectConstructOnly = ClutterOffscreenEffectConstructOnly;
504
+
505
+ /** Action for clickable actors #ClutterClickAction is a sub-class of [class@Action] that implements the logic for clickable actors, by using the low level events of [class@Actor], such as [signal@Actor:… */
506
+ export interface ClutterClickActionProps extends ClutterActionProps {
507
+ /**
508
+ * The minimum duration of a press for it to be recognized as a long press gesture, in milliseconds.
509
+ * @default -1
510
+ */
511
+ 'long-press-duration'?: number;
512
+ /**
513
+ * The maximum allowed distance that can be covered (on both axes) before a long press gesture is cancelled, in pixels.
514
+ * @default -1
515
+ */
516
+ 'long-press-threshold'?: number;
517
+ }
518
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
519
+ export type ClutterClickActionConstructOnly = ClutterActionConstructOnly;
520
+
521
+ export interface ClutterClipNodeProps extends ClutterPaintNodeProps {
522
+ }
523
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
524
+ export type ClutterClipNodeConstructOnly = ClutterPaintNodeConstructOnly;
525
+
526
+ /** An actor that displays a clone of a source actor #ClutterClone is a [class@Clutter.Actor] which draws with the paint function of another actor, scaled to fit its own allocation. */
527
+ export interface ClutterCloneProps extends ClutterActorProps, ClutterAnimatableProps {
528
+ /** This property specifies the source actor being cloned. */
529
+ source?: Clutter.Actor;
530
+ }
531
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
532
+ export type ClutterCloneConstructOnly = ClutterActorConstructOnly | ClutterAnimatableConstructOnly;
533
+
534
+ export interface ClutterColorNodeProps extends ClutterPipelineNodeProps {
535
+ }
536
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
537
+ export type ClutterColorNodeConstructOnly = ClutterPipelineNodeConstructOnly;
538
+
539
+ /** Color state of each ClutterActor The #ClutterColorState class contains the colorspace of each color states (e.g. */
540
+ export interface ClutterColorStateProps extends GObjectProps {
541
+ /**
542
+ * Colorspace information of the each color state, defaults to sRGB colorspace
543
+ * @default CLUTTER_COLORSPACE_SRGB
544
+ */
545
+ colorspace?: ClutterColorspaceNick | Clutter.Colorspace;
546
+ }
547
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
548
+ export type ClutterColorStateConstructOnly = GObjectConstructOnly | 'colorspace';
549
+
550
+ /** A colorization effect #ClutterColorizeEffect is a sub-class of #ClutterEffect that colorizes an actor with the given tint. */
551
+ export interface ClutterColorizeEffectProps extends ClutterOffscreenEffectProps {
552
+ /**
553
+ * The tint to apply to the actor
554
+ * @default #ffcc99ff
555
+ */
556
+ tint?: Clutter.Color;
557
+ }
558
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
559
+ export type ClutterColorizeEffectConstructOnly = ClutterOffscreenEffectConstructOnly;
560
+
561
+ /** Abstract class for constraints on position or size #ClutterConstraint is a base abstract class for modifiers of a #ClutterActor position or size. */
562
+ export interface ClutterConstraintProps extends ClutterActorMetaProps {
563
+ }
564
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
565
+ export type ClutterConstraintConstructOnly = ClutterActorMetaConstructOnly;
566
+
567
+ /** Delegate for painting the content of an actor #ClutterContent is an interface to implement types responsible for painting the content of a [class@Actor]. */
568
+ export interface ClutterContentProps extends GObjectProps {
569
+ }
570
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
571
+ export type ClutterContentConstructOnly = GObjectConstructOnly;
572
+
573
+ export interface ClutterContextProps extends GObjectProps {
574
+ }
575
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
576
+ export type ClutterContextConstructOnly = GObjectConstructOnly;
577
+
578
+ /** A base class for effects deforming the geometry of an actor #ClutterDeformEffect is an abstract class providing all the plumbing for creating effects that result in the deformation of an actor's geom… */
579
+ export interface ClutterDeformEffectProps extends ClutterOffscreenEffectProps {
580
+ /** A material to be used when painting the back of the actor to which this effect has been applied By default, no material will be used */
581
+ 'back-material'?: Cogl.Pipeline;
582
+ /**
583
+ * The number of horizontal tiles.
584
+ * @default 32
585
+ */
586
+ 'x-tiles'?: number;
587
+ /**
588
+ * The number of vertical tiles.
589
+ * @default 32
590
+ */
591
+ 'y-tiles'?: number;
592
+ }
593
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
594
+ export type ClutterDeformEffectConstructOnly = ClutterOffscreenEffectConstructOnly;
595
+
596
+ /** A desaturation effect #ClutterDesaturateEffect is a sub-class of #ClutterEffect that desaturates the color of an actor and its contents. */
597
+ export interface ClutterDesaturateEffectProps extends ClutterOffscreenEffectProps {
598
+ /**
599
+ * The desaturation factor, between 0.0 (no desaturation) and 1.0 (full desaturation).
600
+ * @default 1.000000
601
+ */
602
+ factor?: number;
603
+ }
604
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
605
+ export type ClutterDesaturateEffectConstructOnly = ClutterOffscreenEffectConstructOnly;
606
+
607
+ /** Base class for actor effects The #ClutterEffect class provides a default type and API for creating effects for generic actors. */
608
+ export interface ClutterEffectProps extends ClutterActorMetaProps {
609
+ }
610
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
611
+ export type ClutterEffectConstructOnly = ClutterActorMetaConstructOnly;
612
+
613
+ /** A fixed layout manager #ClutterFixedLayout is a layout manager implementing the same layout policies as #ClutterGroup. */
614
+ export interface ClutterFixedLayoutProps extends ClutterLayoutManagerProps {
615
+ }
616
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
617
+ export type ClutterFixedLayoutConstructOnly = ClutterLayoutManagerConstructOnly;
618
+
619
+ /** A reflowing layout manager #ClutterFlowLayout is a layout manager which implements the following policy: - the preferred natural size depends on the value of the #ClutterFlowLayout:orientation proper… */
620
+ export interface ClutterFlowLayoutProps extends ClutterLayoutManagerProps {
621
+ /**
622
+ * The spacing between columns, in pixels; the value of this property is honoured by horizontal non-overflowing layouts and by vertical overflowing layouts
623
+ * @default 0.000000
624
+ */
625
+ 'column-spacing'?: number;
626
+ /**
627
+ * Whether each child inside the #ClutterFlowLayout should receive the same allocation
628
+ * @default FALSE
629
+ */
630
+ homogeneous?: boolean;
631
+ /**
632
+ * Maximum width for each column in the layout, in pixels.
633
+ * @default -1.000000
634
+ */
635
+ 'max-column-width'?: number;
636
+ /**
637
+ * Maximum height for each row in the layout, in pixels.
638
+ * @default -1.000000
639
+ */
640
+ 'max-row-height'?: number;
641
+ /**
642
+ * Minimum width for each column in the layout, in pixels
643
+ * @default 0.000000
644
+ */
645
+ 'min-column-width'?: number;
646
+ /**
647
+ * Minimum height for each row in the layout, in pixels
648
+ * @default 0.000000
649
+ */
650
+ 'min-row-height'?: number;
651
+ /**
652
+ * The orientation of the #ClutterFlowLayout.
653
+ * @default CLUTTER_ORIENTATION_HORIZONTAL
654
+ */
655
+ orientation?: ClutterOrientationNick | Clutter.Orientation;
656
+ /**
657
+ * The spacing between rows, in pixels; the value of this property is honoured by vertical non-overflowing layouts and by horizontal overflowing layouts
658
+ * @default 0.000000
659
+ */
660
+ 'row-spacing'?: number;
661
+ /**
662
+ * Whether the #ClutterFlowLayout should arrange its children on a grid
663
+ * @default TRUE
664
+ */
665
+ 'snap-to-grid'?: boolean;
666
+ }
667
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
668
+ export type ClutterFlowLayoutConstructOnly = ClutterLayoutManagerConstructOnly;
669
+
670
+ export interface ClutterFrameClockProps extends GObjectProps {
671
+ }
672
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
673
+ export type ClutterFrameClockConstructOnly = GObjectConstructOnly;
674
+
675
+ /** Action for gesture gestures #ClutterGestureAction is a sub-class of [class@Action] that implements the logic for recognizing gesture gestures. */
676
+ export interface ClutterGestureActionProps extends ClutterActionProps {
677
+ /**
678
+ * Number of touch points to trigger a gesture action.
679
+ * @default 1
680
+ */
681
+ 'n-touch-points'?: number;
682
+ /**
683
+ * The horizontal trigger distance to be used by the action to either emit the [signal@GestureAction::gesture-begin] signal or to emit the [signal@GestureAction::gesture-cancel] signal.
684
+ * @default -1.000000
685
+ */
686
+ 'threshold-trigger-distance-x'?: number;
687
+ /**
688
+ * The vertical trigger distance to be used by the action to either emit the [signal@GestureAction::gesture-begin] signal or to emit the [signal@GestureAction::gesture-cancel] signal.
689
+ * @default -1.000000
690
+ */
691
+ 'threshold-trigger-distance-y'?: number;
692
+ /**
693
+ * The trigger edge to be used by the action to either emit the [signal@GestureAction::gesture-begin] signal or to emit the [signal@GestureAction::gesture-cancel] signal.
694
+ * @default CLUTTER_GESTURE_TRIGGER_EDGE_NONE
695
+ */
696
+ 'threshold-trigger-edge'?: ClutterGestureTriggerEdgeNick | Clutter.GestureTriggerEdge;
697
+ }
698
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
699
+ export type ClutterGestureActionConstructOnly = ClutterActionConstructOnly | 'threshold-trigger-distance-x' | 'threshold-trigger-distance-y' | 'threshold-trigger-edge';
700
+
701
+ export interface ClutterGrabProps extends GObjectProps {
702
+ }
703
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
704
+ export type ClutterGrabConstructOnly = GObjectConstructOnly;
705
+
706
+ /** A layout manager for a grid of actors #ClutterGridLayout is a layout manager which arranges its child widgets in rows and columns. */
707
+ export interface ClutterGridLayoutProps extends ClutterLayoutManagerProps {
708
+ /**
709
+ * Whether all columns of the layout should have the same width
710
+ * @default FALSE
711
+ */
712
+ 'column-homogeneous'?: boolean;
713
+ /**
714
+ * The amount of space in pixels between two consecutive columns
715
+ * @default 0
716
+ */
717
+ 'column-spacing'?: number;
718
+ /**
719
+ * The orientation of the layout, either horizontal or vertical
720
+ * @default CLUTTER_ORIENTATION_HORIZONTAL
721
+ */
722
+ orientation?: ClutterOrientationNick | Clutter.Orientation;
723
+ /**
724
+ * Whether all rows of the layout should have the same height
725
+ * @default FALSE
726
+ */
727
+ 'row-homogeneous'?: boolean;
728
+ /**
729
+ * The amount of space in pixels between two consecutive rows
730
+ * @default 0
731
+ */
732
+ 'row-spacing'?: number;
733
+ }
734
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
735
+ export type ClutterGridLayoutConstructOnly = ClutterLayoutManagerConstructOnly;
736
+
737
+ /** Image data content #ClutterImage is a #ClutterContent implementation that displays image data inside a [class@Actor]. */
738
+ export interface ClutterImageProps extends GObjectProps, ClutterContentProps {
739
+ }
740
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
741
+ export type ClutterImageConstructOnly = GObjectConstructOnly | ClutterContentConstructOnly;
742
+
743
+ /** An input device managed by Clutter #ClutterInputDevice represents an input device known to Clutter. */
744
+ export interface ClutterInputDeviceProps extends GObjectProps {
745
+ /**
746
+ * The capabilities of the device
747
+ * @default CLUTTER_INPUT_CAPABILITY_NONE
748
+ */
749
+ capabilities?: number;
750
+ /** @default CLUTTER_INPUT_MODE_FLOATING */
751
+ 'device-mode'?: ClutterInputModeNick | Clutter.InputMode;
752
+ /** @default NULL */
753
+ 'device-node'?: string;
754
+ /**
755
+ * The type of the device
756
+ * @default CLUTTER_POINTER_DEVICE
757
+ */
758
+ 'device-type'?: ClutterInputDeviceTypeNick | Clutter.InputDeviceType;
759
+ /**
760
+ * Whether the device has an on screen cursor following its movement.
761
+ * @default FALSE
762
+ */
763
+ 'has-cursor'?: boolean;
764
+ /** @default 0 */
765
+ 'n-buttons'?: number;
766
+ /** @default 0 */
767
+ 'n-mode-groups'?: number;
768
+ /** @default 0 */
769
+ 'n-rings'?: number;
770
+ /** @default 0 */
771
+ 'n-strips'?: number;
772
+ /**
773
+ * The name of the device
774
+ * @default NULL
775
+ */
776
+ name?: string;
777
+ /**
778
+ * Product ID of this device.2
779
+ * @default NULL
780
+ */
781
+ 'product-id'?: string;
782
+ /** The #ClutterSeat instance which owns the device */
783
+ seat?: Clutter.Seat;
784
+ /**
785
+ * Vendor ID of this device.2
786
+ * @default NULL
787
+ */
788
+ 'vendor-id'?: string;
789
+ }
790
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
791
+ export type ClutterInputDeviceConstructOnly = GObjectConstructOnly | 'capabilities' | 'device-mode' | 'device-node' | 'device-type' | 'has-cursor' | 'n-buttons' | 'n-mode-groups' | 'n-rings' | 'n-strips' | 'name' | 'product-id' | 'seat' | 'vendor-id';
792
+
793
+ /** An object holding an interval of two values #ClutterInterval is a simple object that can hold two values defining an interval. */
794
+ export interface ClutterIntervalProps extends GInitiallyUnownedProps {
795
+ /** The final value of the interval. */
796
+ final?: GObject.Value;
797
+ /** The initial value of the interval. */
798
+ initial?: GObject.Value;
799
+ /** The type of the values in the interval. */
800
+ 'value-type'?: GObject.GType;
801
+ }
802
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
803
+ export type ClutterIntervalConstructOnly = GInitiallyUnownedConstructOnly | 'value-type';
804
+
805
+ /** Keyframe property transition #ClutterKeyframeTransition allows animating a property by defining "key frames": values at a normalized position on the transition duration. */
806
+ export interface ClutterKeyframeTransitionProps extends ClutterPropertyTransitionProps {
807
+ }
808
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
809
+ export type ClutterKeyframeTransitionConstructOnly = ClutterPropertyTransitionConstructOnly;
810
+
811
+ export interface ClutterLayerNodeProps extends ClutterPaintNodeProps {
812
+ }
813
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
814
+ export type ClutterLayerNodeConstructOnly = ClutterPaintNodeConstructOnly;
815
+
816
+ /** Layout managers base class #ClutterLayoutManager is a base abstract class for layout managers. */
817
+ export interface ClutterLayoutManagerProps extends GInitiallyUnownedProps {
818
+ }
819
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
820
+ export type ClutterLayoutManagerConstructOnly = GInitiallyUnownedConstructOnly;
821
+
822
+ /** Base class for effects using offscreen buffers #ClutterOffscreenEffect is an abstract class that can be used by [class@Effect] sub-classes requiring access to an offscreen buffer. */
823
+ export interface ClutterOffscreenEffectProps extends ClutterEffectProps {
824
+ }
825
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
826
+ export type ClutterOffscreenEffectConstructOnly = ClutterEffectConstructOnly;
827
+
828
+ /** A page turning effect A simple page turning effect */
829
+ export interface ClutterPageTurnEffectProps extends ClutterDeformEffectProps {
830
+ /**
831
+ * The angle of the page rotation, in degrees, between 0.0 and 360.0
832
+ * @default 0.000000
833
+ */
834
+ angle?: number;
835
+ /**
836
+ * The period of the page turn, between 0.0 (no curling) and 1.0 (fully curled)
837
+ * @default 0.000000
838
+ */
839
+ period?: number;
840
+ /**
841
+ * The radius of the page curl, in pixels
842
+ * @default 24.000000
843
+ */
844
+ radius?: number;
845
+ }
846
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
847
+ export type ClutterPageTurnEffectConstructOnly = ClutterDeformEffectConstructOnly;
848
+
849
+ /** Paint objects #ClutterPaintNode is an element in the render graph. */
850
+ export interface ClutterPaintNodeProps {
851
+ }
852
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
853
+ export type ClutterPaintNodeConstructOnly = never;
854
+
855
+ /** Action for pan gestures #ClutterPanAction is a sub-class of [class@GestureAction] that implements the logic for recognizing pan gestures. */
856
+ export interface ClutterPanActionProps extends ClutterGestureActionProps {
857
+ /**
858
+ * The initial acceleration factor The kinetic momentum measured at the time of releasing the pointer will be multiplied by the factor specified by this property before being used to generate interpolat…
859
+ * @default 1.000000
860
+ */
861
+ 'acceleration-factor'?: number;
862
+ /**
863
+ * The rate at which the interpolated panning will decelerate in #ClutterPanAction will emit interpolated ::pan events with decreasing scroll deltas, using the rate specified by this property.
864
+ * @default 0.950000
865
+ */
866
+ deceleration?: number;
867
+ /**
868
+ * Whether interpolated events emission is enabled.
869
+ * @default FALSE
870
+ */
871
+ interpolate?: boolean;
872
+ /**
873
+ * Constraints the panning action to the specified axis
874
+ * @default CLUTTER_PAN_AXIS_NONE
875
+ */
876
+ 'pan-axis'?: ClutterPanAxisNick | Clutter.PanAxis;
877
+ }
878
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
879
+ export type ClutterPanActionConstructOnly = ClutterGestureActionConstructOnly;
880
+
881
+ export interface ClutterPipelineNodeProps extends ClutterPaintNodeProps {
882
+ }
883
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
884
+ export type ClutterPipelineNodeConstructOnly = ClutterPaintNodeConstructOnly;
885
+
886
+ /** Property transitions #ClutterPropertyTransition is a specialized [class@Transition] that can be used to tween a property of a [iface@Animatable] instance. */
887
+ export interface ClutterPropertyTransitionProps extends ClutterTransitionProps {
888
+ /**
889
+ * The name of the property of a [iface@Animatable] to animate.
890
+ * @default NULL
891
+ */
892
+ 'property-name'?: string;
893
+ }
894
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
895
+ export type ClutterPropertyTransitionConstructOnly = ClutterTransitionConstructOnly;
896
+
897
+ export interface ClutterRootNodeProps extends ClutterPaintNodeProps {
898
+ }
899
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
900
+ export type ClutterRootNodeConstructOnly = ClutterPaintNodeConstructOnly;
901
+
902
+ /** Action to rotate an actor #ClutterRotateAction is a sub-class of [class@GestureAction] that implements the logic for recognizing rotate gestures using two touch points. */
903
+ export interface ClutterRotateActionProps extends ClutterGestureActionProps {
904
+ }
905
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
906
+ export type ClutterRotateActionConstructOnly = ClutterGestureActionConstructOnly;
907
+
908
+ /** An actor for displaying a portion of its children #ClutterScrollActor is an actor that can be used to display a portion of the contents of its children. */
909
+ export interface ClutterScrollActorProps extends ClutterActorProps, ClutterAnimatableProps {
910
+ /**
911
+ * The scrolling direction.
912
+ * @default CLUTTER_SCROLL_HORIZONTALLY | CLUTTER_SCROLL_VERTICALLY
913
+ */
914
+ 'scroll-mode'?: number;
915
+ }
916
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
917
+ export type ClutterScrollActorConstructOnly = ClutterActorConstructOnly | ClutterAnimatableConstructOnly;
918
+
919
+ /** Settings configuration Clutter depends on some settings to perform operations like detecting multiple button press events, or font options to render text. */
920
+ export interface ClutterSettingsProps extends GObjectProps {
921
+ /**
922
+ * The default distance that the cursor of a pointer device should travel before a drag operation should start.
923
+ * @default 8
924
+ */
925
+ 'dnd-drag-threshold'?: number;
926
+ /**
927
+ * The maximum distance, in pixels, between button-press events that determines whether or not to increase the click count by 1.
928
+ * @default 5
929
+ */
930
+ 'double-click-distance'?: number;
931
+ /**
932
+ * The time, in milliseconds, that should elapse between button-press events in order to increase the click count by 1.
933
+ * @default 250
934
+ */
935
+ 'double-click-time'?: number;
936
+ /**
937
+ * Whether or not to use antialiasing when rendering text; a value of 1 enables it unconditionally; a value of 0 disables it unconditionally; and -1 will use the system's default.
938
+ * @default -1
939
+ */
940
+ 'font-antialias'?: number;
941
+ /**
942
+ * The DPI used when rendering text, as a value of 1024 * dots/inch.
943
+ * @default -1
944
+ */
945
+ 'font-dpi'?: number;
946
+ /**
947
+ * The style of the hinting used when rendering text.
948
+ * @default NULL
949
+ */
950
+ 'font-hint-style'?: string;
951
+ /**
952
+ * Whether or not to use hinting when rendering text; a value of 1 unconditionally enables it; a value of 0 unconditionally disables it; and a value of -1 will use the system's default.
953
+ * @default -1
954
+ */
955
+ 'font-hinting'?: number;
956
+ /**
957
+ * The default font name that should be used by text actors, as a string that can be passed to [func@Pango.FontDescription.from_string].
958
+ * @default NULL
959
+ */
960
+ 'font-name'?: string;
961
+ /**
962
+ * The type of sub-pixel antialiasing used when rendering text.
963
+ * @default NULL
964
+ */
965
+ 'font-subpixel-order'?: string;
966
+ /** @default 0 */
967
+ 'fontconfig-timestamp'?: number;
968
+ /**
969
+ * Sets the minimum duration for a press to be recognized as a long press gesture.
970
+ * @default 500
971
+ */
972
+ 'long-press-duration'?: number;
973
+ /** @default 0 */
974
+ 'password-hint-time'?: number;
975
+ /** @default -1 */
976
+ 'unscaled-font-dpi'?: number;
977
+ }
978
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
979
+ export type ClutterSettingsConstructOnly = GObjectConstructOnly;
980
+
981
+ /** Base class for shader effects #ClutterShaderEffect is a class that implements all the plumbing for creating [class@Effect]s using GLSL shaders. */
982
+ export interface ClutterShaderEffectProps extends ClutterOffscreenEffectProps {
983
+ /**
984
+ * The type of shader that is used by the effect.
985
+ * @default CLUTTER_FRAGMENT_SHADER
986
+ */
987
+ 'shader-type'?: ClutterShaderTypeNick | Clutter.ShaderType;
988
+ }
989
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
990
+ export type ClutterShaderEffectConstructOnly = ClutterOffscreenEffectConstructOnly | 'shader-type';
991
+
992
+ export interface ClutterShaderFloatProps {
993
+ }
994
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
995
+ export type ClutterShaderFloatConstructOnly = never;
996
+
997
+ export interface ClutterShaderIntProps {
998
+ }
999
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
1000
+ export type ClutterShaderIntConstructOnly = never;
1001
+
1002
+ export interface ClutterShaderMatrixProps {
1003
+ }
1004
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
1005
+ export type ClutterShaderMatrixConstructOnly = never;
1006
+
1007
+ /** A constraint snapping two actors together #ClutterSnapConstraint is a constraint the snaps the edges of two actors together, expanding the actor's allocation if necessary. */
1008
+ export interface ClutterSnapConstraintProps extends ClutterConstraintProps {
1009
+ /**
1010
+ * The edge of the [class@Actor] that should be snapped
1011
+ * @default CLUTTER_SNAP_EDGE_RIGHT
1012
+ */
1013
+ 'from-edge'?: ClutterSnapEdgeNick | Clutter.SnapEdge;
1014
+ /**
1015
+ * The offset, in pixels, between [property@SnapConstraint:from-edge] and [property@SnapConstraint:to-edge]
1016
+ * @default 0.000000
1017
+ */
1018
+ offset?: number;
1019
+ /** The [class@Actor] used as the source for the constraint */
1020
+ source?: Clutter.Actor;
1021
+ /**
1022
+ * The edge of the [property@SnapConstraint:source] that should be snapped
1023
+ * @default CLUTTER_SNAP_EDGE_RIGHT
1024
+ */
1025
+ 'to-edge'?: ClutterSnapEdgeNick | Clutter.SnapEdge;
1026
+ }
1027
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
1028
+ export type ClutterSnapConstraintConstructOnly = ClutterConstraintConstructOnly;
1029
+
1030
+ /** Top level visual element to which actors are placed. */
1031
+ export interface ClutterStageProps extends ClutterActorProps, ClutterAnimatableProps {
1032
+ /** The [class@Clutter.Actor] that will receive key events from the underlying windowing system. */
1033
+ 'key-focus'?: Clutter.Actor;
1034
+ /**
1035
+ * The stage's title - usually displayed in stage windows title decorations.
1036
+ * @default NULL
1037
+ */
1038
+ title?: string;
1039
+ }
1040
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
1041
+ export type ClutterStageConstructOnly = ClutterActorConstructOnly | ClutterAnimatableConstructOnly;
1042
+
1043
+ /** Maintains the list of stages #ClutterStageManager is a singleton object, owned by Clutter, which maintains the list of currently active stages Every newly-created [class@Stage] will cause the emissio… */
1044
+ export interface ClutterStageManagerProps extends GObjectProps {
1045
+ }
1046
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
1047
+ export type ClutterStageManagerConstructOnly = GObjectConstructOnly;
1048
+
1049
+ export interface ClutterStageViewProps extends GObjectProps {
1050
+ framebuffer?: Cogl.Framebuffer;
1051
+ layout?: Mtk.Rectangle;
1052
+ /** @default NULL */
1053
+ name?: string;
1054
+ offscreen?: Cogl.Offscreen;
1055
+ /** @default 60.000000 */
1056
+ 'refresh-rate'?: number;
1057
+ /** @default 1.000000 */
1058
+ scale?: number;
1059
+ stage?: Clutter.Stage;
1060
+ /** @default FALSE */
1061
+ 'use-shadowfb'?: boolean;
1062
+ /** @default 0 */
1063
+ 'vblank-duration-us'?: bigint | number;
1064
+ }
1065
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
1066
+ export type ClutterStageViewConstructOnly = GObjectConstructOnly | 'name' | 'offscreen' | 'stage' | 'use-shadowfb' | 'vblank-duration-us';
1067
+
1068
+ /** Action for swipe gestures #ClutterSwipeAction is a sub-class of [class@GestureAction] that implements the logic for recognizing swipe gestures. */
1069
+ export interface ClutterSwipeActionProps extends ClutterGestureActionProps {
1070
+ }
1071
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
1072
+ export type ClutterSwipeActionConstructOnly = ClutterGestureActionConstructOnly;
1073
+
1074
+ /** Action for tap gestures #ClutterTapAction is a sub-class of [class@GestureAction] that implements the logic for recognizing mouse clicks and touch tap gestures. */
1075
+ export interface ClutterTapActionProps extends ClutterGestureActionProps {
1076
+ }
1077
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
1078
+ export type ClutterTapActionConstructOnly = ClutterGestureActionConstructOnly;
1079
+
1080
+ /** An actor for displaying and editing text #ClutterText is an actor that displays custom text using Pango as the text rendering engine. */
1081
+ export interface ClutterTextProps extends ClutterActorProps, ClutterAnimatableProps {
1082
+ /**
1083
+ * Toggles whether return invokes the activate signal or not.
1084
+ * @default TRUE
1085
+ */
1086
+ activatable?: boolean;
1087
+ /** A list of `PangoStyleAttribute`s to be applied to the contents of the #ClutterText actor. */
1088
+ attributes?: Pango.AttrList;
1089
+ /** The buffer which stores the text for this #ClutterText. */
1090
+ buffer?: Clutter.TextBuffer;
1091
+ /**
1092
+ * The color used to render the text.
1093
+ * @default #000000ff
1094
+ */
1095
+ color?: Clutter.Color;
1096
+ /**
1097
+ * The color of the cursor.
1098
+ * @default #000000ff
1099
+ */
1100
+ 'cursor-color'?: Clutter.Color;
1101
+ /**
1102
+ * The current input cursor position.
1103
+ * @default -1
1104
+ */
1105
+ 'cursor-position'?: number;
1106
+ /**
1107
+ * The size of the cursor, in pixels.
1108
+ * @default 2
1109
+ */
1110
+ 'cursor-size'?: number;
1111
+ /**
1112
+ * Whether the input cursor is visible or not.
1113
+ * @default TRUE
1114
+ */
1115
+ 'cursor-visible'?: boolean;
1116
+ /**
1117
+ * Whether key events delivered to the actor causes editing.
1118
+ * @default FALSE
1119
+ */
1120
+ editable?: boolean;
1121
+ /**
1122
+ * The preferred place to ellipsize the contents of the #ClutterText actor
1123
+ * @default PANGO_ELLIPSIZE_NONE
1124
+ */
1125
+ ellipsize?: PangoEllipsizeModeNick | Pango.EllipsizeMode;
1126
+ /** The [struct@Pango.FontDescription] that should be used by the #ClutterText If you have a string describing the font then you should look at [property@Text:font-name] instead */
1127
+ 'font-description'?: Pango.FontDescription;
1128
+ /**
1129
+ * The font to be used by the #ClutterText, as a string that can be parsed by [func@Pango.FontDescription.from_string].
1130
+ * @default NULL
1131
+ */
1132
+ 'font-name'?: string;
1133
+ /** @default 0 */
1134
+ 'input-hints'?: number;
1135
+ /** @default CLUTTER_INPUT_CONTENT_PURPOSE_NORMAL */
1136
+ 'input-purpose'?: ClutterInputContentPurposeNick | Clutter.InputContentPurpose;
1137
+ /**
1138
+ * Whether the contents of the #ClutterText should be justified on both margins.
1139
+ * @default FALSE
1140
+ */
1141
+ justify?: boolean;
1142
+ /**
1143
+ * The preferred alignment for the text.
1144
+ * @default PANGO_ALIGN_LEFT
1145
+ */
1146
+ 'line-alignment'?: PangoAlignmentNick | Pango.Alignment;
1147
+ /**
1148
+ * Whether to wrap the lines of [property@Text:text] if the contents exceed the available allocation.
1149
+ * @default FALSE
1150
+ */
1151
+ 'line-wrap'?: boolean;
1152
+ /**
1153
+ * If [property@Text:line-wrap] is set to %TRUE, this property will control how the text is wrapped.
1154
+ * @default PANGO_WRAP_WORD
1155
+ */
1156
+ 'line-wrap-mode'?: PangoWrapModeNick | Pango.WrapMode;
1157
+ /**
1158
+ * The maximum length of the contents of the #ClutterText actor.
1159
+ * @default 0
1160
+ */
1161
+ 'max-length'?: number;
1162
+ /**
1163
+ * If non-zero, the character that should be used in place of the actual text in a password text actor.
1164
+ * @default 0
1165
+ */
1166
+ 'password-char'?: number;
1167
+ /**
1168
+ * Whether it is possible to select text, either using the pointer or the keyboard.
1169
+ * @default TRUE
1170
+ */
1171
+ selectable?: boolean;
1172
+ /**
1173
+ * The color of selected text.
1174
+ * @default #000000ff
1175
+ */
1176
+ 'selected-text-color'?: Clutter.Color;
1177
+ /**
1178
+ * The current input cursor position.
1179
+ * @default -1
1180
+ */
1181
+ 'selection-bound'?: number;
1182
+ /**
1183
+ * The color of the selection.
1184
+ * @default #000000ff
1185
+ */
1186
+ 'selection-color'?: Clutter.Color;
1187
+ /**
1188
+ * Whether the #ClutterText actor should be in single line mode or not.
1189
+ * @default FALSE
1190
+ */
1191
+ 'single-line-mode'?: boolean;
1192
+ /** The text to render inside the actor. */
1193
+ text?: string;
1194
+ /**
1195
+ * Whether the text includes Pango markup.
1196
+ * @default FALSE
1197
+ */
1198
+ 'use-markup'?: boolean;
1199
+ }
1200
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
1201
+ export type ClutterTextConstructOnly = ClutterActorConstructOnly | ClutterAnimatableConstructOnly;
1202
+
1203
+ /** Text buffer for [class@Text] The #ClutterTextBuffer class contains the actual text displayed in a [class@Text] widget. */
1204
+ export interface ClutterTextBufferProps extends GObjectProps {
1205
+ /**
1206
+ * The maximum length (in characters) of the text in the buffer.
1207
+ * @default 0
1208
+ */
1209
+ 'max-length'?: number;
1210
+ }
1211
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
1212
+ export type ClutterTextBufferConstructOnly = GObjectConstructOnly;
1213
+
1214
+ export interface ClutterTextNodeProps extends ClutterPaintNodeProps {
1215
+ }
1216
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
1217
+ export type ClutterTextNodeConstructOnly = ClutterPaintNodeConstructOnly;
1218
+
1219
+ export interface ClutterTextureContentProps extends GObjectProps, ClutterContentProps {
1220
+ }
1221
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
1222
+ export type ClutterTextureContentConstructOnly = GObjectConstructOnly | ClutterContentConstructOnly;
1223
+
1224
+ export interface ClutterTextureNodeProps extends ClutterPipelineNodeProps {
1225
+ }
1226
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
1227
+ export type ClutterTextureNodeConstructOnly = ClutterPipelineNodeConstructOnly;
1228
+
1229
+ /** A class for time-based events #ClutterTimeline is a base class for managing time-based event that cause Clutter to redraw a stage, such as animations. */
1230
+ export interface ClutterTimelineProps extends GObjectProps {
1231
+ actor?: Clutter.Actor;
1232
+ /**
1233
+ * If the direction of the timeline should be automatically reversed when reaching the end.
1234
+ * @default FALSE
1235
+ */
1236
+ 'auto-reverse'?: boolean;
1237
+ /**
1238
+ * A delay, in milliseconds, that should be observed by the timeline before actually starting.
1239
+ * @default 0
1240
+ */
1241
+ delay?: number;
1242
+ /**
1243
+ * The direction of the timeline, either %CLUTTER_TIMELINE_FORWARD or %CLUTTER_TIMELINE_BACKWARD.
1244
+ * @default CLUTTER_TIMELINE_FORWARD
1245
+ */
1246
+ direction?: ClutterTimelineDirectionNick | Clutter.TimelineDirection;
1247
+ /**
1248
+ * Duration of the timeline in milliseconds, depending on the [property@Timeline:frame-clock] value.
1249
+ * @default 1000
1250
+ */
1251
+ duration?: number;
1252
+ /** The frame clock driving the timeline. */
1253
+ 'frame-clock'?: Clutter.FrameClock;
1254
+ /**
1255
+ * Controls the way a #ClutterTimeline computes the normalized progress.
1256
+ * @default CLUTTER_LINEAR
1257
+ */
1258
+ 'progress-mode'?: ClutterAnimationModeNick | Clutter.AnimationMode;
1259
+ /**
1260
+ * Defines how many times the timeline should repeat.
1261
+ * @default 0
1262
+ */
1263
+ 'repeat-count'?: number;
1264
+ }
1265
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
1266
+ export type ClutterTimelineConstructOnly = GObjectConstructOnly;
1267
+
1268
+ export interface ClutterTransformNodeProps extends ClutterPaintNodeProps {
1269
+ }
1270
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
1271
+ export type ClutterTransformNodeConstructOnly = ClutterPaintNodeConstructOnly;
1272
+
1273
+ /** Transition between two values #ClutterTransition is an abstract subclass of [class@Timeline] that computes the interpolation between two values, stored by a [class@Interval]. */
1274
+ export interface ClutterTransitionProps extends ClutterTimelineProps {
1275
+ /** The [iface@Animatable] instance currently being animated. */
1276
+ animatable?: Clutter.Animatable;
1277
+ /** The [class@Interval] used to describe the initial and final states of the transition. */
1278
+ interval?: Clutter.Interval;
1279
+ /**
1280
+ * Whether the #ClutterTransition should be automatically detached from the [property@Transition:animatable] instance whenever the [signal@Timeline::stopped] signal is emitted.
1281
+ * @default FALSE
1282
+ */
1283
+ 'remove-on-complete'?: boolean;
1284
+ }
1285
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
1286
+ export type ClutterTransitionConstructOnly = ClutterTimelineConstructOnly;
1287
+
1288
+ /** Group transitions together The #ClutterTransitionGroup allows running multiple [class@Transition] instances concurrently. */
1289
+ export interface ClutterTransitionGroupProps extends ClutterTransitionProps {
1290
+ }
1291
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
1292
+ export type ClutterTransitionGroupConstructOnly = ClutterTransitionConstructOnly;
1293
+
1294
+ export interface ClutterVirtualInputDeviceProps extends GObjectProps {
1295
+ /** @default CLUTTER_POINTER_DEVICE */
1296
+ 'device-type'?: ClutterInputDeviceTypeNick | Clutter.InputDeviceType;
1297
+ seat?: Clutter.Seat;
1298
+ }
1299
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
1300
+ export type ClutterVirtualInputDeviceConstructOnly = GObjectConstructOnly | 'device-type' | 'seat';
1301
+
1302
+ /** Action enabling zooming on actors #ClutterZoomAction is a sub-class of [class@GestureAction] that implements all the necessary logic for zooming actors using a "pinch" gesture between two touch point… */
1303
+ export interface ClutterZoomActionProps extends ClutterGestureActionProps {
1304
+ }
1305
+ /** Settable only at construction — a renderer must REBUILD, not patch. */
1306
+ export type ClutterZoomActionConstructOnly = ClutterGestureActionConstructOnly;
1307
+
1308
+ // ---------------------------------------------------------------------------
1309
+ // The GType-keyed widget map.
1310
+ //
1311
+ // Keyed by GType because that is also the GtkBuilder XML key and the typelib key. A
1312
+ // consumer maps GTypes to tags in ITS convention — kebab for JSX intrinsics, Pascal
1313
+ // for a Vue `GlobalComponents`, the class itself for a renderer whose element type
1314
+ // is the class. None of those is baked in here.
1315
+ //
1316
+ // `slotCandidates` is a candidate list and never an answer: derived from methods
1317
+ // taking exactly one widget argument. The GIR cannot tell adoption from reference —
1318
+ // `set_title_widget` parents its argument and `set_activatable_widget` does not, and
1319
+ // both are `void f(GtkWidget*)` at `transfer-ownership="none"`. Curation decides;
1320
+ // this is what notices when a release adds a candidate.
1321
+ // ---------------------------------------------------------------------------
1322
+
1323
+ export interface Widgets {
1324
+
1325
+ }
1326
+
1327
+ /**
1328
+ * Every GType this namespace can create AND put on screen. A consumer derives its own
1329
+ * tag map. For everything a UI file can instantiate — layout managers, event
1330
+ * controllers, cell renderers, `GtkSizeGroup` — read `DECLS` below.
1331
+ */
1332
+ export type WidgetGType = keyof Widgets;
1333
+
1334
+ // ---------------------------------------------------------------------------
1335
+ // Child holders — the same shape, for objects that CARRY a widget without being one.
1336
+ //
1337
+ // `GtkListItem`, `GtkListHeader`, `GtkColumnViewCell` and `AdwToggle` descend from
1338
+ // `GObject.Object` and hold a widget through `set_child`/`get_child`. A renderer places
1339
+ // them exactly like a container, so they belong in the vocabulary; a check asking "is
1340
+ // this a widget" must still be able to say no. Hence a sibling table rather than four
1341
+ // more rows in `Widgets`: concatenate them when you mean both.
1342
+ // ---------------------------------------------------------------------------
1343
+
1344
+ export interface ChildHolders {
1345
+
1346
+ }
1347
+
1348
+ /** Every GType this namespace holds a child in without it being a widget. */
1349
+ export type ChildHolderGType = keyof ChildHolders;
1350
+
1351
+ /** The writable, optional, GObject-keyed property surface of one GType. */
1352
+ export type PropsOf<G extends WidgetGType> = Widgets[G]['props'];
1353
+
1354
+ /** The signal table this package already emits, reached by GType. */
1355
+ export type SignalsOf<G extends WidgetGType> = Widgets[G]['signals'];
1356
+
1357
+ /** The instance type — what a `ref`-shaped prop should infer. */
1358
+ export type InstanceOf<G extends WidgetGType> = Widgets[G]['class'];
1359
+
1360
+ /** Property names that can only be set at construction. */
1361
+ export type ConstructOnlyOf<G extends WidgetGType> = Widgets[G]['constructOnly'];
1362
+
1363
+ /** Candidate child slots — see the note above; curation decides. */
1364
+ export type SlotCandidatesOf<G extends WidgetGType> = keyof Widgets[G]['slotCandidates'];
1365
+
1366
+ /**
1367
+ * The same facts as runtime data, for a consumer that CHECKS them.
1368
+ *
1369
+ * Types are erased, so a spec that asks the installed GTK whether every property
1370
+ * here is a writable ParamSpec, every signal resolvable by `GObject.signal_lookup`
1371
+ * and every nick resolvable through an enum lookup cannot read the interfaces
1372
+ * above. Emitted headlessly with no GTK present, which is exactly why the checking
1373
+ * belongs to the consumer and the DATA belongs here.
1374
+ */
1375
+ export const PROVENANCE: {
1376
+ readonly namespace: string;
1377
+ readonly version: string;
1378
+ /** The version the LIBRARY states, or null where it states none. Never the namespace's. */
1379
+ readonly libraryVersion: string | null;
1380
+ readonly childHolders: number;
1381
+ readonly droppedBases: readonly string[];
1382
+ readonly inlinedBases: readonly string[];
1383
+ /** `<decl>.<prop>` for every property printed `never` because TypeScript has no value for it. */
1384
+ readonly unsettableProps: readonly string[];
1385
+ /**
1386
+ * `<decl>.<prop>: <Ns>.<Name>` for every property printed `never` because the model
1387
+ * could not resolve its type across a namespace boundary — two independently released
1388
+ * GIRs disagreeing, which is what the main emitter answers `never` for as well.
1389
+ */
1390
+ readonly unresolvedProps: readonly string[];
1391
+ /**
1392
+ * `c:identifier-prefixes` from the GIR, verbatim and in order — `['G']` for Gio.
1393
+ *
1394
+ * The C prefix a type REFERENCE needs: resolving `Gio.Icon` means producing `GIcon`,
1395
+ * and nothing else in this package states that `Gio` spells itself `G`. Carried rather
1396
+ * than derived because GIR carries it, and a derivation over the `DECLS` keys is wrong
1397
+ * wherever the C prefix is not a prefix of the type NAMES: gdkx11-4.0 and gdkwayland-4.0
1398
+ * both state `Gdk` while every key they declare begins `GdkX11`/`GdkWayland`.
1399
+ *
1400
+ * Empty where the GIR states none — 17 of the 627 emitting namespaces — because
1401
+ * inventing the namespace name there is a confident wrong answer in place of a missing
1402
+ * one. A LIST because 20 of them state more than one, which no single string expresses.
1403
+ */
1404
+ readonly identifierPrefixes: readonly string[];
1405
+ /**
1406
+ * Sibling vocabularies this one's DECLARATIONS come from, as import specifiers.
1407
+ *
1408
+ * A chain link with no `OWN_PROPS` row is ambiguous on its own — `GtkSeparator` has no
1409
+ * settable property, `GApplication` has its properties in another package — and this
1410
+ * list is what tells the two apart. Enum and bitfield NUMBERS are not here: those are
1411
+ * carried in this file, because a `PROP_ENUMS` row naming a foreign GType gives a
1412
+ * consumer nothing to load and a `.ui` file using the property never names its owner.
1413
+ */
1414
+ readonly requiredVocabularies: readonly string[];
1415
+ };
1416
+
1417
+ /** Declaration GType -> its own settable properties, as GObject registered them. */
1418
+ export const OWN_PROPS: Readonly<Record<string, readonly string[]>>;
1419
+
1420
+ /**
1421
+ * Declaration GType -> the signals it registers itself, never its parents'.
1422
+ *
1423
+ * Keyed like `OWN_PROPS`, so both are read at every link of a `DECLS` chain. An
1424
+ * abstract base has no `Widgets` row and still owns signals — `GtkWidget` owns 13.
1425
+ */
1426
+ export const OWN_SIGNALS: Readonly<Record<string, readonly string[]>>;
1427
+
1428
+ /**
1429
+ * Instantiable GType -> every declaration its members come from, self first.
1430
+ *
1431
+ * The key set is what a UI description file can NAME: every registered, non-abstract
1432
+ * class this namespace declares. GtkBuilder resolves a `<object class="…">` through
1433
+ * `g_type_from_name`, which knows nothing about widgets, so this is wider than
1434
+ * `Widgets` by design — `GtkSizeGroup`, `GtkTextTag`, every `GtkEventController`
1435
+ * and every `GtkCellRenderer` are here and are not widgets.
1436
+ *
1437
+ * `Widgets` and `CHILD_HOLDERS` are the narrower questions and answer them unchanged.
1438
+ */
1439
+ export const DECLS: Readonly<Record<string, readonly string[]>>;
1440
+
1441
+ /** The GTypes in `DECLS` that hold a widget without being one — see `ChildHolders`. */
1442
+ export const CHILD_HOLDERS: readonly string[];
1443
+
1444
+ /** Enum GType -> the nicks this surface offers. */
1445
+ export const ENUM_NICKS: Readonly<Record<string, readonly string[]>>;
1446
+
1447
+ /**
1448
+ * `<enum GType>.<nick>` -> the integer GObject registers for it, from GIR's `value`.
1449
+ *
1450
+ * Position in `ENUM_NICKS` is NOT this number. Counting is wrong on 6 of the 137 enums a
1451
+ * GTK 4 vocabulary carries -- 112 in Gtk-4.0 and 25 in Adw-1: `GtkResponseType` runs -1 to -11, `GtkTextWindowType` starts
1452
+ * at 1, `GtkOrdering` and `GtkConstraintRelation` are -1/0/1, `GtkAlign` has two names
1453
+ * on one value, and `GtkConstraintStrength.required` is 1001001000 where counting says 0.
1454
+ *
1455
+ * Read from the same GIR as the nicks, deliberately. A consumer reading the numbers off an
1456
+ * installed typelib instead has two provenances for one table, and then cannot tell a
1457
+ * missing number from a host older than the vocabulary.
1458
+ */
1459
+ export const ENUM_VALUES: Readonly<Record<string, number>>;
1460
+
1461
+ /**
1462
+ * The `<enum GType>.<nick>` entries GIR marks `deprecated="1"`.
1463
+ *
1464
+ * Two names on one value is how GObject spells an alias -- `GTK_ALIGN_BASELINE` and
1465
+ * `GTK_ALIGN_BASELINE_FILL` are both 4, and both keep a `ENUM_VALUES` entry. The pairing
1466
+ * is visible in the numbers; which name is the old one is not, and this is that fact --
1467
+ * where GIR states it. It usually does not: 4 registered-enum members across the 718 GIRs
1468
+ * carry the attribute, and 179 of the 182 value-sharing pairs carry it on neither half, so
1469
+ * absence from this list means GIR is silent, not that the nick is the current one.
1470
+ */
1471
+ export const ENUM_DEPRECATED: readonly string[];
1472
+
1473
+ /**
1474
+ * `<enum GType>.<nick>` -> the raw GIR `value` no number could be read from.
1475
+ *
1476
+ * The declared remainder, so that every nick in `ENUM_NICKS` is in `ENUM_VALUES` or in
1477
+ * here and a drop cannot be silent. Two shapes reach it: a symbolic or absent value (Vala
1478
+ * writes `(null)`, a char enum writes a letter) and an integer past
1479
+ * `Number.MAX_SAFE_INTEGER`, where a literal would lose precision and stop being the
1480
+ * GIR's number. Empty for Gtk, Adw, GLib and Gio.
1481
+ */
1482
+ export const ENUM_VALUES_UNREADABLE: Readonly<Record<string, string>>;
1483
+
1484
+ /**
1485
+ * `<bitfield GType>.<nick>` -> the integer GObject registers for that one member.
1486
+ *
1487
+ * `ENUM_NICKS` carries no bitfield, because GObject cannot resolve a nick SET; that says
1488
+ * nothing about a single member's number, and the number is what a host without GI needs.
1489
+ * 23 settable properties in Gtk-4.0 and Adw-1 are bitfield-typed and are declared bare
1490
+ * `number` -- `GtkEntry:input-hints`, `GtkPopoverMenu:flags`, `AdwTabView:shortcuts`,
1491
+ * `GtkDropTarget:actions` among them. Counting is worst here: 119 of the 156 Gtk-4.0
1492
+ * bitfield members this vocabulary carries disagree with their declaration position,
1493
+ * against 29 of 672 enumeration members.
1494
+ *
1495
+ * Combine with `|` as GObject does. There is no nick table to pair this with, so a name
1496
+ * here is resolvable and a SET still is not.
1497
+ */
1498
+ export const FLAG_VALUES: Readonly<Record<string, number>>;
1499
+
1500
+ /** `<bitfield GType>.<nick>` -> the raw GIR `value` no number could be read from. */
1501
+ export const FLAG_VALUES_UNREADABLE: Readonly<Record<string, string>>;
1502
+
1503
+ /**
1504
+ * `<declaration GType>.<property>` -> the GType of that property's enum or bitfield.
1505
+ *
1506
+ * The join the value tables need and nothing else here carries. A host with no GI has a
1507
+ * property name and a nick and needs a number; `ENUM_VALUES` is keyed by ENUM GType, and
1508
+ * only this says which enum a property is. Keyed by DECLARATION like `OWN_PROPS`, so it is
1509
+ * read at every link of a `DECLS` chain — `orientation` belongs to `GtkOrientable`, not
1510
+ * to the `GtkBox` a caller starts from.
1511
+ *
1512
+ * Present only where the property's OWN type is the enum: an array of them, or a union that
1513
+ * merely mentions one, would be an entry a consumer resolves wrongly.
1514
+ *
1515
+ * The GType named here is not always one THIS module gives numbers for. A nick vocabulary is
1516
+ * emitted once, by the namespace that owns the enum, so `AdwComboRow.search-match-mode` names
1517
+ * `GtkStringFilterMatchMode` and its rows are in `@girs/gtk-4.0/vocabulary` — 83 of the 909
1518
+ * entries in a full run resolve only with the owner's vocabulary loaded beside this one. An
1519
+ * owner with no vocabulary of its own (Gdk, Pango) is inlined here instead, so every entry
1520
+ * resolves against SOME module.
1521
+ */
1522
+ export const PROP_ENUMS: Readonly<Record<string, string>>;
1523
+
1524
+ /**
1525
+ * The kinds of value a GTK accessible property, relation or state takes.
1526
+ *
1527
+ * `enum` is the one that needs a second lookup: `ARIA_VALUE_ENUMS` names the enum GType,
1528
+ * and `ENUM_NICKS` and `ENUM_VALUES` answer from there.
1529
+ */
1530
+ export type AriaValueType = 'string' | 'integer' | 'double' | 'boolean' | 'reference' | 'enum';
1531
+
1532
+ /**
1533
+ * `<enum GType>.<nick>` -> the kind of value that ARIA slot takes.
1534
+ *
1535
+ * The one table in this file that is not a fact about a ParamSpec. A GtkBuilder or
1536
+ * Blueprint `accessibility { … }` block is typed by GTK's ARIA table, not by the widget,
1537
+ * and the two disagree where it costs most: `orientation` is settable on a `GtkLabel`
1538
+ * that implements no `GtkOrientable`, and `checked` is a `GtkAccessibleTristate`, so
1539
+ * `checked: true` is the number 1 rather than a boolean. Typing those slots from the
1540
+ * widget's properties gets both wrong and raises nothing.
1541
+ *
1542
+ * Keyed like `ENUM_VALUES` because the ARIA names ARE enum members — of
1543
+ * `GtkAccessibleProperty`, `GtkAccessibleRelation` and `GtkAccessibleState` — so
1544
+ * `ENUM_NICKS` already lists them and one key parser reads both.
1545
+ *
1546
+ * Read from each member's own GIR documentation. `gtk_accessible_property_init_value()`
1547
+ * is the C half of this table and is not introspectable; the doc sentence is, and states
1548
+ * the type for 52 of the 53 members in gtk4 4.23.3. Complete or absent, never partial: a
1549
+ * member the generator cannot answer for fails the build and names itself.
1550
+ */
1551
+ export const ARIA_VALUE_TYPES: Readonly<Record<string, AriaValueType>>;
1552
+
1553
+ /**
1554
+ * The same keys, for the `'enum'` rows only -> the GType of that enum.
1555
+ *
1556
+ * A table of its own for the reason `PROP_ENUMS` is one: folded in, the values of
1557
+ * `ARIA_VALUE_TYPES` would be six reserved words mixed with arbitrary GTypes and telling
1558
+ * them apart would be the consumer's problem. Apart, `ARIA_VALUE_TYPES[k] === 'enum'` is
1559
+ * the whole test and `ENUM_NICKS[ARIA_VALUE_ENUMS[k]]` is the nick list.
1560
+ */
1561
+ export const ARIA_VALUE_ENUMS: Readonly<Record<string, string>>;
1562
+
1563
+ /** Widget GType -> slot name -> the method that may adopt a child there. */
1564
+ export const SLOT_CANDIDATES: Readonly<Record<string, Readonly<Record<string, string>>>>;
1565
+
1566
+ /**
1567
+ * `Type`, `Type.property` and `Type::signal` -> the release that introduced it.
1568
+ *
1569
+ * What keeps a runtime cross-check honest across a version gap without an
1570
+ * allowlist: a name the installed library lacks is a defect UNLESS the version
1571
+ * here is newer than the one running.
1572
+ *
1573
+ * ALL THREE key shapes, because that test only works for the names it covers. A
1574
+ * property-only map leaves a consumer no way to explain a missing SIGNAL, which is
1575
+ * a correct vocabulary reported as 18 defects; a member-only map leaves it no way to
1576
+ * explain a missing CLASS, and that one fails as a bare
1577
+ * `TypeError: can't access property "$gtype", ctor() is undefined` that does not
1578
+ * even name the GType.
1579
+ *
1580
+ * A key is present only where the GIR states a version — sparse by nature (`version`
1581
+ * sits on 29 of the 301 classes and interfaces in Gtk-4.0), never inferred.
1582
+ */
1583
+ export const SINCE: Readonly<Record<string, string>>;