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