@gtkx/ffi 0.8.0 → 0.9.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.
- package/dist/cairo/cairo.js +1 -1
- package/dist/codegen/ffi-generator.js +37 -12
- package/dist/generated/adw/index.d.ts +0 -1
- package/dist/generated/adw/index.js +0 -1
- package/dist/generated/adw/preferences-group.d.ts +0 -11
- package/dist/generated/adw/preferences-group.js +0 -36
- package/dist/generated/atspi/device.d.ts +0 -15
- package/dist/generated/atspi/device.js +0 -65
- package/dist/generated/atspi/functions.d.ts +4 -14
- package/dist/generated/atspi/functions.js +0 -48
- package/dist/generated/atspi/index.d.ts +0 -2
- package/dist/generated/atspi/index.js +0 -2
- package/dist/generated/gdk/cursor.d.ts +1 -12
- package/dist/generated/gdk/cursor.js +22 -55
- package/dist/generated/gdk/functions.d.ts +0 -26
- package/dist/generated/gdk/functions.js +0 -74
- package/dist/generated/gdk/texture.d.ts +0 -10
- package/dist/generated/gdk/texture.js +0 -36
- package/dist/generated/gdkpixbuf/pixbuf.d.ts +0 -49
- package/dist/generated/gdkpixbuf/pixbuf.js +0 -166
- package/dist/generated/gio/app-info.d.ts +0 -15
- package/dist/generated/gio/app-info.js +0 -50
- package/dist/generated/gio/async-initable.d.ts +0 -44
- package/dist/generated/gio/async-initable.js +0 -69
- package/dist/generated/gio/buffered-input-stream.d.ts +0 -14
- package/dist/generated/gio/buffered-input-stream.js +0 -44
- package/dist/generated/gio/bytes-icon.d.ts +0 -10
- package/dist/generated/gio/bytes-icon.js +0 -36
- package/dist/generated/gio/cancellable.d.ts +0 -41
- package/dist/generated/gio/cancellable.js +0 -62
- package/dist/generated/gio/data-input-stream.d.ts +0 -59
- package/dist/generated/gio/data-input-stream.js +0 -149
- package/dist/generated/gio/dbus-connection.d.ts +1 -374
- package/dist/generated/gio/dbus-connection.js +0 -761
- package/dist/generated/gio/dbus-object-manager-client.d.ts +1 -120
- package/dist/generated/gio/dbus-object-manager-client.js +0 -354
- package/dist/generated/gio/dbus-proxy.d.ts +0 -163
- package/dist/generated/gio/dbus-proxy.js +0 -379
- package/dist/generated/gio/drive.d.ts +1 -62
- package/dist/generated/gio/drive.js +0 -200
- package/dist/generated/gio/dtls-connection.d.ts +0 -29
- package/dist/generated/gio/dtls-connection.js +0 -115
- package/dist/generated/gio/file-enumerator.d.ts +0 -85
- package/dist/generated/gio/file-enumerator.js +0 -141
- package/dist/generated/gio/file-icon.d.ts +0 -10
- package/dist/generated/gio/file-icon.js +0 -36
- package/dist/generated/gio/file-input-stream.d.ts +0 -19
- package/dist/generated/gio/file-input-stream.js +0 -49
- package/dist/generated/gio/file-iostream.d.ts +0 -14
- package/dist/generated/gio/file-iostream.js +0 -44
- package/dist/generated/gio/file-output-stream.d.ts +0 -14
- package/dist/generated/gio/file-output-stream.js +0 -44
- package/dist/generated/gio/file.d.ts +1 -661
- package/dist/generated/gio/file.js +58 -1899
- package/dist/generated/gio/functions.d.ts +0 -261
- package/dist/generated/gio/functions.js +0 -666
- package/dist/generated/gio/index.d.ts +0 -2
- package/dist/generated/gio/index.js +0 -2
- package/dist/generated/gio/input-stream.d.ts +0 -127
- package/dist/generated/gio/input-stream.js +0 -293
- package/dist/generated/gio/iostream.d.ts +0 -34
- package/dist/generated/gio/iostream.js +0 -93
- package/dist/generated/gio/list-store.d.ts +0 -46
- package/dist/generated/gio/list-store.js +0 -139
- package/dist/generated/gio/loadable-icon.d.ts +0 -10
- package/dist/generated/gio/loadable-icon.js +0 -36
- package/dist/generated/gio/mount.d.ts +0 -74
- package/dist/generated/gio/mount.js +0 -243
- package/dist/generated/gio/network-monitor.d.ts +0 -16
- package/dist/generated/gio/network-monitor.js +0 -42
- package/dist/generated/gio/output-stream.d.ts +0 -200
- package/dist/generated/gio/output-stream.js +0 -469
- package/dist/generated/gio/permission.d.ts +0 -20
- package/dist/generated/gio/permission.js +0 -64
- package/dist/generated/gio/proxy-resolver.d.ts +0 -9
- package/dist/generated/gio/proxy-resolver.js +0 -35
- package/dist/generated/gio/proxy.d.ts +0 -9
- package/dist/generated/gio/proxy.js +0 -39
- package/dist/generated/gio/resolver.d.ts +0 -59
- package/dist/generated/gio/resolver.js +0 -205
- package/dist/generated/gio/settings.d.ts +0 -33
- package/dist/generated/gio/settings.js +0 -53
- package/dist/generated/gio/simple-proxy-resolver.d.ts +0 -9
- package/dist/generated/gio/simple-proxy-resolver.js +0 -35
- package/dist/generated/gio/socket-address-enumerator.d.ts +0 -10
- package/dist/generated/gio/socket-address-enumerator.js +0 -32
- package/dist/generated/gio/socket-client.d.ts +0 -57
- package/dist/generated/gio/socket-client.js +0 -173
- package/dist/generated/gio/socket-connection.d.ts +0 -17
- package/dist/generated/gio/socket-connection.js +0 -43
- package/dist/generated/gio/socket-listener.d.ts +0 -22
- package/dist/generated/gio/socket-listener.js +0 -66
- package/dist/generated/gio/subprocess.d.ts +0 -36
- package/dist/generated/gio/subprocess.js +0 -139
- package/dist/generated/gio/tls-connection.d.ts +0 -9
- package/dist/generated/gio/tls-connection.js +0 -35
- package/dist/generated/gio/tls-database.d.ts +0 -51
- package/dist/generated/gio/tls-database.js +0 -205
- package/dist/generated/gio/tls-interaction.d.ts +0 -38
- package/dist/generated/gio/tls-interaction.js +0 -94
- package/dist/generated/gio/unix-connection.d.ts +0 -26
- package/dist/generated/gio/unix-connection.js +0 -70
- package/dist/generated/gio/vfs.d.ts +0 -30
- package/dist/generated/gio/vfs.js +0 -71
- package/dist/generated/gio/volume.d.ts +0 -32
- package/dist/generated/gio/volume.js +0 -117
- package/dist/generated/giounix/desktop-app-info.d.ts +0 -58
- package/dist/generated/giounix/desktop-app-info.js +0 -226
- package/dist/generated/glib/byte-array.d.ts +0 -23
- package/dist/generated/glib/byte-array.js +0 -62
- package/dist/generated/glib/error.d.ts +0 -36
- package/dist/generated/glib/error.js +0 -82
- package/dist/generated/glib/functions.d.ts +1 -811
- package/dist/generated/glib/functions.js +55 -1787
- package/dist/generated/glib/hash-table.d.ts +0 -64
- package/dist/generated/glib/hash-table.js +0 -148
- package/dist/generated/glib/main-context.d.ts +0 -17
- package/dist/generated/glib/main-context.js +0 -37
- package/dist/generated/glib/option-group.d.ts +0 -12
- package/dist/generated/glib/option-group.js +0 -39
- package/dist/generated/glib/regex.d.ts +0 -54
- package/dist/generated/glib/regex.js +0 -107
- package/dist/generated/glib/source.d.ts +0 -27
- package/dist/generated/glib/source.js +0 -43
- package/dist/generated/glib/thread.d.ts +2 -46
- package/dist/generated/glib/thread.js +5 -50
- package/dist/generated/glib/tree.d.ts +2 -74
- package/dist/generated/glib/tree.js +4 -192
- package/dist/generated/glibunix/functions.d.ts +0 -2
- package/dist/generated/glibunix/functions.js +0 -45
- package/dist/generated/gobject/binding-group.d.ts +0 -17
- package/dist/generated/gobject/binding-group.js +0 -59
- package/dist/generated/gobject/functions.d.ts +0 -40
- package/dist/generated/gobject/functions.js +0 -95
- package/dist/generated/gobject/object.d.ts +0 -33
- package/dist/generated/gobject/object.js +0 -77
- package/dist/generated/gobject/signal-group.d.ts +0 -23
- package/dist/generated/gobject/signal-group.js +0 -70
- package/dist/generated/gobject/value-array.d.ts +0 -19
- package/dist/generated/gobject/value-array.js +0 -70
- package/dist/generated/gsk/path.d.ts +1 -41
- package/dist/generated/gsk/path.js +0 -96
- package/dist/generated/gsk/render-node.d.ts +0 -9
- package/dist/generated/gsk/render-node.js +0 -32
- package/dist/generated/gst/buffer-list.d.ts +0 -10
- package/dist/generated/gst/buffer-list.js +0 -31
- package/dist/generated/gst/buffer.d.ts +0 -10
- package/dist/generated/gst/buffer.js +0 -31
- package/dist/generated/gst/bus.d.ts +0 -43
- package/dist/generated/gst/bus.js +0 -88
- package/dist/generated/gst/caps.d.ts +0 -26
- package/dist/generated/gst/caps.js +0 -89
- package/dist/generated/gst/clock.d.ts +0 -15
- package/dist/generated/gst/clock.js +0 -35
- package/dist/generated/gst/element.d.ts +0 -49
- package/dist/generated/gst/element.js +0 -117
- package/dist/generated/gst/functions.d.ts +1 -80
- package/dist/generated/gst/functions.js +0 -234
- package/dist/generated/gst/index.d.ts +0 -1
- package/dist/generated/gst/index.js +0 -1
- package/dist/generated/gst/iterator.d.ts +0 -56
- package/dist/generated/gst/iterator.js +0 -168
- package/dist/generated/gst/pad.d.ts +1 -145
- package/dist/generated/gst/pad.js +0 -440
- package/dist/generated/gst/plugin.d.ts +0 -41
- package/dist/generated/gst/plugin.js +0 -132
- package/dist/generated/gst/promise.d.ts +0 -9
- package/dist/generated/gst/promise.js +1 -27
- package/dist/generated/gst/registry.d.ts +0 -21
- package/dist/generated/gst/registry.js +0 -73
- package/dist/generated/gst/structure.d.ts +0 -52
- package/dist/generated/gst/structure.js +0 -178
- package/dist/generated/gst/tag-list.d.ts +0 -7
- package/dist/generated/gst/tag-list.js +0 -28
- package/dist/generated/gst/task-pool.d.ts +0 -6
- package/dist/generated/gst/task-pool.js +0 -38
- package/dist/generated/gst/type-find.d.ts +0 -15
- package/dist/generated/gst/type-find.js +0 -58
- package/dist/generated/gstbase/collect-pads.d.ts +0 -108
- package/dist/generated/gstbase/collect-pads.js +0 -243
- package/dist/generated/gstbase/functions.d.ts +0 -45
- package/dist/generated/gstbase/functions.js +0 -132
- package/dist/generated/gtk/assistant.d.ts +0 -13
- package/dist/generated/gtk/assistant.js +0 -34
- package/dist/generated/gtk/builder-cscope.d.ts +0 -13
- package/dist/generated/gtk/builder-cscope.js +0 -28
- package/dist/generated/gtk/cell-area.d.ts +0 -31
- package/dist/generated/gtk/cell-area.js +0 -114
- package/dist/generated/gtk/cell-layout.d.ts +0 -14
- package/dist/generated/gtk/cell-layout.js +0 -39
- package/dist/generated/gtk/cell-view.d.ts +0 -14
- package/dist/generated/gtk/cell-view.js +0 -39
- package/dist/generated/gtk/combo-box.d.ts +0 -25
- package/dist/generated/gtk/combo-box.js +0 -72
- package/dist/generated/gtk/drawing-area.d.ts +2 -1
- package/dist/generated/gtk/drawing-area.js +6 -1
- package/dist/generated/gtk/entry-completion.d.ts +0 -24
- package/dist/generated/gtk/entry-completion.js +0 -69
- package/dist/generated/gtk/expression.d.ts +0 -14
- package/dist/generated/gtk/expression.js +0 -45
- package/dist/generated/gtk/flow-box.d.ts +0 -68
- package/dist/generated/gtk/flow-box.js +0 -150
- package/dist/generated/gtk/font-button.d.ts +0 -8
- package/dist/generated/gtk/font-button.js +0 -29
- package/dist/generated/gtk/font-chooser-dialog.d.ts +0 -8
- package/dist/generated/gtk/font-chooser-dialog.js +0 -29
- package/dist/generated/gtk/font-chooser-widget.d.ts +0 -8
- package/dist/generated/gtk/font-chooser-widget.js +0 -29
- package/dist/generated/gtk/font-chooser.d.ts +0 -8
- package/dist/generated/gtk/font-chooser.js +0 -29
- package/dist/generated/gtk/functions.d.ts +0 -23
- package/dist/generated/gtk/functions.js +0 -69
- package/dist/generated/gtk/icon-view.d.ts +0 -21
- package/dist/generated/gtk/icon-view.js +0 -62
- package/dist/generated/gtk/index.d.ts +0 -7
- package/dist/generated/gtk/index.js +0 -7
- package/dist/generated/gtk/list-box.d.ts +0 -99
- package/dist/generated/gtk/list-box.js +0 -203
- package/dist/generated/gtk/list-store.d.ts +0 -33
- package/dist/generated/gtk/list-store.js +0 -95
- package/dist/generated/gtk/menu-button.d.ts +0 -18
- package/dist/generated/gtk/menu-button.js +0 -40
- package/dist/generated/gtk/print-job.d.ts +0 -7
- package/dist/generated/gtk/print-job.js +0 -27
- package/dist/generated/gtk/print-settings.d.ts +0 -6
- package/dist/generated/gtk/print-settings.js +0 -22
- package/dist/generated/gtk/scale.d.ts +0 -14
- package/dist/generated/gtk/scale.js +0 -36
- package/dist/generated/gtk/text-buffer.d.ts +0 -19
- package/dist/generated/gtk/text-buffer.js +0 -42
- package/dist/generated/gtk/text-iter.d.ts +0 -19
- package/dist/generated/gtk/text-iter.js +0 -81
- package/dist/generated/gtk/text-tag-table.d.ts +0 -9
- package/dist/generated/gtk/text-tag-table.js +0 -25
- package/dist/generated/gtk/tree-model-filter.d.ts +0 -68
- package/dist/generated/gtk/tree-model-filter.js +0 -137
- package/dist/generated/gtk/tree-model-sort.d.ts +0 -33
- package/dist/generated/gtk/tree-model-sort.js +0 -95
- package/dist/generated/gtk/tree-model.d.ts +0 -9
- package/dist/generated/gtk/tree-model.js +0 -25
- package/dist/generated/gtk/tree-selection.d.ts +0 -20
- package/dist/generated/gtk/tree-selection.js +0 -57
- package/dist/generated/gtk/tree-sortable.d.ts +0 -24
- package/dist/generated/gtk/tree-sortable.js +0 -70
- package/dist/generated/gtk/tree-store.d.ts +0 -33
- package/dist/generated/gtk/tree-store.js +0 -95
- package/dist/generated/gtk/tree-view-column.d.ts +0 -14
- package/dist/generated/gtk/tree-view-column.js +0 -39
- package/dist/generated/gtk/tree-view.d.ts +0 -54
- package/dist/generated/gtk/tree-view.js +0 -167
- package/dist/generated/gtk/widget.d.ts +0 -32
- package/dist/generated/gtk/widget.js +0 -50
- package/dist/generated/gtksource/functions.d.ts +0 -21
- package/dist/generated/gtksource/functions.js +0 -49
- package/dist/generated/harfbuzz/functions.d.ts +0 -448
- package/dist/generated/harfbuzz/functions.js +3736 -5611
- package/dist/generated/javascriptcore/class.d.ts +0 -94
- package/dist/generated/javascriptcore/class.js +0 -272
- package/dist/generated/javascriptcore/context.d.ts +0 -13
- package/dist/generated/javascriptcore/context.js +0 -34
- package/dist/generated/javascriptcore/functions.d.ts +0 -7
- package/dist/generated/javascriptcore/functions.js +0 -19
- package/dist/generated/javascriptcore/value.d.ts +0 -72
- package/dist/generated/javascriptcore/value.js +0 -202
- package/dist/generated/json/array.d.ts +0 -11
- package/dist/generated/json/array.js +0 -32
- package/dist/generated/json/object.d.ts +0 -14
- package/dist/generated/json/object.js +0 -35
- package/dist/generated/pango/attr-list.d.ts +0 -8
- package/dist/generated/pango/attr-list.js +0 -37
- package/dist/generated/pango/fontset.d.ts +0 -9
- package/dist/generated/pango/fontset.js +0 -25
- package/dist/generated/pango/functions.d.ts +0 -13
- package/dist/generated/pango/functions.js +0 -55
- package/dist/generated/pangocairo/functions.d.ts +0 -11
- package/dist/generated/pangocairo/functions.js +0 -33
- package/dist/generated/soup/auth-domain-basic.d.ts +0 -17
- package/dist/generated/soup/auth-domain-basic.js +0 -37
- package/dist/generated/soup/auth-domain-digest.d.ts +0 -17
- package/dist/generated/soup/auth-domain-digest.js +0 -37
- package/dist/generated/soup/auth-domain.d.ts +0 -44
- package/dist/generated/soup/auth-domain.js +0 -84
- package/dist/generated/soup/logger.d.ts +0 -32
- package/dist/generated/soup/logger.js +0 -92
- package/dist/generated/soup/message-headers.d.ts +0 -17
- package/dist/generated/soup/message-headers.js +0 -38
- package/dist/generated/soup/server.d.ts +0 -99
- package/dist/generated/soup/server.js +0 -184
- package/dist/generated/vte/terminal.d.ts +0 -168
- package/dist/generated/vte/terminal.js +0 -483
- package/dist/generated/webkit/web-context.d.ts +0 -44
- package/dist/generated/webkit/web-context.js +0 -68
- package/package.json +3 -3
- package/dist/generated/adw/callback-animation-target.d.ts +0 -19
- package/dist/generated/adw/callback-animation-target.js +0 -64
- package/dist/generated/atspi/device-listener.d.ts +0 -26
- package/dist/generated/atspi/device-listener.js +0 -104
- package/dist/generated/atspi/event-listener.d.ts +0 -155
- package/dist/generated/atspi/event-listener.js +0 -496
- package/dist/generated/gio/simple-async-result.d.ts +0 -328
- package/dist/generated/gio/simple-async-result.js +0 -588
- package/dist/generated/gio/task.d.ts +0 -936
- package/dist/generated/gio/task.js +0 -1460
- package/dist/generated/gst/task.d.ts +0 -128
- package/dist/generated/gst/task.js +0 -363
- package/dist/generated/gtk/callback-action.d.ts +0 -16
- package/dist/generated/gtk/callback-action.js +0 -61
- package/dist/generated/gtk/cclosure-expression.d.ts +0 -20
- package/dist/generated/gtk/cclosure-expression.js +0 -68
- package/dist/generated/gtk/custom-filter.d.ts +0 -35
- package/dist/generated/gtk/custom-filter.js +0 -119
- package/dist/generated/gtk/custom-layout.d.ts +0 -26
- package/dist/generated/gtk/custom-layout.js +0 -71
- package/dist/generated/gtk/custom-sorter.d.ts +0 -34
- package/dist/generated/gtk/custom-sorter.js +0 -114
- package/dist/generated/gtk/map-list-model.d.ts +0 -173
- package/dist/generated/gtk/map-list-model.js +0 -361
- package/dist/generated/gtk/tree-list-model.d.ts +0 -145
- package/dist/generated/gtk/tree-list-model.js +0 -310
package/dist/cairo/cairo.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { call } from "@gtkx/native";
|
|
6
6
|
const LIB = "libcairo.so.2";
|
|
7
|
-
const CAIRO_T = { type: "
|
|
7
|
+
const CAIRO_T = { type: "boxed", innerType: "cairo_t", lib: LIB, borrowed: true };
|
|
8
8
|
/**
|
|
9
9
|
* Begin a new sub-path. After this call the current point will be (x, y).
|
|
10
10
|
*/
|
|
@@ -187,6 +187,9 @@ const hasRefParameter = (params, typeMapper) => {
|
|
|
187
187
|
return result;
|
|
188
188
|
};
|
|
189
189
|
const isVararg = (param) => param.name === "..." || param.name === "";
|
|
190
|
+
const hasUnsupportedCallbacks = (params, typeMapper) => {
|
|
191
|
+
return params.some((p) => typeMapper.hasUnsupportedCallback(p));
|
|
192
|
+
};
|
|
190
193
|
/**
|
|
191
194
|
* Generates TypeScript FFI bindings from GIR namespace definitions.
|
|
192
195
|
* Creates classes, methods, properties, and signal handlers that call
|
|
@@ -239,6 +242,7 @@ export class CodeGenerator {
|
|
|
239
242
|
async generateNamespace(namespace) {
|
|
240
243
|
const files = new Map();
|
|
241
244
|
this.currentSharedLibrary = namespace.sharedLibrary;
|
|
245
|
+
this.typeMapper.clearSkippedClasses();
|
|
242
246
|
this.registerEnumsAndBitfields(namespace);
|
|
243
247
|
this.registerRecords(namespace);
|
|
244
248
|
this.registerInterfaces(namespace);
|
|
@@ -255,7 +259,13 @@ export class CodeGenerator {
|
|
|
255
259
|
}
|
|
256
260
|
const sortedClasses = this.topologicalSortClasses(namespace.classes, classMap);
|
|
257
261
|
for (const cls of sortedClasses) {
|
|
258
|
-
|
|
262
|
+
const generatedClass = await this.generateClass(cls, namespace.sharedLibrary, classMap, interfaceMap);
|
|
263
|
+
if (generatedClass !== null) {
|
|
264
|
+
files.set(`${toKebabCase(cls.name)}.ts`, generatedClass);
|
|
265
|
+
}
|
|
266
|
+
else {
|
|
267
|
+
this.typeMapper.registerSkippedClass(cls.name);
|
|
268
|
+
}
|
|
259
269
|
}
|
|
260
270
|
for (const iface of namespace.interfaces) {
|
|
261
271
|
files.set(`${toKebabCase(iface.name)}.ts`, await this.generateInterface(iface, namespace.sharedLibrary, classMap));
|
|
@@ -356,6 +366,12 @@ export class CodeGenerator {
|
|
|
356
366
|
});
|
|
357
367
|
}
|
|
358
368
|
async generateClass(cls, sharedLibrary, classMap, interfaceMap) {
|
|
369
|
+
if (cls.constructors.length > 0) {
|
|
370
|
+
const hasAnySupportedConstructor = cls.constructors.some((c) => !hasUnsupportedCallbacks(c.parameters, this.typeMapper));
|
|
371
|
+
if (!hasAnySupportedConstructor) {
|
|
372
|
+
return null;
|
|
373
|
+
}
|
|
374
|
+
}
|
|
359
375
|
this.resetState();
|
|
360
376
|
this.cyclicReturnTypes = this.computeCyclicReturnTypes(cls, classMap);
|
|
361
377
|
const asyncMethods = new Set();
|
|
@@ -644,18 +660,19 @@ export class CodeGenerator {
|
|
|
644
660
|
return { signals: allSignals, hasCrossNamespaceParent: false };
|
|
645
661
|
}
|
|
646
662
|
generateConstructors(cls, sharedLibrary, hasParent) {
|
|
647
|
-
const
|
|
663
|
+
const supportedConstructors = cls.constructors.filter((c) => !hasUnsupportedCallbacks(c.parameters, this.typeMapper));
|
|
664
|
+
const mainConstructor = supportedConstructors.find((c) => !c.parameters.some(isVararg));
|
|
648
665
|
const sections = [];
|
|
649
666
|
if (mainConstructor && hasParent) {
|
|
650
667
|
sections.push(this.generateConstructorWithFlag(mainConstructor, sharedLibrary));
|
|
651
|
-
for (const ctor of
|
|
668
|
+
for (const ctor of supportedConstructors) {
|
|
652
669
|
if (ctor !== mainConstructor) {
|
|
653
670
|
sections.push(this.generateStaticFactoryMethod(ctor, cls.name, sharedLibrary));
|
|
654
671
|
}
|
|
655
672
|
}
|
|
656
673
|
}
|
|
657
674
|
else {
|
|
658
|
-
for (const ctor of
|
|
675
|
+
for (const ctor of supportedConstructors) {
|
|
659
676
|
sections.push(this.generateStaticFactoryMethod(ctor, cls.name, sharedLibrary));
|
|
660
677
|
}
|
|
661
678
|
if (hasParent && cls.glibGetType && !cls.abstract) {
|
|
@@ -765,8 +782,9 @@ ${allArgs}
|
|
|
765
782
|
return `${lines.join("\n")}\n`;
|
|
766
783
|
}
|
|
767
784
|
generateStaticFunctions(functions, sharedLibrary, className) {
|
|
785
|
+
const supportedFunctions = functions.filter((f) => !hasUnsupportedCallbacks(f.parameters, this.typeMapper));
|
|
768
786
|
const sections = [];
|
|
769
|
-
for (const func of
|
|
787
|
+
for (const func of supportedFunctions) {
|
|
770
788
|
sections.push(this.generateStaticFunction(func, sharedLibrary, className));
|
|
771
789
|
}
|
|
772
790
|
return sections.join("\n");
|
|
@@ -856,6 +874,9 @@ ${allArgs ? `${allArgs},` : ""}
|
|
|
856
874
|
if (generatedMethods.has(methodKey))
|
|
857
875
|
continue;
|
|
858
876
|
generatedMethods.add(methodKey);
|
|
877
|
+
if (hasUnsupportedCallbacks(method.parameters, this.typeMapper)) {
|
|
878
|
+
continue;
|
|
879
|
+
}
|
|
859
880
|
if (asyncMethods.has(method.name) || finishMethods.has(method.name)) {
|
|
860
881
|
const asyncWrapper = this.generateAsyncWrapper(method, methods, sharedLibrary, className);
|
|
861
882
|
if (asyncWrapper) {
|
|
@@ -1489,7 +1510,8 @@ ${allArgs ? `${allArgs},` : ""}
|
|
|
1489
1510
|
return this.formatCode(imports + sections.join("\n"));
|
|
1490
1511
|
}
|
|
1491
1512
|
generateRecordInitInterface(record) {
|
|
1492
|
-
const
|
|
1513
|
+
const supportedConstructors = record.constructors.filter((c) => !hasUnsupportedCallbacks(c.parameters, this.typeMapper));
|
|
1514
|
+
const mainConstructor = supportedConstructors.find((c) => !c.parameters.some(isVararg));
|
|
1493
1515
|
if (mainConstructor)
|
|
1494
1516
|
return null;
|
|
1495
1517
|
const initFields = this.getWritableFields(record.fields);
|
|
@@ -1501,7 +1523,8 @@ ${allArgs ? `${allArgs},` : ""}
|
|
|
1501
1523
|
generateRecordConstructors(record, sharedLibrary) {
|
|
1502
1524
|
const recordName = normalizeClassName(record.name, this.options.namespace);
|
|
1503
1525
|
const sections = [];
|
|
1504
|
-
const
|
|
1526
|
+
const supportedConstructors = record.constructors.filter((c) => !hasUnsupportedCallbacks(c.parameters, this.typeMapper));
|
|
1527
|
+
const mainConstructor = supportedConstructors.find((c) => !c.parameters.some(isVararg));
|
|
1505
1528
|
if (mainConstructor) {
|
|
1506
1529
|
const ctorDoc = formatMethodDoc(mainConstructor.doc, mainConstructor.parameters);
|
|
1507
1530
|
const filteredParams = mainConstructor.parameters.filter((p) => !isVararg(p));
|
|
@@ -1530,7 +1553,7 @@ ${allArgs ? `${allArgs},` : ""}
|
|
|
1530
1553
|
`);
|
|
1531
1554
|
}
|
|
1532
1555
|
}
|
|
1533
|
-
for (const ctor of
|
|
1556
|
+
for (const ctor of supportedConstructors) {
|
|
1534
1557
|
if (ctor !== mainConstructor) {
|
|
1535
1558
|
sections.push(this.generateRecordStaticFactoryMethod(ctor, recordName, sharedLibrary));
|
|
1536
1559
|
}
|
|
@@ -1571,7 +1594,8 @@ ${allArgs ? `${allArgs},` : ""}
|
|
|
1571
1594
|
}
|
|
1572
1595
|
generateRecordCreatePtr(record, sharedLibrary) {
|
|
1573
1596
|
const recordName = normalizeClassName(record.name, this.options.namespace);
|
|
1574
|
-
const
|
|
1597
|
+
const supportedConstructors = record.constructors.filter((c) => !hasUnsupportedCallbacks(c.parameters, this.typeMapper));
|
|
1598
|
+
const mainConstructor = supportedConstructors.find((c) => !c.parameters.some(isVararg));
|
|
1575
1599
|
if (!mainConstructor) {
|
|
1576
1600
|
if (record.glibTypeName && record.fields.length > 0) {
|
|
1577
1601
|
const structSize = this.calculateStructSize(record.fields);
|
|
@@ -1789,10 +1813,11 @@ ${args}
|
|
|
1789
1813
|
}
|
|
1790
1814
|
async generateFunctions(functions, sharedLibrary) {
|
|
1791
1815
|
this.resetState();
|
|
1792
|
-
|
|
1793
|
-
this.
|
|
1816
|
+
const supportedFunctions = functions.filter((f) => !hasUnsupportedCallbacks(f.parameters, this.typeMapper));
|
|
1817
|
+
this.usesRef = supportedFunctions.some((f) => hasRefParameter(f.parameters, this.typeMapper));
|
|
1818
|
+
this.usesCall = supportedFunctions.length > 0;
|
|
1794
1819
|
const sections = [];
|
|
1795
|
-
for (const func of
|
|
1820
|
+
for (const func of supportedFunctions) {
|
|
1796
1821
|
sections.push(this.generateFunction(func, sharedLibrary));
|
|
1797
1822
|
}
|
|
1798
1823
|
const imports = this.generateImports();
|
|
@@ -20,7 +20,6 @@ export * from "./breakpoint.js";
|
|
|
20
20
|
export * from "./breakpoint-bin.js";
|
|
21
21
|
export * from "./button-content.js";
|
|
22
22
|
export * from "./button-row.js";
|
|
23
|
-
export * from "./callback-animation-target.js";
|
|
24
23
|
export * from "./carousel.js";
|
|
25
24
|
export * from "./carousel-indicator-dots.js";
|
|
26
25
|
export * from "./carousel-indicator-lines.js";
|
|
@@ -20,7 +20,6 @@ export * from "./breakpoint.js";
|
|
|
20
20
|
export * from "./breakpoint-bin.js";
|
|
21
21
|
export * from "./button-content.js";
|
|
22
22
|
export * from "./button-row.js";
|
|
23
|
-
export * from "./callback-animation-target.js";
|
|
24
23
|
export * from "./carousel.js";
|
|
25
24
|
export * from "./carousel-indicator-dots.js";
|
|
26
25
|
export * from "./carousel-indicator-lines.js";
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as GObject from "../gobject/index.js";
|
|
2
|
-
import * as Gio from "../gio/index.js";
|
|
3
2
|
import * as Gtk from "../gtk/index.js";
|
|
4
3
|
/**
|
|
5
4
|
* A group of preference rows.
|
|
@@ -47,16 +46,6 @@ export declare class PreferencesGroup extends Gtk.Widget {
|
|
|
47
46
|
* @param child - the widget to add
|
|
48
47
|
*/
|
|
49
48
|
add(child: Gtk.Widget): void;
|
|
50
|
-
/**
|
|
51
|
-
* Binds `model` to @self.
|
|
52
|
-
*
|
|
53
|
-
* See [method@Gtk.ListBox.bind_model].
|
|
54
|
-
* @param model - a list model to bind
|
|
55
|
-
* @param createRowFunc - a function creating a row for each item, or `NULL` in case `model` is `NULL`
|
|
56
|
-
* @param userData - user data passed to @create_row_func
|
|
57
|
-
* @param userDataFreeFunc - function for freeing @user_data
|
|
58
|
-
*/
|
|
59
|
-
bindModel(userDataFreeFunc: () => void, model?: Gio.ListModel | null, createRowFunc?: (...args: unknown[]) => unknown | null, userData?: number | null): void;
|
|
60
49
|
/**
|
|
61
50
|
* Gets the description of @self.
|
|
62
51
|
*/
|
|
@@ -74,42 +74,6 @@ export class PreferencesGroup extends Gtk.Widget {
|
|
|
74
74
|
},
|
|
75
75
|
], { type: "undefined" });
|
|
76
76
|
}
|
|
77
|
-
/**
|
|
78
|
-
* Binds `model` to @self.
|
|
79
|
-
*
|
|
80
|
-
* See [method@Gtk.ListBox.bind_model].
|
|
81
|
-
* @param model - a list model to bind
|
|
82
|
-
* @param createRowFunc - a function creating a row for each item, or `NULL` in case `model` is `NULL`
|
|
83
|
-
* @param userData - user data passed to @create_row_func
|
|
84
|
-
* @param userDataFreeFunc - function for freeing @user_data
|
|
85
|
-
*/
|
|
86
|
-
bindModel(userDataFreeFunc, model, createRowFunc, userData) {
|
|
87
|
-
call("libadwaita-1.so.0", "adw_preferences_group_bind_model", [
|
|
88
|
-
{
|
|
89
|
-
type: { type: "gobject" },
|
|
90
|
-
value: this.id,
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
type: { type: "gobject", borrowed: true },
|
|
94
|
-
value: model?.id ?? model,
|
|
95
|
-
optional: true,
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
type: { type: "callback" },
|
|
99
|
-
value: createRowFunc,
|
|
100
|
-
optional: true,
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
type: { type: "int", size: 64, unsigned: true },
|
|
104
|
-
value: userData,
|
|
105
|
-
optional: true,
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
type: { type: "callback", trampoline: "destroy" },
|
|
109
|
-
value: userDataFreeFunc,
|
|
110
|
-
},
|
|
111
|
-
], { type: "undefined" });
|
|
112
|
-
}
|
|
113
77
|
/**
|
|
114
78
|
* Gets the description of @self.
|
|
115
79
|
*/
|
|
@@ -12,21 +12,6 @@ export declare class Device extends GObject.GObject {
|
|
|
12
12
|
* @param appId - The application ID of the application that created this device.
|
|
13
13
|
*/
|
|
14
14
|
static newFull(appId?: string | null): Device;
|
|
15
|
-
/**
|
|
16
|
-
* @param kd - a #AtspiKeyDefinition specifying the key code to grab.
|
|
17
|
-
* @param callback - the function to call when the
|
|
18
|
-
* @param userData - Data to be passed to @callback.
|
|
19
|
-
* @param callbackDestroyed - callback function to be called when `callback` is
|
|
20
|
-
*/
|
|
21
|
-
addKeyGrab(kd: KeyDefinition, callbackDestroyed: () => void, callback?: (...args: unknown[]) => unknown | null, userData?: number | null): number;
|
|
22
|
-
/**
|
|
23
|
-
* Add a callback that will receive a notification whenever a key is
|
|
24
|
-
* pressed or released.
|
|
25
|
-
* @param callback - the
|
|
26
|
-
* @param userData - Data to be passed to @callback.
|
|
27
|
-
* @param callbackDestroyed - callback function to be called when `callback` is destroyed.
|
|
28
|
-
*/
|
|
29
|
-
addKeyWatcher(callback: (...args: unknown[]) => unknown, callbackDestroyed: () => void, userData?: number | null): void;
|
|
30
15
|
clearKeyGrabs(): void;
|
|
31
16
|
/**
|
|
32
17
|
* Synthesizes a mouse event at a specific screen coordinate.
|
|
@@ -39,71 +39,6 @@ export class Device extends GObject.GObject {
|
|
|
39
39
|
], { type: "gobject", borrowed: false });
|
|
40
40
|
return getObject(ptr);
|
|
41
41
|
}
|
|
42
|
-
/**
|
|
43
|
-
* @param kd - a #AtspiKeyDefinition specifying the key code to grab.
|
|
44
|
-
* @param callback - the function to call when the
|
|
45
|
-
* @param userData - Data to be passed to @callback.
|
|
46
|
-
* @param callbackDestroyed - callback function to be called when `callback` is
|
|
47
|
-
*/
|
|
48
|
-
addKeyGrab(kd, callbackDestroyed, callback, userData) {
|
|
49
|
-
return call("libatspi.so.0", "atspi_device_add_key_grab", [
|
|
50
|
-
{
|
|
51
|
-
type: { type: "gobject" },
|
|
52
|
-
value: this.id,
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
type: {
|
|
56
|
-
type: "boxed",
|
|
57
|
-
borrowed: true,
|
|
58
|
-
innerType: "AtspiKeyDefinition",
|
|
59
|
-
lib: "libatspi.so.0",
|
|
60
|
-
},
|
|
61
|
-
value: kd?.id ?? kd,
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
type: { type: "callback" },
|
|
65
|
-
value: callback,
|
|
66
|
-
optional: true,
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
type: { type: "int", size: 64, unsigned: true },
|
|
70
|
-
value: userData,
|
|
71
|
-
optional: true,
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
type: { type: "callback", trampoline: "destroy" },
|
|
75
|
-
value: callbackDestroyed,
|
|
76
|
-
},
|
|
77
|
-
], { type: "int", size: 32, unsigned: true });
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Add a callback that will receive a notification whenever a key is
|
|
81
|
-
* pressed or released.
|
|
82
|
-
* @param callback - the
|
|
83
|
-
* @param userData - Data to be passed to @callback.
|
|
84
|
-
* @param callbackDestroyed - callback function to be called when `callback` is destroyed.
|
|
85
|
-
*/
|
|
86
|
-
addKeyWatcher(callback, callbackDestroyed, userData) {
|
|
87
|
-
call("libatspi.so.0", "atspi_device_add_key_watcher", [
|
|
88
|
-
{
|
|
89
|
-
type: { type: "gobject" },
|
|
90
|
-
value: this.id,
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
type: { type: "callback" },
|
|
94
|
-
value: callback,
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
type: { type: "int", size: 64, unsigned: true },
|
|
98
|
-
value: userData,
|
|
99
|
-
optional: true,
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
type: { type: "callback", trampoline: "destroy" },
|
|
103
|
-
value: callbackDestroyed,
|
|
104
|
-
},
|
|
105
|
-
], { type: "undefined" });
|
|
106
|
-
}
|
|
107
42
|
clearKeyGrabs() {
|
|
108
43
|
call("libatspi.so.0", "atspi_device_clear_key_grabs", [
|
|
109
44
|
{
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Ref } from "@gtkx/native";
|
|
2
2
|
import { KeyListenerSyncType, KeySynthType, Role } from "./enums.js";
|
|
3
3
|
import { Accessible } from "./accessible.js";
|
|
4
|
-
import { DeviceListener } from "./device-listener.js";
|
|
5
4
|
import * as GLib from "../glib/index.js";
|
|
6
5
|
/**
|
|
7
6
|
* Removes a device event listener from the registry's listener queue,
|
|
@@ -9,7 +8,7 @@ import * as GLib from "../glib/index.js";
|
|
|
9
8
|
* @param listener - a pointer to the #AtspiDeviceListener for which
|
|
10
9
|
* @param filter - Unused parameter.
|
|
11
10
|
*/
|
|
12
|
-
export declare const deregisterDeviceEventListener: (listener:
|
|
11
|
+
export declare const deregisterDeviceEventListener: (listener: unknown, filter?: number | null) => boolean;
|
|
13
12
|
/**
|
|
14
13
|
* Removes a keystroke event listener from the registry's listener queue,
|
|
15
14
|
* ceasing notification of events with modifiers matching @modmask.
|
|
@@ -18,7 +17,7 @@ export declare const deregisterDeviceEventListener: (listener: DeviceListener, f
|
|
|
18
17
|
* @param modmask - the key modifier mask for which this listener is to be
|
|
19
18
|
* @param eventTypes - an #AtspiKeyMaskType mask indicating which
|
|
20
19
|
*/
|
|
21
|
-
export declare const deregisterKeystrokeListener: (listener:
|
|
20
|
+
export declare const deregisterKeystrokeListener: (listener: unknown, modmask: number, eventTypes: number, keySet?: GLib.Array | null) => boolean;
|
|
22
21
|
/**
|
|
23
22
|
* Starts/enters the main event loop for the AT-SPI services.
|
|
24
23
|
*
|
|
@@ -56,15 +55,6 @@ export declare const generateKeyboardEvent: (keyval: number, synthType: KeySynth
|
|
|
56
55
|
* @param name - a string indicating which mouse event to be synthesized
|
|
57
56
|
*/
|
|
58
57
|
export declare const generateMouseEvent: (x: number, y: number, name: string) => boolean;
|
|
59
|
-
/**
|
|
60
|
-
* Like atspi_generate_mouse_event, but asynchronous.
|
|
61
|
-
* @param x - a #glong indicating the screen x coordinate of the mouse event.
|
|
62
|
-
* @param y - a #glong indicating the screen y coordinate of the mouse event.
|
|
63
|
-
* @param name - a string indicating which mouse event to be synthesized
|
|
64
|
-
* @param callback - a callback to be called when a
|
|
65
|
-
* @param callbackData - data to be passed to @callback.
|
|
66
|
-
*/
|
|
67
|
-
export declare const generateMouseEventAsync: (x: number, y: number, name: string, callback: (...args: unknown[]) => unknown, callbackData?: number | null) => void;
|
|
68
58
|
/**
|
|
69
59
|
* Gets the virtual desktop indicated by index @i.
|
|
70
60
|
* NOTE: currently multiple virtual desktops are not implemented;
|
|
@@ -108,7 +98,7 @@ export declare const isInitialized: () => boolean;
|
|
|
108
98
|
/**
|
|
109
99
|
* This function does nothing and should not be called.
|
|
110
100
|
*/
|
|
111
|
-
export declare const registerDeviceEventListener: (listener:
|
|
101
|
+
export declare const registerDeviceEventListener: (listener: unknown, eventTypes: number, filter?: number | null) => boolean;
|
|
112
102
|
/**
|
|
113
103
|
* Registers a listener for keystroke events, either pre-emptively for
|
|
114
104
|
* all windows (%ATSPI_KEYLISTENER_ALL_WINDOWS),
|
|
@@ -123,7 +113,7 @@ export declare const registerDeviceEventListener: (listener: DeviceListener, eve
|
|
|
123
113
|
* @param eventTypes - an #AtspiKeyMaskType mask indicating which
|
|
124
114
|
* @param syncType - an #AtspiKeyListenerSyncType parameter indicating
|
|
125
115
|
*/
|
|
126
|
-
export declare const registerKeystrokeListener: (listener:
|
|
116
|
+
export declare const registerKeystrokeListener: (listener: unknown, modmask: number, eventTypes: number, syncType: KeyListenerSyncType, keySet?: GLib.Array | null) => boolean;
|
|
127
117
|
/**
|
|
128
118
|
* Gets the localized description string describing the #AtspiRole @role.
|
|
129
119
|
* @param role - an #AtspiRole object to query.
|
|
@@ -197,54 +197,6 @@ export const generateMouseEvent = (x, y, name) => {
|
|
|
197
197
|
}
|
|
198
198
|
return result;
|
|
199
199
|
};
|
|
200
|
-
/**
|
|
201
|
-
* Like atspi_generate_mouse_event, but asynchronous.
|
|
202
|
-
* @param x - a #glong indicating the screen x coordinate of the mouse event.
|
|
203
|
-
* @param y - a #glong indicating the screen y coordinate of the mouse event.
|
|
204
|
-
* @param name - a string indicating which mouse event to be synthesized
|
|
205
|
-
* @param callback - a callback to be called when a
|
|
206
|
-
* @param callbackData - data to be passed to @callback.
|
|
207
|
-
*/
|
|
208
|
-
export const generateMouseEventAsync = (x, y, name, callback, callbackData) => {
|
|
209
|
-
const error = { value: null };
|
|
210
|
-
call("libatspi.so.0", "atspi_generate_mouse_event_async", [
|
|
211
|
-
{
|
|
212
|
-
type: { type: "int", size: 64, unsigned: false },
|
|
213
|
-
value: x,
|
|
214
|
-
},
|
|
215
|
-
{
|
|
216
|
-
type: { type: "int", size: 64, unsigned: false },
|
|
217
|
-
value: y,
|
|
218
|
-
},
|
|
219
|
-
{
|
|
220
|
-
type: { type: "string" },
|
|
221
|
-
value: name,
|
|
222
|
-
},
|
|
223
|
-
{
|
|
224
|
-
type: { type: "callback" },
|
|
225
|
-
value: callback,
|
|
226
|
-
},
|
|
227
|
-
{
|
|
228
|
-
type: { type: "int", size: 64, unsigned: true },
|
|
229
|
-
value: callbackData,
|
|
230
|
-
optional: true,
|
|
231
|
-
},
|
|
232
|
-
{
|
|
233
|
-
type: {
|
|
234
|
-
type: "ref",
|
|
235
|
-
innerType: {
|
|
236
|
-
type: "boxed",
|
|
237
|
-
innerType: "GError",
|
|
238
|
-
lib: "libglib-2.0.so.0",
|
|
239
|
-
},
|
|
240
|
-
},
|
|
241
|
-
value: error,
|
|
242
|
-
},
|
|
243
|
-
], { type: "undefined" });
|
|
244
|
-
if (error.value !== null) {
|
|
245
|
-
throw new NativeError(error.value);
|
|
246
|
-
}
|
|
247
|
-
};
|
|
248
200
|
/**
|
|
249
201
|
* Gets the virtual desktop indicated by index @i.
|
|
250
202
|
* NOTE: currently multiple virtual desktops are not implemented;
|
|
@@ -12,9 +12,7 @@ export * from "./application.js";
|
|
|
12
12
|
export * from "./device.js";
|
|
13
13
|
export * from "./device-a11y-manager.js";
|
|
14
14
|
export * from "./device-legacy.js";
|
|
15
|
-
export * from "./device-listener.js";
|
|
16
15
|
export * from "./device-x11.js";
|
|
17
|
-
export * from "./event-listener.js";
|
|
18
16
|
export * from "./hyperlink.js";
|
|
19
17
|
export * from "./match-rule.js";
|
|
20
18
|
export * from "./relation.js";
|
|
@@ -12,9 +12,7 @@ export * from "./application.js";
|
|
|
12
12
|
export * from "./device.js";
|
|
13
13
|
export * from "./device-a11y-manager.js";
|
|
14
14
|
export * from "./device-legacy.js";
|
|
15
|
-
export * from "./device-listener.js";
|
|
16
15
|
export * from "./device-x11.js";
|
|
17
|
-
export * from "./event-listener.js";
|
|
18
16
|
export * from "./hyperlink.js";
|
|
19
17
|
export * from "./match-rule.js";
|
|
20
18
|
export * from "./relation.js";
|
|
@@ -38,17 +38,6 @@ import * as GObject from "../gobject/index.js";
|
|
|
38
38
|
*/
|
|
39
39
|
export declare class Cursor extends GObject.GObject {
|
|
40
40
|
static readonly glibTypeName: string;
|
|
41
|
-
/**
|
|
42
|
-
* Creates a new callback-based cursor object.
|
|
43
|
-
*
|
|
44
|
-
* Cursors of this kind produce textures for the cursor
|
|
45
|
-
* image on demand, when the `callback` is called.
|
|
46
|
-
* @param callback - the `GdkCursorGetTextureCallback`
|
|
47
|
-
* @param data - data to pass to @callback
|
|
48
|
-
* @param destroy - destroy notify for @data
|
|
49
|
-
* @param fallback - the `GdkCursor` to fall back to when
|
|
50
|
-
*/
|
|
51
|
-
constructor(callback: (...args: unknown[]) => unknown, destroy: () => void, data?: number | null, fallback?: Cursor | null);
|
|
52
41
|
/**
|
|
53
42
|
* Creates a new cursor by looking up `name` in the current cursor
|
|
54
43
|
* theme.
|
|
@@ -98,7 +87,7 @@ export declare class Cursor extends GObject.GObject {
|
|
|
98
87
|
* @param name - the name of the cursor
|
|
99
88
|
* @param fallback - %NULL or the `GdkCursor` to fall back to when
|
|
100
89
|
*/
|
|
101
|
-
|
|
90
|
+
constructor(name: string, fallback?: Cursor | null);
|
|
102
91
|
/**
|
|
103
92
|
* Creates a new cursor from a `GdkTexture`.
|
|
104
93
|
* @param texture - the texture providing the pixel data
|
|
@@ -40,48 +40,6 @@ import * as GObject from "../gobject/index.js";
|
|
|
40
40
|
*/
|
|
41
41
|
export class Cursor extends GObject.GObject {
|
|
42
42
|
static glibTypeName = "GdkCursor";
|
|
43
|
-
/**
|
|
44
|
-
* Creates a new callback-based cursor object.
|
|
45
|
-
*
|
|
46
|
-
* Cursors of this kind produce textures for the cursor
|
|
47
|
-
* image on demand, when the `callback` is called.
|
|
48
|
-
* @param callback - the `GdkCursorGetTextureCallback`
|
|
49
|
-
* @param data - data to pass to @callback
|
|
50
|
-
* @param destroy - destroy notify for @data
|
|
51
|
-
* @param fallback - the `GdkCursor` to fall back to when
|
|
52
|
-
*/
|
|
53
|
-
constructor(callback, destroy, data, fallback) {
|
|
54
|
-
if (!isInstantiating) {
|
|
55
|
-
setInstantiating(true);
|
|
56
|
-
// @ts-ignore
|
|
57
|
-
super();
|
|
58
|
-
setInstantiating(false);
|
|
59
|
-
this.id = call("libgtk-4.so.1", "gdk_cursor_new_from_callback", [
|
|
60
|
-
{
|
|
61
|
-
type: { type: "callback" },
|
|
62
|
-
value: callback,
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
type: { type: "int", size: 64, unsigned: true },
|
|
66
|
-
value: data,
|
|
67
|
-
optional: true,
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
type: { type: "callback", trampoline: "destroy" },
|
|
71
|
-
value: destroy,
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
type: { type: "gobject", borrowed: true },
|
|
75
|
-
value: fallback?.id ?? fallback,
|
|
76
|
-
optional: true,
|
|
77
|
-
},
|
|
78
|
-
], { type: "gobject", borrowed: true });
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
// @ts-ignore
|
|
82
|
-
super();
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
43
|
/**
|
|
86
44
|
* Creates a new cursor by looking up `name` in the current cursor
|
|
87
45
|
* theme.
|
|
@@ -131,19 +89,28 @@ export class Cursor extends GObject.GObject {
|
|
|
131
89
|
* @param name - the name of the cursor
|
|
132
90
|
* @param fallback - %NULL or the `GdkCursor` to fall back to when
|
|
133
91
|
*/
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
92
|
+
constructor(name, fallback) {
|
|
93
|
+
if (!isInstantiating) {
|
|
94
|
+
setInstantiating(true);
|
|
95
|
+
// @ts-ignore
|
|
96
|
+
super();
|
|
97
|
+
setInstantiating(false);
|
|
98
|
+
this.id = call("libgtk-4.so.1", "gdk_cursor_new_from_name", [
|
|
99
|
+
{
|
|
100
|
+
type: { type: "string" },
|
|
101
|
+
value: name,
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
type: { type: "gobject", borrowed: true },
|
|
105
|
+
value: fallback?.id ?? fallback,
|
|
106
|
+
optional: true,
|
|
107
|
+
},
|
|
108
|
+
], { type: "gobject", borrowed: true });
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
// @ts-ignore
|
|
112
|
+
super();
|
|
113
|
+
}
|
|
147
114
|
}
|
|
148
115
|
/**
|
|
149
116
|
* Creates a new cursor from a `GdkTexture`.
|
|
@@ -172,32 +172,6 @@ export declare const contentDeserializeFinish: (result: Gio.AsyncResult, value:
|
|
|
172
172
|
* @param string - the string to parse
|
|
173
173
|
*/
|
|
174
174
|
export declare const contentFormatsParse: (string: string) => ContentFormats | null;
|
|
175
|
-
/**
|
|
176
|
-
* Registers a function to deserialize object of a given type.
|
|
177
|
-
*
|
|
178
|
-
* Since 4.20, when looking up a deserializer to use, GTK will
|
|
179
|
-
* use the last registered deserializer for a given mime type,
|
|
180
|
-
* so applications can override the built-in deserializers.
|
|
181
|
-
* @param mimeType - the mime type which the function can deserialize from
|
|
182
|
-
* @param type - the type of objects that the function creates
|
|
183
|
-
* @param deserialize - the callback
|
|
184
|
-
* @param data - data that `deserialize` can access
|
|
185
|
-
* @param notify - destroy notify for @data
|
|
186
|
-
*/
|
|
187
|
-
export declare const contentRegisterDeserializer: (mimeType: string, type: number, deserialize: (...args: unknown[]) => unknown, notify: () => void, data?: number | null) => void;
|
|
188
|
-
/**
|
|
189
|
-
* Registers a function to serialize objects of a given type.
|
|
190
|
-
*
|
|
191
|
-
* Since 4.20, when looking up a serializer to use, GTK will
|
|
192
|
-
* use the last registered serializer for a given mime type,
|
|
193
|
-
* so applications can override the built-in serializers.
|
|
194
|
-
* @param type - the type of objects that the function can serialize
|
|
195
|
-
* @param mimeType - the mime type to serialize to
|
|
196
|
-
* @param serialize - the callback
|
|
197
|
-
* @param data - data that `serialize` can access
|
|
198
|
-
* @param notify - destroy notify for @data
|
|
199
|
-
*/
|
|
200
|
-
export declare const contentRegisterSerializer: (type: number, mimeType: string, serialize: (...args: unknown[]) => unknown, notify: () => void, data?: number | null) => void;
|
|
201
175
|
/**
|
|
202
176
|
* Serialize content and write it to the given output stream, asynchronously.
|
|
203
177
|
*
|