wasm-vips 0.0.2 → 0.0.4

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/lib/vips.d.ts CHANGED
@@ -1,16 +1,47 @@
1
- declare namespace vips {
1
+ declare function Vips(config?: Partial<EmscriptenModule>): Promise<NonNullable<typeof Vips>>;
2
2
 
3
+ type ModuleCallback = { (module?: any): void };
4
+
5
+ interface EmscriptenModule {
6
+ print(str: string): void;
7
+ printErr(str: string): void;
8
+
9
+ dynamicLibraries: string[];
10
+
11
+ preInit: ModuleCallback | ModuleCallback[];
12
+ preRun: ModuleCallback | ModuleCallback[];
13
+ postRun: ModuleCallback | ModuleCallback[];
14
+
15
+ onAbort: { (what: any): void };
16
+ onRuntimeInitialized: { (): void };
17
+
18
+ instantiateWasm(
19
+ imports: WebAssembly.Imports,
20
+ successCallback: (instance: WebAssembly.Instance, module: WebAssembly.Module) => void
21
+ ): WebAssembly.Exports;
22
+ locateFile(url: string, scriptDirectory: string): string;
23
+ mainScriptUrlOrBlob: Blob | File | string;
24
+ }
25
+
26
+ declare module Vips {
3
27
  // Allow single pixels/images as input.
4
- type Array<T> = T | T[];
28
+ type SingleOrArray<T> = T | T[];
5
29
 
6
30
  type Enum = string | number;
7
31
  type Flag = string | number;
8
32
  type Blob = string | ArrayBuffer | Uint8Array | Uint8ClampedArray | Int8Array;
9
- type ArrayConstant = Array<number>;
10
- type ArrayImage = Array<Image> | Vector<Image>;
33
+ type ArrayConstant = SingleOrArray<number>;
34
+ type ArrayImage = SingleOrArray<Image> | Vector<Image>;
35
+ type DeletionFuncs<T extends EmbindClassHandle<T>> = EmbindClassHandle<T>[];
11
36
 
12
37
  //#region Utility functions
13
38
 
39
+ /**
40
+ * Queue of handles to be deleted.
41
+ * This is filled when [[deleteLater]] is called on the handle.
42
+ */
43
+ const deletionQueue: DeletionFuncs<Image | Connection | Interpolate>;
44
+
14
45
  /**
15
46
  * Get the major, minor or patch version number of the libvips library.
16
47
  * When the flag is omitted, the entire version number is returned as a string.
@@ -39,6 +70,38 @@ declare namespace vips {
39
70
  */
40
71
  function concurrency(concurrency?: number): void | number;
41
72
 
73
+ /**
74
+ * Set the block state on all untrusted operations.
75
+ * For example:
76
+ * ```js
77
+ * vips.blockUntrusted(true);
78
+ * ```
79
+ * Will block all untrusted operations from running. Use:
80
+ * ```bash
81
+ * $ vips -l | grep untrusted
82
+ * ```
83
+ * at the command-line to see which operations are marked as untrusted.
84
+ * @param state Set to `true` to block the operations, set to `false` to re-enable them.
85
+ */
86
+ function blockUntrusted(state: boolean): void;
87
+
88
+ /**
89
+ * Set the block state on all operations in the libvips class hierarchy.
90
+ * For example:
91
+ * ```js
92
+ * vips.operationBlock('VipsForeignLoad', true);
93
+ * vips.operationBlock('VipsForeignLoadJpeg', false);
94
+ * ```
95
+ * Will block all load operations, except JPEG. Use:
96
+ * ```bash
97
+ * $ vips -l
98
+ * ```
99
+ * at the command-line to see the class hierarchy.
100
+ * @param name The name of the operation in the libvips class hierarchy.
101
+ * @param state Set to `true` to block the operation, set to `false` to re-enable it.
102
+ */
103
+ function operationBlock(name: string, state: boolean): void;
104
+
42
105
  /**
43
106
  * Call this to shutdown libvips and the runtime of Emscripten.
44
107
  * This is only needed on Node.js, as the thread pool of
@@ -46,14 +109,57 @@ declare namespace vips {
46
109
  */
47
110
  function shutdown(): void;
48
111
 
112
+ /**
113
+ * Convert a bigint value (usually coming from Wasm->JS call) into an int53 JS Number.
114
+ * This is used when we have an incoming i64 that we know is a pointer or size_t and
115
+ * is expected to be withing the int53 range.
116
+ * @return The converted bigint value or NaN if the incoming bigint is outside the range.
117
+ */
118
+ function bigintToI53Checked(num: bigint): number;
119
+
49
120
  //#endregion
50
121
 
51
122
  //#region APIs
52
123
 
124
+ /**
125
+ * Embind adds the following methods to all its exposed classes.
126
+ */
127
+ abstract class EmbindClassHandle<T extends EmbindClassHandle<T>> {
128
+ /**
129
+ * Returns a new handle. It must eventually also be disposed with [[delete]] or
130
+ * [[deleteLater]].
131
+ * @return A new handle.
132
+ */
133
+ clone(): T;
134
+
135
+ /**
136
+ * Signal that a C++ object is no longer needed and can be deleted.
137
+ */
138
+ delete(): void;
139
+
140
+ /**
141
+ * Signal that a C++ object is no longer needed and can be deleted later.
142
+ */
143
+ deleteLater(): void;
144
+
145
+ /**
146
+ * Check whether two Embind handles point to the same underlying object.
147
+ * @param other Embind handle for comparison.
148
+ * @return `true` if the handles point to the same underlying object.
149
+ */
150
+ isAliasOf(other: any): boolean;
151
+
152
+ /**
153
+ * Check whether this handle is deleted.
154
+ * @return `true` if this handle is deleted.
155
+ */
156
+ isDeleted(): boolean;
157
+ }
158
+
53
159
  /**
54
160
  * A sequence container representing an array that can change in size.
55
161
  */
56
- export interface Vector<T> {
162
+ interface Vector<T> extends EmbindClassHandle<Vector<T>> {
57
163
  /**
58
164
  * Adds a new element at the end of the vector, after its current last element.
59
165
  * @param val The value to be appended at the end of the container.
@@ -90,9 +196,9 @@ declare namespace vips {
90
196
  }
91
197
 
92
198
  /**
93
- * A class around libvips' operation cache.
199
+ * An abstract class around libvips' operation cache.
94
200
  */
95
- export class Cache {
201
+ abstract class Cache {
96
202
  /**
97
203
  * Gets or, when a parameter is provided, sets the maximum number of operations libvips keeps in cache.
98
204
  * @param max Maximum number of operations.
@@ -122,11 +228,11 @@ declare namespace vips {
122
228
  }
123
229
 
124
230
  /**
125
- * A class that provides the statistics of memory usage and opened files.
231
+ * An abstract class that provides the statistics of memory usage and opened files.
126
232
  * libvips watches the total amount of live tracked memory and
127
233
  * uses this information to decide when to trim caches.
128
234
  */
129
- export class Stats {
235
+ abstract class Stats {
130
236
  /**
131
237
  * Get the number of active allocations.
132
238
  * @return The number of active allocations.
@@ -155,9 +261,9 @@ declare namespace vips {
155
261
  }
156
262
 
157
263
  /**
158
- * A class for error messages and error handling.
264
+ * An abstract class for error messages and error handling.
159
265
  */
160
- export class Error {
266
+ abstract class Error {
161
267
  /**
162
268
  * Get the error buffer as a string.
163
269
  * @return The error buffer as a string.
@@ -174,7 +280,7 @@ declare namespace vips {
174
280
  /**
175
281
  * Handy utilities.
176
282
  */
177
- export class Utils {
283
+ abstract class Utils {
178
284
  /**
179
285
  * Get the GType for a name.
180
286
  * Looks up the GType for a nickname. Types below basename in the type hierarchy are searched.
@@ -195,7 +301,7 @@ declare namespace vips {
195
301
  /**
196
302
  * The abstract base Connection class.
197
303
  */
198
- export class Connection {
304
+ abstract class Connection extends EmbindClassHandle<Connection> {
199
305
  /**
200
306
  * Get the filename associated with a connection.
201
307
  */
@@ -210,7 +316,7 @@ declare namespace vips {
210
316
  /**
211
317
  * An input connection.
212
318
  */
213
- export class Source extends Connection {
319
+ class Source extends Connection {
214
320
  /**
215
321
  * Make a new source from a file.
216
322
  *
@@ -242,14 +348,14 @@ declare namespace vips {
242
348
  /**
243
349
  * A source that can be attached to callbacks to implement behavior.
244
350
  */
245
- export class SourceCustom extends Source {
351
+ class SourceCustom extends Source {
246
352
  /**
247
353
  * Attach a read handler.
248
354
  * @param ptr A pointer to an array of bytes where the read content is stored.
249
355
  * @param size The maximum number of bytes to be read.
250
356
  * @return The total number of bytes read into the buffer.
251
357
  */
252
- onRead: (ptr: number, size: number) => number;
358
+ onRead: (ptr: number, size: bigint) => bigint;
253
359
 
254
360
  /**
255
361
  * Attach a seek handler.
@@ -259,17 +365,17 @@ declare namespace vips {
259
365
  * @param size A value indicating the reference point used to obtain the new position.
260
366
  * @return The new position within the current source.
261
367
  */
262
- onSeek: (offset: number, whence: number) => number;
368
+ onSeek: (offset: bigint, whence: number) => bigint;
263
369
  }
264
370
 
265
371
  /**
266
372
  * An output connection.
267
373
  */
268
- export class Target extends Connection {
374
+ class Target extends Connection {
269
375
  /**
270
376
  * Make a new target to write to a file.
271
377
  *
272
- * Make a new target that will write to the named file. For example::
378
+ * Make a new target that will write to the named file. For example:
273
379
  * ```js
274
380
  * const target = vips.Target.newToFile('myfile.jpg');
275
381
  * ```
@@ -305,28 +411,48 @@ declare namespace vips {
305
411
  /**
306
412
  * A target that can be attached to callbacks to implement behavior.
307
413
  */
308
- export class TargetCustom extends Target {
414
+ class TargetCustom extends Target {
309
415
  /**
310
416
  * Attach a write handler.
311
417
  * @param ptr A pointer to an array of bytes which will be written to.
312
418
  * @param length The number of bytes to write.
313
419
  * @return The number of bytes that were written.
314
420
  */
315
- onWrite: (ptr: number, size: number) => number;
421
+ onWrite: (ptr: number, size: bigint) => bigint;
422
+
423
+ /* libtiff needs to be able to seek and read on targets, unfortunately.
424
+ */
425
+
426
+ /**
427
+ * Attach a read handler.
428
+ * @param ptr A pointer to an array of bytes where the read content is stored.
429
+ * @param size The maximum number of bytes to be read.
430
+ * @return The total number of bytes read from the target.
431
+ */
432
+ onRead: (ptr: number, size: bigint) => bigint;
433
+
434
+ /**
435
+ * Attach a seek handler.
436
+ * @param offset A byte offset relative to the whence parameter.
437
+ * @param size A value indicating the reference point used to obtain the new position.
438
+ * @return The new position within the current target.
439
+ */
440
+ onSeek: (offset: bigint, whence: number) => bigint;
316
441
 
317
442
  /**
318
- * Attach a finish handler.
443
+ * Attach an end handler.
319
444
  * This optional handler is called at the end of write. It should do any
320
445
  * cleaning up, if necessary.
446
+ * @return 0 on success, -1 on error.
321
447
  */
322
- onFinish: () => void;
448
+ onEnd: () => number;
323
449
  }
324
450
 
325
451
  /**
326
452
  * A class to build various interpolators.
327
453
  * For e.g. nearest, bilinear, and some non-linear.
328
454
  */
329
- export class Interpolate {
455
+ class Interpolate extends EmbindClassHandle<Interpolate> {
330
456
  /**
331
457
  * Look up an interpolator from a nickname and make one.
332
458
  * @param nickname Nickname for interpolator.
@@ -338,7 +464,7 @@ declare namespace vips {
338
464
  /**
339
465
  * An image class.
340
466
  */
341
- export class Image extends ImageAutoGen {
467
+ class Image extends ImageAutoGen {
342
468
  /**
343
469
  * Image width in pixels.
344
470
  */
@@ -456,13 +582,14 @@ declare namespace vips {
456
582
  */
457
583
  memory?: boolean
458
584
  /**
459
- * Hint the expected access pattern for the image
585
+ * Hint the expected access pattern for the image.
460
586
  */
461
587
  access?: Access | Enum
462
588
  /**
463
- * Fail on first error.
589
+ * The type of error that will cause load to fail. By default,
590
+ * loaders are permissive, that is, [[FailOn.none]].
464
591
  */
465
- fail?: boolean
592
+ fail_on?: FailOn | Enum
466
593
  }): Image;
467
594
 
468
595
  /**
@@ -520,13 +647,14 @@ declare namespace vips {
520
647
  */
521
648
  static newFromBuffer(data: Blob, strOptions?: string, options?: {
522
649
  /**
523
- * Hint the expected access pattern for the image
650
+ * Hint the expected access pattern for the image.
524
651
  */
525
652
  access?: Access | Enum
526
653
  /**
527
- * Fail on first error.
654
+ * The type of error that will cause load to fail. By default,
655
+ * loaders are permissive, that is, [[FailOn.none]].
528
656
  */
529
- fail?: boolean
657
+ fail_on?: FailOn | Enum
530
658
  }): Image;
531
659
 
532
660
  /**
@@ -541,20 +669,21 @@ declare namespace vips {
541
669
  */
542
670
  static newFromSource(source: Source, strOptions?: string, options?: {
543
671
  /**
544
- * Hint the expected access pattern for the image
672
+ * Hint the expected access pattern for the image.
545
673
  */
546
674
  access?: Access | Enum
547
675
  /**
548
- * Fail on first error.
676
+ * The type of error that will cause load to fail. By default,
677
+ * loaders are permissive, that is, [[FailOn.none]].
549
678
  */
550
- fail?: boolean
679
+ fail_on?: FailOn | Enum
551
680
  }): Image;
552
681
 
553
682
  /**
554
683
  * Create an image from a 1D array.
555
684
  *
556
685
  * A new one-band image with [[BandFormat.double]] pixels is
557
- * created from the array. These image are useful with the libvips
686
+ * created from the array. These images are useful with the libvips
558
687
  * convolution operator [[conv]].
559
688
  * @param width Image width.
560
689
  * @param height Image height.
@@ -567,7 +696,7 @@ declare namespace vips {
567
696
  * Create an image from a 2D array.
568
697
  *
569
698
  * A new one-band image with [[BandFormat.double]] pixels is
570
- * created from the array. These image are useful with the libvips
699
+ * created from the array. These images are useful with the libvips
571
700
  * convolution operator [[conv]].
572
701
  * @param array Create the image from these values.
573
702
  * @param scale Default to 1.0. What to divide each pixel by after
@@ -942,7 +1071,7 @@ declare namespace vips {
942
1071
  * @param options Optional options.
943
1072
  * @return Blended image.
944
1073
  */
945
- static composite(_in: ArrayImage, mode: Array<Enum>, options?: {
1074
+ static composite(_in: ArrayImage, mode: SingleOrArray<BlendMode>, options?: {
946
1075
  /**
947
1076
  * Array of x coordinates to join at.
948
1077
  */
@@ -968,7 +1097,7 @@ declare namespace vips {
968
1097
  * @param options Optional options.
969
1098
  * @return Blended image.
970
1099
  */
971
- composite(overlay: ArrayImage, mode: Array<Enum>, options?: {
1100
+ composite(overlay: ArrayImage, mode: SingleOrArray<BlendMode>, options?: {
972
1101
  /**
973
1102
  * Array of x coordinates to join at.
974
1103
  */
@@ -1327,13 +1456,15 @@ declare namespace vips {
1327
1456
 
1328
1457
  //#endregion
1329
1458
 
1459
+ //#region Auto-generated enumerations
1460
+
1330
1461
  /**
1331
1462
  * The format used for each band element.
1332
1463
  *
1333
1464
  * Each corresponds to a native C type for the current machine. For example,
1334
1465
  * #VIPS_FORMAT_USHORT is <type>unsigned short</type>.
1335
1466
  */
1336
- export enum BandFormat {
1467
+ enum BandFormat {
1337
1468
  /**
1338
1469
  * Unsigned char format
1339
1470
  */
@@ -1386,7 +1517,7 @@ declare namespace vips {
1386
1517
  *
1387
1518
  * The non-separable modes are not implemented.
1388
1519
  */
1389
- export enum BlendMode {
1520
+ enum BlendMode {
1390
1521
  /**
1391
1522
  * Where the second object is drawn, the first is removed
1392
1523
  */
@@ -1499,7 +1630,7 @@ declare namespace vips {
1499
1630
  * The gaps in the numbering are historical and must be maintained. Allocate
1500
1631
  * new numbers from the end.
1501
1632
  */
1502
- export enum Coding {
1633
+ enum Coding {
1503
1634
  /**
1504
1635
  * Pixels are not coded
1505
1636
  */
@@ -1525,7 +1656,7 @@ declare namespace vips {
1525
1656
  * The gaps in numbering are historical and must be maintained. Allocate
1526
1657
  * new numbers from the end.
1527
1658
  */
1528
- export enum Interpretation {
1659
+ enum Interpretation {
1529
1660
  /**
1530
1661
  * Generic many-band image
1531
1662
  */
@@ -1636,7 +1767,7 @@ declare namespace vips {
1636
1767
  *
1637
1768
  * See also: vips_image_pipelinev().
1638
1769
  */
1639
- export enum DemandStyle {
1770
+ enum DemandStyle {
1640
1771
  /**
1641
1772
  * Demand in small (typically 64x64 pixel) tiles
1642
1773
  */
@@ -1654,7 +1785,7 @@ declare namespace vips {
1654
1785
  /**
1655
1786
  * See also: vips_relational().
1656
1787
  */
1657
- export enum OperationRelational {
1788
+ enum OperationRelational {
1658
1789
  /**
1659
1790
  * ==
1660
1791
  */
@@ -1684,7 +1815,7 @@ declare namespace vips {
1684
1815
  /**
1685
1816
  * See also: vips_boolean().
1686
1817
  */
1687
- export enum OperationBoolean {
1818
+ enum OperationBoolean {
1688
1819
  /**
1689
1820
  * &
1690
1821
  */
@@ -1710,7 +1841,7 @@ declare namespace vips {
1710
1841
  /**
1711
1842
  * See also: vips_math().
1712
1843
  */
1713
- export enum OperationMath2 {
1844
+ enum OperationMath2 {
1714
1845
  /**
1715
1846
  * Pow( left, right )
1716
1847
  */
@@ -1728,7 +1859,7 @@ declare namespace vips {
1728
1859
  /**
1729
1860
  * See also: vips_complex2().
1730
1861
  */
1731
- export enum OperationComplex2 {
1862
+ enum OperationComplex2 {
1732
1863
  /**
1733
1864
  * Convert to polar coordinates
1734
1865
  */
@@ -1738,7 +1869,7 @@ declare namespace vips {
1738
1869
  /**
1739
1870
  * See also: vips_math().
1740
1871
  */
1741
- export enum OperationMath {
1872
+ enum OperationMath {
1742
1873
  /**
1743
1874
  * Sin(), angles in degrees
1744
1875
  */
@@ -1808,7 +1939,7 @@ declare namespace vips {
1808
1939
  /**
1809
1940
  * See also: vips_round().
1810
1941
  */
1811
- export enum OperationRound {
1942
+ enum OperationRound {
1812
1943
  /**
1813
1944
  * Round to nearest
1814
1945
  */
@@ -1826,7 +1957,7 @@ declare namespace vips {
1826
1957
  /**
1827
1958
  * See also: vips_complex().
1828
1959
  */
1829
- export enum OperationComplex {
1960
+ enum OperationComplex {
1830
1961
  /**
1831
1962
  * Convert to polar coordinates
1832
1963
  */
@@ -1844,7 +1975,7 @@ declare namespace vips {
1844
1975
  /**
1845
1976
  * See also: vips_complexget().
1846
1977
  */
1847
- export enum OperationComplexget {
1978
+ enum OperationComplexget {
1848
1979
  /**
1849
1980
  * Get real component
1850
1981
  */
@@ -1858,7 +1989,7 @@ declare namespace vips {
1858
1989
  /**
1859
1990
  * How to combine values. See vips_compass(), for example.
1860
1991
  */
1861
- export enum Combine {
1992
+ enum Combine {
1862
1993
  /**
1863
1994
  * Take the maximum of the possible values
1864
1995
  */
@@ -1882,7 +2013,7 @@ declare namespace vips {
1882
2013
  * @VIPS_ACCESS_SEQUENTIAL means requests will be top-to-bottom, but with some
1883
2014
  * amount of buffering behind the read point for small non-local accesses.
1884
2015
  */
1885
- export enum Access {
2016
+ enum Access {
1886
2017
  /**
1887
2018
  * Can read anywhere
1888
2019
  */
@@ -1919,7 +2050,7 @@ declare namespace vips {
1919
2050
  *
1920
2051
  * See also: vips_embed().
1921
2052
  */
1922
- export enum Extend {
2053
+ enum Extend {
1923
2054
  /**
1924
2055
  * Extend with black (all 0) pixels
1925
2056
  */
@@ -1949,7 +2080,7 @@ declare namespace vips {
1949
2080
  /**
1950
2081
  * A direction on a compass. Used for vips_gravity(), for example.
1951
2082
  */
1952
- export enum CompassDirection {
2083
+ enum CompassDirection {
1953
2084
  /**
1954
2085
  * Centre
1955
2086
  */
@@ -1996,7 +2127,7 @@ declare namespace vips {
1996
2127
  *
1997
2128
  * See also: vips_flip(), vips_join().
1998
2129
  */
1999
- export enum Direction {
2130
+ enum Direction {
2000
2131
  /**
2001
2132
  * Left-right
2002
2133
  */
@@ -2015,7 +2146,7 @@ declare namespace vips {
2015
2146
  *
2016
2147
  * See also: vips_join().
2017
2148
  */
2018
- export enum Align {
2149
+ enum Align {
2019
2150
  /**
2020
2151
  * Align low coordinate edge
2021
2152
  */
@@ -2041,7 +2172,7 @@ declare namespace vips {
2041
2172
  *
2042
2173
  * See also: vips_smartcrop().
2043
2174
  */
2044
- export enum Interesting {
2175
+ enum Interesting {
2045
2176
  /**
2046
2177
  * Do nothing
2047
2178
  */
@@ -2079,7 +2210,7 @@ declare namespace vips {
2079
2210
  *
2080
2211
  * See also: vips_rot().
2081
2212
  */
2082
- export enum Angle {
2213
+ enum Angle {
2083
2214
  /**
2084
2215
  * No rotate
2085
2216
  */
@@ -2105,7 +2236,7 @@ declare namespace vips {
2105
2236
  *
2106
2237
  * See also: vips_rot45().
2107
2238
  */
2108
- export enum Angle45 {
2239
+ enum Angle45 {
2109
2240
  /**
2110
2241
  * No rotate
2111
2242
  */
@@ -2143,7 +2274,7 @@ declare namespace vips {
2143
2274
  /**
2144
2275
  * How accurate an operation should be.
2145
2276
  */
2146
- export enum Precision {
2277
+ enum Precision {
2147
2278
  /**
2148
2279
  * Int everywhere
2149
2280
  */
@@ -2165,7 +2296,7 @@ declare namespace vips {
2165
2296
  * Each one implies the ones before it, so #VIPS_FAIL_ON_ERROR implies
2166
2297
  * #VIPS_FAIL_ON_TRUNCATED.
2167
2298
  */
2168
- export enum FailOn {
2299
+ enum FailOn {
2169
2300
  /**
2170
2301
  * Never stop
2171
2302
  */
@@ -2195,7 +2326,7 @@ declare namespace vips {
2195
2326
  *
2196
2327
  * #VIPS_FOREIGN_PPM_FORMAT_PFM images are 32-bit float pixels.
2197
2328
  */
2198
- export enum ForeignPpmFormat {
2329
+ enum ForeignPpmFormat {
2199
2330
  /**
2200
2331
  * Portable bitmap
2201
2332
  */
@@ -2217,7 +2348,7 @@ declare namespace vips {
2217
2348
  /**
2218
2349
  * Set subsampling mode.
2219
2350
  */
2220
- export enum ForeignSubsample {
2351
+ enum ForeignSubsample {
2221
2352
  /**
2222
2353
  * Prevent subsampling when quality >= 90
2223
2354
  */
@@ -2235,7 +2366,7 @@ declare namespace vips {
2235
2366
  /**
2236
2367
  * What directory layout and metadata standard to use.
2237
2368
  */
2238
- export enum ForeignDzLayout {
2369
+ enum ForeignDzLayout {
2239
2370
  /**
2240
2371
  * Use DeepZoom directory layout
2241
2372
  */
@@ -2261,7 +2392,7 @@ declare namespace vips {
2261
2392
  /**
2262
2393
  * How many pyramid layers to create.
2263
2394
  */
2264
- export enum ForeignDzDepth {
2395
+ enum ForeignDzDepth {
2265
2396
  /**
2266
2397
  * Create layers down to 1x1 pixel
2267
2398
  */
@@ -2279,7 +2410,7 @@ declare namespace vips {
2279
2410
  /**
2280
2411
  * How many pyramid layers to create.
2281
2412
  */
2282
- export enum ForeignDzContainer {
2413
+ enum ForeignDzContainer {
2283
2414
  /**
2284
2415
  * Write tiles to the filesystem
2285
2416
  */
@@ -2297,7 +2428,7 @@ declare namespace vips {
2297
2428
  /**
2298
2429
  * How to calculate the output pixels when shrinking a 2x2 region.
2299
2430
  */
2300
- export enum RegionShrink {
2431
+ enum RegionShrink {
2301
2432
  /**
2302
2433
  * Use the average
2303
2434
  */
@@ -2327,7 +2458,7 @@ declare namespace vips {
2327
2458
  /**
2328
2459
  * Tune lossy encoder settings for different image types.
2329
2460
  */
2330
- export enum ForeignWebpPreset {
2461
+ enum ForeignWebpPreset {
2331
2462
  /**
2332
2463
  * Default preset
2333
2464
  */
@@ -2365,7 +2496,7 @@ declare namespace vips {
2365
2496
  *
2366
2497
  * Use @level to set webp and zstd compression level.
2367
2498
  */
2368
- export enum ForeignTiffCompression {
2499
+ enum ForeignTiffCompression {
2369
2500
  /**
2370
2501
  * No compression
2371
2502
  */
@@ -2408,7 +2539,7 @@ declare namespace vips {
2408
2539
  * The predictor can help deflate and lzw compression. The values are fixed by
2409
2540
  * the tiff library.
2410
2541
  */
2411
- export enum ForeignTiffPredictor {
2542
+ enum ForeignTiffPredictor {
2412
2543
  /**
2413
2544
  * No prediction
2414
2545
  */
@@ -2426,7 +2557,7 @@ declare namespace vips {
2426
2557
  /**
2427
2558
  * Use inches or centimeters as the resolution unit for a tiff file.
2428
2559
  */
2429
- export enum ForeignTiffResunit {
2560
+ enum ForeignTiffResunit {
2430
2561
  /**
2431
2562
  * Use centimeters
2432
2563
  */
@@ -2442,7 +2573,7 @@ declare namespace vips {
2442
2573
  *
2443
2574
  * This is assumed to use the same numbering as %heif_compression_format.
2444
2575
  */
2445
- export enum ForeignHeifCompression {
2576
+ enum ForeignHeifCompression {
2446
2577
  /**
2447
2578
  * X265
2448
2579
  */
@@ -2467,7 +2598,7 @@ declare namespace vips {
2467
2598
  *
2468
2599
  * See also: vips_thumbnail().
2469
2600
  */
2470
- export enum Size {
2601
+ enum Size {
2471
2602
  /**
2472
2603
  * Size both up and down
2473
2604
  */
@@ -2491,7 +2622,7 @@ declare namespace vips {
2491
2622
  * scientific work, #VIPS_INTENT_RELATIVE is usually best for
2492
2623
  * accurate communication with other imaging libraries.
2493
2624
  */
2494
- export enum Intent {
2625
+ enum Intent {
2495
2626
  /**
2496
2627
  * Perceptual rendering intent
2497
2628
  */
@@ -2513,7 +2644,7 @@ declare namespace vips {
2513
2644
  /**
2514
2645
  * The resampling kernels vips supports. See vips_reduce(), for example.
2515
2646
  */
2516
- export enum Kernel {
2647
+ enum Kernel {
2517
2648
  /**
2518
2649
  * The nearest pixel to the point.
2519
2650
  */
@@ -2545,7 +2676,7 @@ declare namespace vips {
2545
2676
  * vips_icc_export(). LAB is usually best, XYZ can be more convenient in some
2546
2677
  * cases.
2547
2678
  */
2548
- export enum PCS {
2679
+ enum PCS {
2549
2680
  /**
2550
2681
  * Use CIELAB D65 as the Profile Connection Space
2551
2682
  */
@@ -2561,7 +2692,7 @@ declare namespace vips {
2561
2692
  *
2562
2693
  * See also: vips_morph().
2563
2694
  */
2564
- export enum OperationMorphology {
2695
+ enum OperationMorphology {
2565
2696
  /**
2566
2697
  * True if all set
2567
2698
  */
@@ -2580,7 +2711,7 @@ declare namespace vips {
2580
2711
  *
2581
2712
  * See also: vips_join().
2582
2713
  */
2583
- export enum CombineMode {
2714
+ enum CombineMode {
2584
2715
  /**
2585
2716
  * Set pixels to the new value
2586
2717
  */
@@ -2595,7 +2726,7 @@ declare namespace vips {
2595
2726
  * http://www.w3.org/TR/PNG-Filters.html
2596
2727
  * The values mirror those of png.h in libpng.
2597
2728
  */
2598
- export enum ForeignPngFilter {
2729
+ enum ForeignPngFilter {
2599
2730
  /**
2600
2731
  * No filtering
2601
2732
  */
@@ -2622,7 +2753,11 @@ declare namespace vips {
2622
2753
  all = 'all'
2623
2754
  }
2624
2755
 
2625
- class ImageAutoGen {
2756
+ //#endregion
2757
+
2758
+ //#region Auto-generated classes
2759
+
2760
+ abstract class ImageAutoGen extends EmbindClassHandle<ImageAutoGen> {
2626
2761
  // THIS IS A GENERATED CLASS. DO NOT EDIT DIRECTLY.
2627
2762
 
2628
2763
  /**
@@ -3052,6 +3187,10 @@ declare namespace vips {
3052
3187
  * Fetch thumbnail image.
3053
3188
  */
3054
3189
  thumbnail?: boolean
3190
+ /**
3191
+ * Remove all denial of service limits.
3192
+ */
3193
+ unlimited?: boolean
3055
3194
  /**
3056
3195
  * Force open via memory.
3057
3196
  */
@@ -3089,6 +3228,10 @@ declare namespace vips {
3089
3228
  * Fetch thumbnail image.
3090
3229
  */
3091
3230
  thumbnail?: boolean
3231
+ /**
3232
+ * Remove all denial of service limits.
3233
+ */
3234
+ unlimited?: boolean
3092
3235
  /**
3093
3236
  * Force open via memory.
3094
3237
  */
@@ -3126,6 +3269,10 @@ declare namespace vips {
3126
3269
  * Fetch thumbnail image.
3127
3270
  */
3128
3271
  thumbnail?: boolean
3272
+ /**
3273
+ * Remove all denial of service limits.
3274
+ */
3275
+ unlimited?: boolean
3129
3276
  /**
3130
3277
  * Force open via memory.
3131
3278
  */
@@ -3266,6 +3413,10 @@ declare namespace vips {
3266
3413
  * Rotate image using exif orientation.
3267
3414
  */
3268
3415
  autorotate?: boolean
3416
+ /**
3417
+ * Remove all denial of service limits.
3418
+ */
3419
+ unlimited?: boolean
3269
3420
  /**
3270
3421
  * Force open via memory.
3271
3422
  */
@@ -3299,6 +3450,10 @@ declare namespace vips {
3299
3450
  * Rotate image using exif orientation.
3300
3451
  */
3301
3452
  autorotate?: boolean
3453
+ /**
3454
+ * Remove all denial of service limits.
3455
+ */
3456
+ unlimited?: boolean
3302
3457
  /**
3303
3458
  * Force open via memory.
3304
3459
  */
@@ -3332,6 +3487,10 @@ declare namespace vips {
3332
3487
  * Rotate image using exif orientation.
3333
3488
  */
3334
3489
  autorotate?: boolean
3490
+ /**
3491
+ * Remove all denial of service limits.
3492
+ */
3493
+ unlimited?: boolean
3335
3494
  /**
3336
3495
  * Force open via memory.
3337
3496
  */
@@ -3553,7 +3712,7 @@ declare namespace vips {
3553
3712
  * @param order Filter order.
3554
3713
  * @param frequency_cutoff_x Frequency cutoff x.
3555
3714
  * @param frequency_cutoff_y Frequency cutoff y.
3556
- * @param radius radius of circle.
3715
+ * @param radius Radius of circle.
3557
3716
  * @param amplitude_cutoff Amplitude cutoff.
3558
3717
  * @param options Optional options.
3559
3718
  * @return Output image.
@@ -3668,7 +3827,7 @@ declare namespace vips {
3668
3827
  * @param height Image height in pixels.
3669
3828
  * @param frequency_cutoff_x Frequency cutoff x.
3670
3829
  * @param frequency_cutoff_y Frequency cutoff y.
3671
- * @param radius radius of circle.
3830
+ * @param radius Radius of circle.
3672
3831
  * @param amplitude_cutoff Amplitude cutoff.
3673
3832
  * @param options Optional options.
3674
3833
  * @return Output image.
@@ -3754,7 +3913,7 @@ declare namespace vips {
3754
3913
  * @param height Image height in pixels.
3755
3914
  * @param frequency_cutoff_x Frequency cutoff x.
3756
3915
  * @param frequency_cutoff_y Frequency cutoff y.
3757
- * @param radius radius of circle.
3916
+ * @param radius Radius of circle.
3758
3917
  * @param options Optional options.
3759
3918
  * @return Output image.
3760
3919
  */
@@ -4064,6 +4223,10 @@ declare namespace vips {
4064
4223
  * Background value.
4065
4224
  */
4066
4225
  background?: ArrayConstant
4226
+ /**
4227
+ * Decrypt with this password.
4228
+ */
4229
+ password?: string
4067
4230
  /**
4068
4231
  * Force open via memory.
4069
4232
  */
@@ -4109,6 +4272,10 @@ declare namespace vips {
4109
4272
  * Background value.
4110
4273
  */
4111
4274
  background?: ArrayConstant
4275
+ /**
4276
+ * Decrypt with this password.
4277
+ */
4278
+ password?: string
4112
4279
  /**
4113
4280
  * Force open via memory.
4114
4281
  */
@@ -4154,6 +4321,10 @@ declare namespace vips {
4154
4321
  * Background value.
4155
4322
  */
4156
4323
  background?: ArrayConstant
4324
+ /**
4325
+ * Decrypt with this password.
4326
+ */
4327
+ password?: string
4157
4328
  /**
4158
4329
  * Force open via memory.
4159
4330
  */
@@ -4717,6 +4888,10 @@ declare namespace vips {
4717
4888
  * Rendering intent.
4718
4889
  */
4719
4890
  intent?: Intent | Enum
4891
+ /**
4892
+ * Error level to fail on.
4893
+ */
4894
+ fail_on?: FailOn | Enum
4720
4895
  }): Image;
4721
4896
 
4722
4897
  /**
@@ -4763,6 +4938,10 @@ declare namespace vips {
4763
4938
  * Rendering intent.
4764
4939
  */
4765
4940
  intent?: Intent | Enum
4941
+ /**
4942
+ * Error level to fail on.
4943
+ */
4944
+ fail_on?: FailOn | Enum
4766
4945
  }): Image;
4767
4946
 
4768
4947
  /**
@@ -4809,6 +4988,10 @@ declare namespace vips {
4809
4988
  * Rendering intent.
4810
4989
  */
4811
4990
  intent?: Intent | Enum
4991
+ /**
4992
+ * Error level to fail on.
4993
+ */
4994
+ fail_on?: FailOn | Enum
4812
4995
  }): Image;
4813
4996
 
4814
4997
  /**
@@ -5405,7 +5588,7 @@ declare namespace vips {
5405
5588
 
5406
5589
  /**
5407
5590
  * Boolean operation across image bands.
5408
- * @param boolean boolean to perform.
5591
+ * @param boolean Boolean to perform.
5409
5592
  * @return Output image.
5410
5593
  */
5411
5594
  bandbool(boolean: OperationBoolean | Enum): Image;
@@ -5443,7 +5626,7 @@ declare namespace vips {
5443
5626
  /**
5444
5627
  * Boolean operation on two images.
5445
5628
  * @param right Right-hand image argument.
5446
- * @param boolean boolean to perform.
5629
+ * @param boolean Boolean to perform.
5447
5630
  * @return Output image.
5448
5631
  */
5449
5632
  boolean(right: Image | ArrayConstant, boolean: OperationBoolean | Enum): Image;
@@ -5564,7 +5747,7 @@ declare namespace vips {
5564
5747
 
5565
5748
  /**
5566
5749
  * Perform a complex operation on an image.
5567
- * @param cmplx complex to perform.
5750
+ * @param cmplx Complex to perform.
5568
5751
  * @return Output image.
5569
5752
  */
5570
5753
  complex(cmplx: OperationComplex | Enum): Image;
@@ -5572,7 +5755,7 @@ declare namespace vips {
5572
5755
  /**
5573
5756
  * Complex binary operations on two images.
5574
5757
  * @param right Right-hand image argument.
5575
- * @param cmplx binary complex operation to perform.
5758
+ * @param cmplx Binary complex operation to perform.
5576
5759
  * @return Output image.
5577
5760
  */
5578
5761
  complex2(right: Image | ArrayConstant, cmplx: OperationComplex2 | Enum): Image;
@@ -5586,7 +5769,7 @@ declare namespace vips {
5586
5769
 
5587
5770
  /**
5588
5771
  * Get a component from a complex image.
5589
- * @param get complex to perform.
5772
+ * @param get Complex to perform.
5590
5773
  * @return Output image.
5591
5774
  */
5592
5775
  complexget(get: OperationComplexget | Enum): Image;
@@ -5999,10 +6182,6 @@ declare namespace vips {
5999
6182
  * Pyramid container type.
6000
6183
  */
6001
6184
  container?: ForeignDzContainer | Enum
6002
- /**
6003
- * Write a properties file to the output directory.
6004
- */
6005
- properties?: boolean
6006
6185
  /**
6007
6186
  * Zip deflate compression level.
6008
6187
  */
@@ -6080,9 +6259,81 @@ declare namespace vips {
6080
6259
  */
6081
6260
  container?: ForeignDzContainer | Enum
6082
6261
  /**
6083
- * Write a properties file to the output directory.
6262
+ * Zip deflate compression level.
6084
6263
  */
6085
- properties?: boolean
6264
+ compression?: number
6265
+ /**
6266
+ * Method to shrink regions.
6267
+ */
6268
+ region_shrink?: RegionShrink | Enum
6269
+ /**
6270
+ * Skip tiles which are nearly equal to the background.
6271
+ */
6272
+ skip_blanks?: number
6273
+ /**
6274
+ * Don't strip tile metadata.
6275
+ */
6276
+ no_strip?: boolean
6277
+ /**
6278
+ * Resource id.
6279
+ */
6280
+ id?: string
6281
+ /**
6282
+ * Strip all metadata from image.
6283
+ */
6284
+ strip?: boolean
6285
+ /**
6286
+ * Background value.
6287
+ */
6288
+ background?: ArrayConstant
6289
+ /**
6290
+ * Set page height for multipage save.
6291
+ */
6292
+ page_height?: number
6293
+ }): Uint8Array;
6294
+
6295
+ /**
6296
+ * Save image to deepzoom target.
6297
+ * @param target Target to save to.
6298
+ * @param options Optional options.
6299
+ */
6300
+ dzsaveTarget(target: Target, options?: {
6301
+ /**
6302
+ * Base name to save to.
6303
+ */
6304
+ basename?: string
6305
+ /**
6306
+ * Directory layout.
6307
+ */
6308
+ layout?: ForeignDzLayout | Enum
6309
+ /**
6310
+ * Filename suffix for tiles.
6311
+ */
6312
+ suffix?: string
6313
+ /**
6314
+ * Tile overlap in pixels.
6315
+ */
6316
+ overlap?: number
6317
+ /**
6318
+ * Tile size in pixels.
6319
+ */
6320
+ tile_size?: number
6321
+ /**
6322
+ * Center image in tile.
6323
+ */
6324
+ centre?: boolean
6325
+ /**
6326
+ * Pyramid depth.
6327
+ */
6328
+ depth?: ForeignDzDepth | Enum
6329
+ /**
6330
+ * Rotate image during save.
6331
+ */
6332
+ angle?: Angle | Enum
6333
+ /**
6334
+ * Pyramid container type.
6335
+ */
6336
+ container?: ForeignDzContainer | Enum
6086
6337
  /**
6087
6338
  * Zip deflate compression level.
6088
6339
  */
@@ -6115,7 +6366,7 @@ declare namespace vips {
6115
6366
  * Set page height for multipage save.
6116
6367
  */
6117
6368
  page_height?: number
6118
- }): Uint8Array;
6369
+ }): void;
6119
6370
 
6120
6371
  /**
6121
6372
  * Embed an image in a larger image.
@@ -6302,6 +6553,18 @@ declare namespace vips {
6302
6553
  * Number of bits per pixel.
6303
6554
  */
6304
6555
  bitdepth?: number
6556
+ /**
6557
+ * Maximum inter-frame error for transparency.
6558
+ */
6559
+ interframe_maxerror?: number
6560
+ /**
6561
+ * Reoptimise colour palettes.
6562
+ */
6563
+ reoptimise?: boolean
6564
+ /**
6565
+ * Maximum inter-palette error for palette reusage.
6566
+ */
6567
+ interpalette_maxerror?: number
6305
6568
  /**
6306
6569
  * Strip all metadata from image.
6307
6570
  */
@@ -6334,6 +6597,18 @@ declare namespace vips {
6334
6597
  * Number of bits per pixel.
6335
6598
  */
6336
6599
  bitdepth?: number
6600
+ /**
6601
+ * Maximum inter-frame error for transparency.
6602
+ */
6603
+ interframe_maxerror?: number
6604
+ /**
6605
+ * Reoptimise colour palettes.
6606
+ */
6607
+ reoptimise?: boolean
6608
+ /**
6609
+ * Maximum inter-palette error for palette reusage.
6610
+ */
6611
+ interpalette_maxerror?: number
6337
6612
  /**
6338
6613
  * Strip all metadata from image.
6339
6614
  */
@@ -6366,6 +6641,18 @@ declare namespace vips {
6366
6641
  * Number of bits per pixel.
6367
6642
  */
6368
6643
  bitdepth?: number
6644
+ /**
6645
+ * Maximum inter-frame error for transparency.
6646
+ */
6647
+ interframe_maxerror?: number
6648
+ /**
6649
+ * Reoptimise colour palettes.
6650
+ */
6651
+ reoptimise?: boolean
6652
+ /**
6653
+ * Maximum inter-palette error for palette reusage.
6654
+ */
6655
+ interpalette_maxerror?: number
6369
6656
  /**
6370
6657
  * Strip all metadata from image.
6371
6658
  */
@@ -6398,7 +6685,7 @@ declare namespace vips {
6398
6685
 
6399
6686
  /**
6400
6687
  * Place an image within a larger image with a certain gravity.
6401
- * @param direction direction to place image within width/height.
6688
+ * @param direction Direction to place image within width/height.
6402
6689
  * @param width Image width in pixels.
6403
6690
  * @param height Image height in pixels.
6404
6691
  * @param options Optional options.
@@ -6417,9 +6704,9 @@ declare namespace vips {
6417
6704
 
6418
6705
  /**
6419
6706
  * Grid an image.
6420
- * @param tile_height chop into tiles this high.
6421
- * @param across number of tiles across.
6422
- * @param down number of tiles down.
6707
+ * @param tile_height Chop into tiles this high.
6708
+ * @param across Number of tiles across.
6709
+ * @param down Number of tiles down.
6423
6710
  * @return Output image.
6424
6711
  */
6425
6712
  grid(tile_height: number, across: number, down: number): Image;
@@ -6434,6 +6721,10 @@ declare namespace vips {
6434
6721
  * Q factor.
6435
6722
  */
6436
6723
  Q?: number
6724
+ /**
6725
+ * Number of bits per pixel.
6726
+ */
6727
+ bitdepth?: number
6437
6728
  /**
6438
6729
  * Enable lossless compression.
6439
6730
  */
@@ -6474,6 +6765,10 @@ declare namespace vips {
6474
6765
  * Q factor.
6475
6766
  */
6476
6767
  Q?: number
6768
+ /**
6769
+ * Number of bits per pixel.
6770
+ */
6771
+ bitdepth?: number
6477
6772
  /**
6478
6773
  * Enable lossless compression.
6479
6774
  */
@@ -6514,6 +6809,10 @@ declare namespace vips {
6514
6809
  * Q factor.
6515
6810
  */
6516
6811
  Q?: number
6812
+ /**
6813
+ * Number of bits per pixel.
6814
+ */
6815
+ bitdepth?: number
6517
6816
  /**
6518
6817
  * Enable lossless compression.
6519
6818
  */
@@ -7344,7 +7643,7 @@ declare namespace vips {
7344
7643
  */
7345
7644
  labelregions(options?: {
7346
7645
  /**
7347
- * Number of discrete contigious regions (output).
7646
+ * Number of discrete contiguous regions (output).
7348
7647
  */
7349
7648
  segments?: number | undefined
7350
7649
  }): Image;
@@ -7409,6 +7708,10 @@ declare namespace vips {
7409
7708
  * Apply gif transparency optimization.
7410
7709
  */
7411
7710
  optimize_gif_transparency?: boolean
7711
+ /**
7712
+ * Number of bits per pixel.
7713
+ */
7714
+ bitdepth?: number
7412
7715
  /**
7413
7716
  * Strip all metadata from image.
7414
7717
  */
@@ -7445,6 +7748,10 @@ declare namespace vips {
7445
7748
  * Apply gif transparency optimization.
7446
7749
  */
7447
7750
  optimize_gif_transparency?: boolean
7751
+ /**
7752
+ * Number of bits per pixel.
7753
+ */
7754
+ bitdepth?: number
7448
7755
  /**
7449
7756
  * Strip all metadata from image.
7450
7757
  */
@@ -7470,6 +7777,18 @@ declare namespace vips {
7470
7777
  * Interpolate pixels with this.
7471
7778
  */
7472
7779
  interpolate?: Interpolate
7780
+ /**
7781
+ * Background value.
7782
+ */
7783
+ background?: ArrayConstant
7784
+ /**
7785
+ * Images have premultiplied alpha.
7786
+ */
7787
+ premultiplied?: boolean
7788
+ /**
7789
+ * How to generate the extra pixels.
7790
+ */
7791
+ extend?: Extend | Enum
7473
7792
  }): Image;
7474
7793
 
7475
7794
  /**
@@ -7520,7 +7839,7 @@ declare namespace vips {
7520
7839
 
7521
7840
  /**
7522
7841
  * Apply a math operation to an image.
7523
- * @param math math to perform.
7842
+ * @param math Math to perform.
7524
7843
  * @return Output image.
7525
7844
  */
7526
7845
  math(math: OperationMath | Enum): Image;
@@ -7528,7 +7847,7 @@ declare namespace vips {
7528
7847
  /**
7529
7848
  * Binary math operations.
7530
7849
  * @param right Right-hand image argument.
7531
- * @param math2 math to perform.
7850
+ * @param math2 Math to perform.
7532
7851
  * @return Output image.
7533
7852
  */
7534
7853
  math2(right: Image | ArrayConstant, math2: OperationMath2 | Enum): Image;
@@ -7802,10 +8121,6 @@ declare namespace vips {
7802
8121
  * Maximum blend size.
7803
8122
  */
7804
8123
  mblend?: number
7805
- /**
7806
- * Band to search for features on.
7807
- */
7808
- bandno?: number
7809
8124
  }): Image;
7810
8125
 
7811
8126
  /**
@@ -7862,7 +8177,7 @@ declare namespace vips {
7862
8177
  phasecor(in2: Image | ArrayConstant): Image;
7863
8178
 
7864
8179
  /**
7865
- * Save image to png file.
8180
+ * Save image to file as png.
7866
8181
  * @param filename Filename to save to.
7867
8182
  * @param options Optional options.
7868
8183
  */
@@ -7880,7 +8195,7 @@ declare namespace vips {
7880
8195
  */
7881
8196
  profile?: string
7882
8197
  /**
7883
- * Libpng row filter flag(s).
8198
+ * Libspng row filter flag(s).
7884
8199
  */
7885
8200
  filter?: ForeignPngFilter | Flag
7886
8201
  /**
@@ -7918,7 +8233,7 @@ declare namespace vips {
7918
8233
  }): void;
7919
8234
 
7920
8235
  /**
7921
- * Save image to png buffer.
8236
+ * Save image to buffer as png.
7922
8237
  * @param options Optional options.
7923
8238
  * @return Buffer to save to.
7924
8239
  */
@@ -7936,7 +8251,7 @@ declare namespace vips {
7936
8251
  */
7937
8252
  profile?: string
7938
8253
  /**
7939
- * Libpng row filter flag(s).
8254
+ * Libspng row filter flag(s).
7940
8255
  */
7941
8256
  filter?: ForeignPngFilter | Flag
7942
8257
  /**
@@ -7992,7 +8307,7 @@ declare namespace vips {
7992
8307
  */
7993
8308
  profile?: string
7994
8309
  /**
7995
- * Libpng row filter flag(s).
8310
+ * Libspng row filter flag(s).
7996
8311
  */
7997
8312
  filter?: ForeignPngFilter | Flag
7998
8313
  /**
@@ -8235,7 +8550,7 @@ declare namespace vips {
8235
8550
 
8236
8551
  /**
8237
8552
  * Linear recombination with matrix.
8238
- * @param m matrix of coefficients.
8553
+ * @param m Matrix of coefficients.
8239
8554
  * @return Output image.
8240
8555
  */
8241
8556
  recomb(m: Image | ArrayConstant): Image;
@@ -8252,6 +8567,10 @@ declare namespace vips {
8252
8567
  * Resampling kernel.
8253
8568
  */
8254
8569
  kernel?: Kernel | Enum
8570
+ /**
8571
+ * Reducing gap.
8572
+ */
8573
+ gap?: number
8255
8574
  }): Image;
8256
8575
 
8257
8576
  /**
@@ -8265,6 +8584,10 @@ declare namespace vips {
8265
8584
  * Resampling kernel.
8266
8585
  */
8267
8586
  kernel?: Kernel | Enum
8587
+ /**
8588
+ * Reducing gap.
8589
+ */
8590
+ gap?: number
8268
8591
  }): Image;
8269
8592
 
8270
8593
  /**
@@ -8278,12 +8601,16 @@ declare namespace vips {
8278
8601
  * Resampling kernel.
8279
8602
  */
8280
8603
  kernel?: Kernel | Enum
8604
+ /**
8605
+ * Reducing gap.
8606
+ */
8607
+ gap?: number
8281
8608
  }): Image;
8282
8609
 
8283
8610
  /**
8284
8611
  * Relational operation on two images.
8285
8612
  * @param right Right-hand image argument.
8286
- * @param relational relational to perform.
8613
+ * @param relational Relational to perform.
8287
8614
  * @return Output image.
8288
8615
  */
8289
8616
  relational(right: Image | ArrayConstant, relational: OperationRelational | Enum): Image;
@@ -8314,6 +8641,10 @@ declare namespace vips {
8314
8641
  * Resampling kernel.
8315
8642
  */
8316
8643
  kernel?: Kernel | Enum
8644
+ /**
8645
+ * Reducing gap.
8646
+ */
8647
+ gap?: number
8317
8648
  /**
8318
8649
  * Vertical scale image by this factor.
8319
8650
  */
@@ -8374,7 +8705,7 @@ declare namespace vips {
8374
8705
 
8375
8706
  /**
8376
8707
  * Perform a round function on an image.
8377
- * @param round rounding operation to perform.
8708
+ * @param round Rounding operation to perform.
8378
8709
  * @return Output image.
8379
8710
  */
8380
8711
  round(round: OperationRound | Enum): Image;
@@ -8485,23 +8816,41 @@ declare namespace vips {
8485
8816
  * Shrink an image.
8486
8817
  * @param hshrink Horizontal shrink factor.
8487
8818
  * @param vshrink Vertical shrink factor.
8819
+ * @param options Optional options.
8488
8820
  * @return Output image.
8489
8821
  */
8490
- shrink(hshrink: number, vshrink: number): Image;
8822
+ shrink(hshrink: number, vshrink: number, options?: {
8823
+ /**
8824
+ * Round-up output dimensions.
8825
+ */
8826
+ ceil?: boolean
8827
+ }): Image;
8491
8828
 
8492
8829
  /**
8493
8830
  * Shrink an image horizontally.
8494
8831
  * @param hshrink Horizontal shrink factor.
8832
+ * @param options Optional options.
8495
8833
  * @return Output image.
8496
8834
  */
8497
- shrinkh(hshrink: number): Image;
8835
+ shrinkh(hshrink: number, options?: {
8836
+ /**
8837
+ * Round-up output dimensions.
8838
+ */
8839
+ ceil?: boolean
8840
+ }): Image;
8498
8841
 
8499
8842
  /**
8500
8843
  * Shrink an image vertically.
8501
8844
  * @param vshrink Vertical shrink factor.
8845
+ * @param options Optional options.
8502
8846
  * @return Output image.
8503
8847
  */
8504
- shrinkv(vshrink: number): Image;
8848
+ shrinkv(vshrink: number, options?: {
8849
+ /**
8850
+ * Round-up output dimensions.
8851
+ */
8852
+ ceil?: boolean
8853
+ }): Image;
8505
8854
 
8506
8855
  /**
8507
8856
  * Unit vector of pixel.
@@ -8674,6 +9023,10 @@ declare namespace vips {
8674
9023
  * Rendering intent.
8675
9024
  */
8676
9025
  intent?: Intent | Enum
9026
+ /**
9027
+ * Error level to fail on.
9028
+ */
9029
+ fail_on?: FailOn | Enum
8677
9030
  }): Image;
8678
9031
 
8679
9032
  /**
@@ -8884,6 +9237,110 @@ declare namespace vips {
8884
9237
  page_height?: number
8885
9238
  }): Uint8Array;
8886
9239
 
9240
+ /**
9241
+ * Save image to tiff target.
9242
+ * @param target Target to save to.
9243
+ * @param options Optional options.
9244
+ */
9245
+ tiffsaveTarget(target: Target, options?: {
9246
+ /**
9247
+ * Compression for this file.
9248
+ */
9249
+ compression?: ForeignTiffCompression | Enum
9250
+ /**
9251
+ * Q factor.
9252
+ */
9253
+ Q?: number
9254
+ /**
9255
+ * Compression prediction.
9256
+ */
9257
+ predictor?: ForeignTiffPredictor | Enum
9258
+ /**
9259
+ * Icc profile to embed.
9260
+ */
9261
+ profile?: string
9262
+ /**
9263
+ * Write a tiled tiff.
9264
+ */
9265
+ tile?: boolean
9266
+ /**
9267
+ * Tile width in pixels.
9268
+ */
9269
+ tile_width?: number
9270
+ /**
9271
+ * Tile height in pixels.
9272
+ */
9273
+ tile_height?: number
9274
+ /**
9275
+ * Write a pyramidal tiff.
9276
+ */
9277
+ pyramid?: boolean
9278
+ /**
9279
+ * Use 0 for white in 1-bit images.
9280
+ */
9281
+ miniswhite?: boolean
9282
+ /**
9283
+ * Write as a 1, 2, 4 or 8 bit image.
9284
+ */
9285
+ bitdepth?: number
9286
+ /**
9287
+ * Resolution unit.
9288
+ */
9289
+ resunit?: ForeignTiffResunit | Enum
9290
+ /**
9291
+ * Horizontal resolution in pixels/mm.
9292
+ */
9293
+ xres?: number
9294
+ /**
9295
+ * Vertical resolution in pixels/mm.
9296
+ */
9297
+ yres?: number
9298
+ /**
9299
+ * Write a bigtiff image.
9300
+ */
9301
+ bigtiff?: boolean
9302
+ /**
9303
+ * Write a properties document to imagedescription.
9304
+ */
9305
+ properties?: boolean
9306
+ /**
9307
+ * Method to shrink regions.
9308
+ */
9309
+ region_shrink?: RegionShrink | Enum
9310
+ /**
9311
+ * Zstd compression level.
9312
+ */
9313
+ level?: number
9314
+ /**
9315
+ * Enable webp lossless mode.
9316
+ */
9317
+ lossless?: boolean
9318
+ /**
9319
+ * Pyramid depth.
9320
+ */
9321
+ depth?: ForeignDzDepth | Enum
9322
+ /**
9323
+ * Save pyr layers as sub-ifds.
9324
+ */
9325
+ subifd?: boolean
9326
+ /**
9327
+ * Save with premultiplied alpha.
9328
+ */
9329
+ premultiply?: boolean
9330
+ /**
9331
+ * Strip all metadata from image.
9332
+ */
9333
+ strip?: boolean
9334
+ /**
9335
+ * Background value.
9336
+ */
9337
+ background?: ArrayConstant
9338
+ /**
9339
+ * Set page height for multipage save.
9340
+ */
9341
+ page_height?: number
9342
+ }): void;
9343
+
8887
9344
  /**
8888
9345
  * Cache an image as a set of tiles.
8889
9346
  * @param options Optional options.
@@ -9015,7 +9472,7 @@ declare namespace vips {
9015
9472
  */
9016
9473
  alpha_q?: number
9017
9474
  /**
9018
- * Optimise for minium size.
9475
+ * Optimise for minimum size.
9019
9476
  */
9020
9477
  min_size?: boolean
9021
9478
  /**
@@ -9034,6 +9491,10 @@ declare namespace vips {
9034
9491
  * Icc profile to embed.
9035
9492
  */
9036
9493
  profile?: string
9494
+ /**
9495
+ * Allow mixed encoding (might reduce file size).
9496
+ */
9497
+ mixed?: boolean
9037
9498
  /**
9038
9499
  * Strip all metadata from image.
9039
9500
  */
@@ -9079,7 +9540,7 @@ declare namespace vips {
9079
9540
  */
9080
9541
  alpha_q?: number
9081
9542
  /**
9082
- * Optimise for minium size.
9543
+ * Optimise for minimum size.
9083
9544
  */
9084
9545
  min_size?: boolean
9085
9546
  /**
@@ -9098,6 +9559,10 @@ declare namespace vips {
9098
9559
  * Icc profile to embed.
9099
9560
  */
9100
9561
  profile?: string
9562
+ /**
9563
+ * Allow mixed encoding (might reduce file size).
9564
+ */
9565
+ mixed?: boolean
9101
9566
  /**
9102
9567
  * Strip all metadata from image.
9103
9568
  */
@@ -9143,7 +9608,7 @@ declare namespace vips {
9143
9608
  */
9144
9609
  alpha_q?: number
9145
9610
  /**
9146
- * Optimise for minium size.
9611
+ * Optimise for minimum size.
9147
9612
  */
9148
9613
  min_size?: boolean
9149
9614
  /**
@@ -9162,6 +9627,10 @@ declare namespace vips {
9162
9627
  * Icc profile to embed.
9163
9628
  */
9164
9629
  profile?: string
9630
+ /**
9631
+ * Allow mixed encoding (might reduce file size).
9632
+ */
9633
+ mixed?: boolean
9165
9634
  /**
9166
9635
  * Strip all metadata from image.
9167
9636
  */
@@ -9200,4 +9669,9 @@ declare namespace vips {
9200
9669
  */
9201
9670
  zoom(xfac: number, yfac: number): Image;
9202
9671
  }
9203
- }
9672
+
9673
+ //#endregion
9674
+
9675
+ }
9676
+
9677
+ export = Vips;