@img/sharp-libvips-dev 1.1.0-rc5 → 1.2.0-rc.1

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.
Files changed (151) hide show
  1. package/cplusplus/vips-operators.cpp +39 -0
  2. package/include/archive.h +53 -2
  3. package/include/archive_entry.h +56 -25
  4. package/include/ffi.h +20 -2
  5. package/include/fontconfig/fontconfig.h +1 -1
  6. package/include/glib-2.0/gio/gdbusnameowning.h +12 -10
  7. package/include/glib-2.0/gio/gio-visibility.h +34 -0
  8. package/include/glib-2.0/gio/gsettings.h +35 -31
  9. package/include/glib-2.0/gio/gzlibcompressor.h +6 -0
  10. package/include/glib-2.0/girepository/gi-visibility.h +34 -0
  11. package/include/glib-2.0/girepository/gitypes.h +6 -0
  12. package/include/glib-2.0/glib/gbitlock.h +11 -0
  13. package/include/glib-2.0/glib/gdate.h +6 -0
  14. package/include/glib-2.0/glib/glib-visibility.h +34 -0
  15. package/include/glib-2.0/glib/gmain.h +13 -10
  16. package/include/glib-2.0/glib/gmessages.h +4 -1
  17. package/include/glib-2.0/glib/gstring.h +2 -0
  18. package/include/glib-2.0/glib/gversionmacros.h +9 -0
  19. package/include/glib-2.0/gmodule/gmodule-visibility.h +34 -0
  20. package/include/glib-2.0/gobject/gobject-visibility.h +34 -0
  21. package/include/glib-2.0/gobject/gsignal.h +33 -8
  22. package/include/harfbuzz/hb-common.h +1 -431
  23. package/include/harfbuzz/hb-deprecated.h +80 -2
  24. package/include/harfbuzz/hb-draw.h +2 -10
  25. package/include/harfbuzz/hb-face.h +1 -1
  26. package/include/harfbuzz/hb-font.h +55 -36
  27. package/include/harfbuzz/hb-paint.h +5 -3
  28. package/include/harfbuzz/hb-script-list.h +484 -0
  29. package/include/harfbuzz/hb-subset.h +22 -2
  30. package/include/harfbuzz/hb-version.h +3 -3
  31. package/include/libheif/heif.h +2 -0
  32. package/include/libheif/heif_version.h +2 -2
  33. package/include/libpng16/png.h +10 -10
  34. package/include/libpng16/pngconf.h +20 -27
  35. package/include/libpng16/pnglibconf.h +1 -1
  36. package/include/libxml2/libxml/HTMLparser.h +33 -30
  37. package/include/libxml2/libxml/HTMLtree.h +1 -0
  38. package/include/libxml2/libxml/SAX.h +2 -186
  39. package/include/libxml2/libxml/SAX2.h +2 -3
  40. package/include/libxml2/libxml/catalog.h +1 -0
  41. package/include/libxml2/libxml/debugXML.h +0 -138
  42. package/include/libxml2/libxml/encoding.h +124 -61
  43. package/include/libxml2/libxml/entities.h +0 -19
  44. package/include/libxml2/libxml/globals.h +0 -16
  45. package/include/libxml2/libxml/nanoftp.h +3 -173
  46. package/include/libxml2/libxml/parser.h +474 -231
  47. package/include/libxml2/libxml/parserInternals.h +21 -101
  48. package/include/libxml2/libxml/relaxng.h +7 -2
  49. package/include/libxml2/libxml/threads.h +0 -6
  50. package/include/libxml2/libxml/tree.h +29 -85
  51. package/include/libxml2/libxml/valid.h +20 -12
  52. package/include/libxml2/libxml/xinclude.h +5 -0
  53. package/include/libxml2/libxml/xlink.h +4 -0
  54. package/include/libxml2/libxml/xmlIO.h +15 -34
  55. package/include/libxml2/libxml/xmlautomata.h +19 -2
  56. package/include/libxml2/libxml/xmlerror.h +17 -18
  57. package/include/libxml2/libxml/xmlexports.h +6 -56
  58. package/include/libxml2/libxml/xmlmemory.h +19 -19
  59. package/include/libxml2/libxml/xmlmodule.h +4 -0
  60. package/include/libxml2/libxml/xmlreader.h +11 -3
  61. package/include/libxml2/libxml/xmlregexp.h +7 -106
  62. package/include/libxml2/libxml/xmlsave.h +11 -2
  63. package/include/libxml2/libxml/xmlschemas.h +10 -5
  64. package/include/libxml2/libxml/xmlunicode.h +3 -354
  65. package/include/libxml2/libxml/xmlversion.h +18 -33
  66. package/include/libxml2/libxml/xpath.h +5 -15
  67. package/include/libxml2/libxml/xpathInternals.h +9 -3
  68. package/include/libxml2/libxml/xpointer.h +1 -91
  69. package/include/pixman-1/pixman-version.h +2 -2
  70. package/include/pixman-1/pixman.h +200 -0
  71. package/include/png.h +10 -10
  72. package/include/pngconf.h +20 -27
  73. package/include/pnglibconf.h +1 -1
  74. package/include/vips/VImage8.h +62 -14
  75. package/include/vips/arithmetic.h +34 -34
  76. package/include/vips/basic.h +16 -0
  77. package/include/vips/buf.h +0 -5
  78. package/include/vips/colour.h +6 -7
  79. package/include/vips/connection.h +25 -37
  80. package/include/vips/enumtypes.h +11 -2
  81. package/include/vips/foreign.h +73 -43
  82. package/include/vips/format.h +7 -5
  83. package/include/vips/gate.h +0 -11
  84. package/include/vips/header.h +11 -11
  85. package/include/vips/image.h +8 -3
  86. package/include/vips/interpolate.h +0 -2
  87. package/include/vips/memory.h +4 -0
  88. package/include/vips/mosaicing.h +4 -0
  89. package/include/vips/object.h +14 -18
  90. package/include/vips/operation.h +0 -2
  91. package/include/vips/private.h +50 -2
  92. package/include/vips/region.h +1 -3
  93. package/include/vips/resample.h +2 -0
  94. package/include/vips/semaphore.h +8 -3
  95. package/include/vips/thread.h +1 -24
  96. package/include/vips/threadpool.h +0 -6
  97. package/include/vips/type.h +13 -9
  98. package/include/vips/util.h +17 -98
  99. package/include/vips/vector.h +0 -4
  100. package/include/vips/version.h +8 -8
  101. package/include/vips/vips.h +1 -0
  102. package/package.json +1 -1
  103. package/versions.json +11 -11
  104. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h +0 -221
  105. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-autocleanups.h +0 -37
  106. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h +0 -525
  107. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h +0 -40
  108. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-features.h +0 -115
  109. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h +0 -481
  110. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h +0 -113
  111. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-macros.h +0 -718
  112. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-marshal.h +0 -33
  113. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h +0 -70
  114. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h +0 -168
  115. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h +0 -46
  116. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixdata.h +0 -165
  117. package/include/glib-2.0/glib/gwin32.h +0 -142
  118. package/include/harfbuzz/hb-subset-repacker.h +0 -81
  119. package/include/hwy/ops/tuple-inl.h +0 -125
  120. package/include/orc-0.4/orc/orc-stdint.h +0 -1
  121. package/include/orc-0.4/orc/orc.h +0 -16
  122. package/include/orc-0.4/orc/orcarm.h +0 -879
  123. package/include/orc-0.4/orc/orcbytecode.h +0 -35
  124. package/include/orc-0.4/orc/orcbytecodes.h +0 -255
  125. package/include/orc-0.4/orc/orccode.h +0 -53
  126. package/include/orc-0.4/orc/orccompiler.h +0 -176
  127. package/include/orc-0.4/orc/orcconstant.h +0 -39
  128. package/include/orc-0.4/orc/orccpu.h +0 -21
  129. package/include/orc-0.4/orc/orccpuinsn.h +0 -40
  130. package/include/orc-0.4/orc/orcdebug.h +0 -158
  131. package/include/orc-0.4/orc/orcemulateopcodes.h +0 -203
  132. package/include/orc-0.4/orc/orcexecutor.h +0 -135
  133. package/include/orc-0.4/orc/orcfunctions.h +0 -93
  134. package/include/orc-0.4/orc/orcinstruction.h +0 -39
  135. package/include/orc-0.4/orc/orcinternal.h +0 -46
  136. package/include/orc-0.4/orc/orclimits.h +0 -94
  137. package/include/orc-0.4/orc/orcmips.h +0 -229
  138. package/include/orc-0.4/orc/orcmmx.h +0 -79
  139. package/include/orc-0.4/orc/orcneon.h +0 -43
  140. package/include/orc-0.4/orc/orconce.h +0 -166
  141. package/include/orc-0.4/orc/orcopcode.h +0 -63
  142. package/include/orc-0.4/orc/orcparse.h +0 -27
  143. package/include/orc-0.4/orc/orcpowerpc.h +0 -209
  144. package/include/orc-0.4/orc/orcprogram.h +0 -192
  145. package/include/orc-0.4/orc/orcrule.h +0 -52
  146. package/include/orc-0.4/orc/orcsse.h +0 -55
  147. package/include/orc-0.4/orc/orctarget.h +0 -115
  148. package/include/orc-0.4/orc/orcutils.h +0 -238
  149. package/include/orc-0.4/orc/orcvariable.h +0 -81
  150. package/include/orc-0.4/orc/orcx86.h +0 -199
  151. package/include/orc-0.4/orc/orcx86insn.h +0 -672
@@ -58,8 +58,6 @@ extern "C" {
58
58
  (G_TYPE_INSTANCE_GET_CLASS((obj), \
59
59
  VIPS_TYPE_CONNECTION, VipsConnectionClass))
60
60
 
61
- /* Communicate with something like a socket or pipe.
62
- */
63
61
  typedef struct _VipsConnection {
64
62
  VipsObject parent_object;
65
63
 
@@ -116,13 +114,6 @@ void vips_pipe_read_limit_set(gint64 limit);
116
114
  (G_TYPE_INSTANCE_GET_CLASS((obj), \
117
115
  VIPS_TYPE_SOURCE, VipsSourceClass))
118
116
 
119
- /* Read from something like a socket, file or memory area and present the data
120
- * with a unified seek / read / map interface.
121
- *
122
- * During the header phase, we save data from unseekable sources in a buffer
123
- * so readers can rewind and read again. We don't buffer data during the
124
- * decode stage.
125
- */
126
117
  struct _VipsSource {
127
118
  VipsConnection parent_object;
128
119
 
@@ -194,14 +185,14 @@ typedef struct _VipsSourceClass {
194
185
  */
195
186
 
196
187
  /* Read from the source into the supplied buffer, args exactly as
197
- * read(2). Set errno on error.
188
+ * [`read()`](man:read(2)). Set errno on error.
198
189
  *
199
190
  * We must return gint64, since ssize_t is often defined as unsigned
200
191
  * on Windows.
201
192
  */
202
- gint64 (*read)(VipsSource *, void *, size_t);
193
+ gint64 (*read)(VipsSource *source, void *buffer, size_t length);
203
194
 
204
- /* Seek to a certain position, args exactly as lseek(2). Set errno on
195
+ /* Seek to a certain position, args exactly as [`lseek()`](man:lseek(2)). Set errno on
205
196
  * error.
206
197
  *
207
198
  * Unseekable sources should always return -1. VipsSource will then
@@ -210,7 +201,7 @@ typedef struct _VipsSourceClass {
210
201
  * We have to use int64 rather than off_t, since we must work on
211
202
  * Windows, where off_t can be 32-bits.
212
203
  */
213
- gint64 (*seek)(VipsSource *, gint64, int);
204
+ gint64 (*seek)(VipsSource *source, gint64 offset, int whence);
214
205
 
215
206
  } VipsSourceClass;
216
207
 
@@ -226,7 +217,7 @@ VipsSource *vips_source_new_from_blob(VipsBlob *blob);
226
217
  VIPS_API
227
218
  VipsSource *vips_source_new_from_target(VipsTarget *target);
228
219
  VIPS_API
229
- VipsSource *vips_source_new_from_memory(const void *data, size_t size);
220
+ VipsSource *vips_source_new_from_memory(const void *data, size_t length);
230
221
  VIPS_API
231
222
  VipsSource *vips_source_new_from_options(const char *options);
232
223
 
@@ -237,7 +228,7 @@ int vips_source_unminimise(VipsSource *source);
237
228
  VIPS_API
238
229
  int vips_source_decode(VipsSource *source);
239
230
  VIPS_API
240
- gint64 vips_source_read(VipsSource *source, void *data, size_t length);
231
+ gint64 vips_source_read(VipsSource *source, void *buffer, size_t length);
241
232
  VIPS_API
242
233
  gboolean vips_source_is_mappable(VipsSource *source);
243
234
  VIPS_API
@@ -273,9 +264,6 @@ gint64 vips_source_length(VipsSource *source);
273
264
  (G_TYPE_INSTANCE_GET_CLASS((obj), \
274
265
  VIPS_TYPE_SOURCE_CUSTOM, VipsSourceCustomClass))
275
266
 
276
- /* Subclass of source_custom with signals for handlers. This is supposed to be
277
- * useful for language bindings.
278
- */
279
267
  typedef struct _VipsSourceCustom {
280
268
  VipsSource parent_object;
281
269
 
@@ -288,8 +276,8 @@ typedef struct _VipsSourceCustomClass {
288
276
  * We must use gint64 everywhere since there's no G_TYPE_SIZE.
289
277
  */
290
278
 
291
- gint64 (*read)(VipsSourceCustom *, void *, gint64);
292
- gint64 (*seek)(VipsSourceCustom *, gint64, int);
279
+ gint64 (*read)(VipsSourceCustom *source, void *buffer, gint64 length);
280
+ gint64 (*seek)(VipsSourceCustom *source, gint64 offset, int whence);
293
281
 
294
282
  } VipsSourceCustomClass;
295
283
 
@@ -355,6 +343,10 @@ GInputStream *vips_g_input_stream_new_from_source(VipsSource *source);
355
343
  (G_TYPE_INSTANCE_GET_CLASS((obj), \
356
344
  VIPS_TYPE_SOURCE_G_INPUT_STREAM, VipsSourceGInputStreamClass))
357
345
 
346
+ /**
347
+ * VipsSourceGInputStream: (copy-func g_object_ref)
348
+ * (free-func g_object_unref)
349
+ */
358
350
  typedef struct _VipsSourceGInputStream {
359
351
  VipsSource parent_instance;
360
352
 
@@ -396,8 +388,6 @@ VipsSourceGInputStream *vips_source_g_input_stream_new(GInputStream *stream);
396
388
  */
397
389
  #define VIPS_TARGET_BUFFER_SIZE (8500)
398
390
 
399
- /* Output to something like a socket, pipe or memory area.
400
- */
401
391
  struct _VipsTarget {
402
392
  VipsConnection parent_object;
403
393
 
@@ -448,11 +438,11 @@ typedef struct _VipsTargetClass {
448
438
  * We must return gint64, since ssize_t is often defined as unsigned
449
439
  * on Windows.
450
440
  */
451
- gint64 (*write)(VipsTarget *, const void *, size_t);
441
+ gint64 (*write)(VipsTarget *target, const void *data, size_t length);
452
442
 
453
443
  /* Deprecated in favour of ::end.
454
444
  */
455
- void (*finish)(VipsTarget *);
445
+ void (*finish)(VipsTarget *target);
456
446
 
457
447
  /* libtiff needs to be able to seek and read on targets,
458
448
  * unfortunately.
@@ -461,24 +451,24 @@ typedef struct _VipsTargetClass {
461
451
  */
462
452
 
463
453
  /* Read from the target into the supplied buffer, args exactly as
464
- * read(2). Set errno on error.
454
+ * [`read()`](man:read(2)). Set errno on error.
465
455
  *
466
456
  * We must return gint64, since ssize_t is often defined as unsigned
467
457
  * on Windows.
468
458
  */
469
- gint64 (*read)(VipsTarget *, void *, size_t);
459
+ gint64 (*read)(VipsTarget *target, void *buffer, size_t length);
470
460
 
471
- /* Seek output. Args exactly as lseek(2).
461
+ /* Seek output. Args exactly as [`lseek()`](man:lseek(2)).
472
462
  *
473
463
  * We have to use int64 rather than off_t, since we must work on
474
464
  * Windows, where off_t can be 32-bits.
475
465
  */
476
- gint64 (*seek)(VipsTarget *, gint64 offset, int whence);
466
+ gint64 (*seek)(VipsTarget *target, gint64 offset, int whence);
477
467
 
478
468
  /* Output has been generated, so do any clearing up,
479
469
  * eg. copy the bytes we saved in memory to the target blob.
480
470
  */
481
- int (*end)(VipsTarget *);
471
+ int (*end)(VipsTarget *target);
482
472
 
483
473
  } VipsTargetClass;
484
474
 
@@ -492,7 +482,7 @@ VipsTarget *vips_target_new_to_file(const char *filename);
492
482
  VIPS_API
493
483
  VipsTarget *vips_target_new_to_memory(void);
494
484
  VIPS_API
495
- VipsTarget *vips_target_new_temp(VipsTarget *target);
485
+ VipsTarget *vips_target_new_temp(VipsTarget *based_on);
496
486
  VIPS_API
497
487
  int vips_target_write(VipsTarget *target, const void *data, size_t length);
498
488
  VIPS_API
@@ -537,8 +527,6 @@ int vips_target_write_amp(VipsTarget *target, const char *str);
537
527
 
538
528
  #define VIPS_TARGET_CUSTOM_BUFFER_SIZE (4096)
539
529
 
540
- /* Output to something like a socket, pipe or memory area.
541
- */
542
530
  typedef struct _VipsTargetCustom {
543
531
  VipsTarget parent_object;
544
532
 
@@ -551,11 +539,11 @@ typedef struct _VipsTargetCustomClass {
551
539
  * We must use gint64 everywhere since there's no G_TYPE_SIZE.
552
540
  */
553
541
 
554
- gint64 (*write)(VipsTargetCustom *, const void *, gint64);
555
- void (*finish)(VipsTargetCustom *);
556
- gint64 (*read)(VipsTargetCustom *, void *, gint64);
557
- gint64 (*seek)(VipsTargetCustom *, gint64, int);
558
- int (*end)(VipsTargetCustom *);
542
+ gint64 (*write)(VipsTargetCustom *target, const void *data, gint64 length);
543
+ void (*finish)(VipsTargetCustom *target);
544
+ gint64 (*read)(VipsTargetCustom *target, void *buffer, gint64 length);
545
+ gint64 (*seek)(VipsTargetCustom *target, gint64 offset, int whence);
546
+ int (*end)(VipsTargetCustom *target);
559
547
 
560
548
  } VipsTargetCustomClass;
561
549
 
@@ -89,8 +89,11 @@ VIPS_API
89
89
  GType vips_fail_on_get_type(void) G_GNUC_CONST;
90
90
  #define VIPS_TYPE_FAIL_ON (vips_fail_on_get_type())
91
91
  VIPS_API
92
- GType vips_saveable_get_type(void) G_GNUC_CONST;
93
- #define VIPS_TYPE_SAVEABLE (vips_saveable_get_type())
92
+ GType vips_foreign_saveable_get_type(void) G_GNUC_CONST;
93
+ #define VIPS_TYPE_FOREIGN_SAVEABLE (vips_foreign_saveable_get_type())
94
+ VIPS_API
95
+ GType vips_foreign_coding_get_type(void) G_GNUC_CONST;
96
+ #define VIPS_TYPE_FOREIGN_CODING (vips_foreign_coding_get_type())
94
97
  VIPS_API
95
98
  GType vips_foreign_keep_get_type(void) G_GNUC_CONST;
96
99
  #define VIPS_TYPE_FOREIGN_KEEP (vips_foreign_keep_get_type())
@@ -176,6 +179,12 @@ GType vips_size_get_type(void) G_GNUC_CONST;
176
179
  VIPS_API
177
180
  GType vips_token_get_type(void) G_GNUC_CONST;
178
181
  #define VIPS_TYPE_TOKEN (vips_token_get_type())
182
+ /* Deprecated enumerations */
183
+ #ifndef __GI_SCANNER__
184
+ VIPS_API
185
+ GType vips_saveable_get_type(void) G_GNUC_CONST;
186
+ #define VIPS_TYPE_SAVEABLE (vips_saveable_get_type())
187
+ #endif /*__GI_SCANNER__*/
179
188
  G_END_DECLS
180
189
 
181
190
  #endif /*VIPS_ENUM_TYPES_H*/
@@ -82,8 +82,6 @@ typedef struct _VipsForeignClass {
82
82
 
83
83
  } VipsForeignClass;
84
84
 
85
- /* Don't put spaces around void here, it breaks gtk-doc.
86
- */
87
85
  VIPS_API
88
86
  GType vips_foreign_get_type(void);
89
87
 
@@ -117,8 +115,8 @@ typedef enum /*< flags >*/ {
117
115
  * How sensitive loaders are to errors, from never stop (very insensitive), to
118
116
  * stop on the smallest warning (very sensitive).
119
117
  *
120
- * Each one implies the ones before it, so #VIPS_FAIL_ON_ERROR implies
121
- * #VIPS_FAIL_ON_TRUNCATED.
118
+ * Each one implies the ones before it, so [enum@Vips.FailOn.ERROR] implies
119
+ * [enum@Vips.FailOn.TRUNCATED].
122
120
  */
123
121
  typedef enum {
124
122
  VIPS_FAIL_ON_NONE,
@@ -145,6 +143,7 @@ typedef enum {
145
143
 
146
144
  typedef struct _VipsForeignLoad {
147
145
  VipsForeign parent_object;
146
+
148
147
  /*< private >*/
149
148
 
150
149
  /* Set TRUE to force open via memory.
@@ -201,11 +200,12 @@ typedef struct _VipsForeignLoad {
201
200
 
202
201
  typedef struct _VipsForeignLoadClass {
203
202
  VipsForeignClass parent_class;
203
+
204
204
  /*< public >*/
205
205
 
206
206
  /* Is a file in this format.
207
207
  *
208
- * This function should return %TRUE if the file contains an image of
208
+ * This function should return `TRUE` if the file contains an image of
209
209
  * this type. If you don't define this function, #VipsForeignLoad
210
210
  * will use @suffs instead.
211
211
  */
@@ -213,14 +213,14 @@ typedef struct _VipsForeignLoadClass {
213
213
 
214
214
  /* Is a buffer in this format.
215
215
  *
216
- * This function should return %TRUE if the buffer contains an image of
216
+ * This function should return `TRUE` if the buffer contains an image of
217
217
  * this type.
218
218
  */
219
219
  gboolean (*is_a_buffer)(const void *data, size_t size);
220
220
 
221
221
  /* Is a stream in this format.
222
222
  *
223
- * This function should return %TRUE if the stream contains an image of
223
+ * This function should return `TRUE` if the stream contains an image of
224
224
  * this type.
225
225
  */
226
226
  gboolean (*is_a_source)(VipsSource *source);
@@ -268,8 +268,6 @@ typedef struct _VipsForeignLoadClass {
268
268
  int (*load)(VipsForeignLoad *load);
269
269
  } VipsForeignLoadClass;
270
270
 
271
- /* Don't put spaces around void here, it breaks gtk-doc.
272
- */
273
271
  VIPS_API
274
272
  GType vips_foreign_load_get_type(void);
275
273
 
@@ -310,25 +308,52 @@ void vips_foreign_load_invalidate(VipsImage *image);
310
308
  VIPS_TYPE_FOREIGN_SAVE, VipsForeignSaveClass))
311
309
 
312
310
  /**
313
- * VipsSaveable:
314
- * @VIPS_SAVEABLE_MONO: 1 band (eg. CSV)
315
- * @VIPS_SAVEABLE_RGB: 1 or 3 bands (eg. PPM)
316
- * @VIPS_SAVEABLE_RGBA: 1, 2, 3 or 4 bands (eg. PNG)
317
- * @VIPS_SAVEABLE_RGBA_ONLY: 3 or 4 bands (eg. WEBP)
318
- * @VIPS_SAVEABLE_RGB_CMYK: 1, 3 or 4 bands (eg. JPEG)
319
- * @VIPS_SAVEABLE_ANY: any number of bands (eg. TIFF)
320
- *
321
- * See also: #VipsForeignSave.
311
+ * VipsForeignSaveable:
312
+ * @VIPS_FOREIGN_SAVEABLE_ANY: saver supports everything (eg. TIFF)
313
+ * @VIPS_FOREIGN_SAVEABLE_MONO: 1 band
314
+ * @VIPS_FOREIGN_SAVEABLE_RGB: 3 bands
315
+ * @VIPS_FOREIGN_SAVEABLE_CMYK: 4 bands
316
+ * @VIPS_FOREIGN_SAVEABLE_ALPHA: an extra band
317
+ *
318
+ * The set of image types supported by a saver.
319
+ *
320
+ * ::: seealso
321
+ * [class@ForeignSave].
322
322
  */
323
- typedef enum {
324
- VIPS_SAVEABLE_MONO,
325
- VIPS_SAVEABLE_RGB,
326
- VIPS_SAVEABLE_RGBA,
327
- VIPS_SAVEABLE_RGBA_ONLY,
328
- VIPS_SAVEABLE_RGB_CMYK,
329
- VIPS_SAVEABLE_ANY,
330
- VIPS_SAVEABLE_LAST
331
- } VipsSaveable;
323
+ typedef enum /*< flags >*/ {
324
+ VIPS_FOREIGN_SAVEABLE_ANY = 0,
325
+ VIPS_FOREIGN_SAVEABLE_MONO = 1,
326
+ VIPS_FOREIGN_SAVEABLE_RGB = 2,
327
+ VIPS_FOREIGN_SAVEABLE_CMYK = 4,
328
+ VIPS_FOREIGN_SAVEABLE_ALPHA = 8,
329
+
330
+ VIPS_FOREIGN_SAVEABLE_ALL = (VIPS_FOREIGN_SAVEABLE_MONO |
331
+ VIPS_FOREIGN_SAVEABLE_RGB |
332
+ VIPS_FOREIGN_SAVEABLE_CMYK |
333
+ VIPS_FOREIGN_SAVEABLE_ALPHA)
334
+ } VipsForeignSaveable;
335
+
336
+ /**
337
+ * VipsForeignCoding:
338
+ * @VIPS_FOREIGN_CODING_NONE: saver supports [enum@Vips.Coding.NONE]
339
+ * @VIPS_FOREIGN_CODING_LABQ: saver supports [enum@Vips.Coding.LABQ]
340
+ * @VIPS_FOREIGN_CODING_RAD: saver supports [enum@Vips.Coding.RAD]
341
+ * @VIPS_FOREIGN_CODING_ALL: saver supports all coding types
342
+ *
343
+ * The set of coding types supported by a saver.
344
+ *
345
+ * ::: seealso
346
+ * [enum@Coding].
347
+ */
348
+ typedef enum /*< flags >*/ {
349
+ VIPS_FOREIGN_CODING_NONE = 1 << 0,
350
+ VIPS_FOREIGN_CODING_LABQ = 1 << 1,
351
+ VIPS_FOREIGN_CODING_RAD = 1 << 2,
352
+
353
+ VIPS_FOREIGN_CODING_ALL = (VIPS_FOREIGN_CODING_NONE |
354
+ VIPS_FOREIGN_CODING_LABQ |
355
+ VIPS_FOREIGN_CODING_RAD)
356
+ } VipsForeignCoding;
332
357
 
333
358
  /**
334
359
  * VipsForeignKeep:
@@ -354,7 +379,7 @@ typedef enum /*< flags >*/ {
354
379
  VIPS_FOREIGN_KEEP_XMP |
355
380
  VIPS_FOREIGN_KEEP_IPTC |
356
381
  VIPS_FOREIGN_KEEP_ICC |
357
- VIPS_FOREIGN_KEEP_OTHER),
382
+ VIPS_FOREIGN_KEEP_OTHER)
358
383
  } VipsForeignKeep;
359
384
 
360
385
  typedef struct _VipsForeignSave {
@@ -403,11 +428,11 @@ typedef struct _VipsForeignSaveClass {
403
428
 
404
429
  /* How this format treats bands.
405
430
  *
406
- * @saveable describes the bands that your saver can handle. For
431
+ * @saveable describes the image types that your saver can handle. For
407
432
  * example, PPM images can have 1 or 3 bands (mono or RGB), so it
408
- * uses #VIPS_SAVEABLE_RGB.
433
+ * uses [flags@Vips.ForeignSaveable.MONO] | [flags@Vips.ForeignSaveable.RGB].
409
434
  */
410
- VipsSaveable saveable;
435
+ VipsForeignSaveable saveable;
411
436
 
412
437
  /* How this format treats band formats.
413
438
  *
@@ -417,16 +442,15 @@ typedef struct _VipsForeignSaveClass {
417
442
  */
418
443
  VipsBandFormat *format_table;
419
444
 
420
- /* The set of coding types this format can save. For example, jpeg can
421
- * only save NONE, so has NONE TRUE and RAD and LABQ FALSE.
445
+ /* The set of coding types this format can save. For example,
446
+ * [method@Image.vipssave] can save all coding types, so it
447
+ * uses [flags@Vips.ForeignCoding.ALL]
422
448
  *
423
- * Default NONE TRUE, RAD and LABQ FALSE.
449
+ * Default to [flags@Vips.ForeignCoding.NONE].
424
450
  */
425
- gboolean coding[VIPS_CODING_LAST];
451
+ VipsForeignCoding coding;
426
452
  } VipsForeignSaveClass;
427
453
 
428
- /* Don't put spaces around void here, it breaks gtk-doc.
429
- */
430
454
  VIPS_API
431
455
  GType vips_foreign_save_get_type(void);
432
456
 
@@ -632,6 +656,9 @@ VIPS_API
632
656
  int vips_fitsload(const char *filename, VipsImage **out, ...)
633
657
  G_GNUC_NULL_TERMINATED;
634
658
  VIPS_API
659
+ int vips_fitsload_source(VipsSource *source, VipsImage **out, ...)
660
+ G_GNUC_NULL_TERMINATED;
661
+ VIPS_API
635
662
  int vips_fitssave(VipsImage *in, const char *filename, ...)
636
663
  G_GNUC_NULL_TERMINATED;
637
664
 
@@ -745,15 +772,15 @@ int vips_pngsave_buffer(VipsImage *in, void **buf, size_t *len, ...)
745
772
  *
746
773
  * The netpbm file format to save as.
747
774
  *
748
- * #VIPS_FOREIGN_PPM_FORMAT_PBM images are single bit.
775
+ * [enum@Vips.ForeignPpmFormat.PBM] images are single bit.
749
776
  *
750
- * #VIPS_FOREIGN_PPM_FORMAT_PGM images are 8, 16, or 32-bits, one band.
777
+ * [enum@Vips.ForeignPpmFormat.PGM] images are 8, 16, or 32-bits, one band.
751
778
  *
752
- * #VIPS_FOREIGN_PPM_FORMAT_PPM images are 8, 16, or 32-bits, three bands.
779
+ * [enum@Vips.ForeignPpmFormat.PPM] images are 8, 16, or 32-bits, three bands.
753
780
  *
754
- * #VIPS_FOREIGN_PPM_FORMAT_PFM images are 32-bit float pixels.
781
+ * [enum@Vips.ForeignPpmFormat.PFM] images are 32-bit float pixels.
755
782
  *
756
- * #VIPS_FOREIGN_PPM_FORMAT_PNM images are anymap images -- the image format
783
+ * [enum@Vips.ForeignPpmFormat.PNM] images are anymap images -- the image format
757
784
  * is used to pick the saver.
758
785
  *
759
786
  */
@@ -770,6 +797,9 @@ VIPS_API
770
797
  int vips_ppmload(const char *filename, VipsImage **out, ...)
771
798
  G_GNUC_NULL_TERMINATED;
772
799
  VIPS_API
800
+ int vips_ppmload_buffer(void *buf, size_t len, VipsImage **out, ...)
801
+ G_GNUC_NULL_TERMINATED;
802
+ VIPS_API
773
803
  int vips_ppmload_source(VipsSource *source, VipsImage **out, ...)
774
804
  G_GNUC_NULL_TERMINATED;
775
805
  VIPS_API
@@ -980,7 +1010,7 @@ int vips_dzsave_target(VipsImage *in, VipsTarget *target, ...)
980
1010
  *
981
1011
  * The compression format to use inside a HEIF container.
982
1012
  *
983
- * This is assumed to use the same numbering as %heif_compression_format.
1013
+ * This is assumed to use the same numbering as `heif_compression_format`.
984
1014
  */
985
1015
  typedef enum {
986
1016
  VIPS_FOREIGN_HEIF_COMPRESSION_HEVC = 1,
@@ -64,6 +64,7 @@ typedef enum {
64
64
 
65
65
  typedef struct _VipsFormat {
66
66
  VipsObject parent_object;
67
+
67
68
  /*< public >*/
68
69
 
69
70
  } VipsFormat;
@@ -72,25 +73,26 @@ typedef struct _VipsFormatClass {
72
73
  VipsObjectClass parent_class;
73
74
 
74
75
  /*< public >*/
76
+
75
77
  /* Is a file in this format.
76
78
  */
77
- gboolean (*is_a)(const char *);
79
+ gboolean (*is_a)(const char *filename);
78
80
 
79
81
  /* Read just the header into the VipsImage.
80
82
  */
81
- int (*header)(const char *, VipsImage *);
83
+ int (*header)(const char *filename, VipsImage *image);
82
84
 
83
85
  /* Load the whole image.
84
86
  */
85
- int (*load)(const char *, VipsImage *);
87
+ int (*load)(const char *filename, VipsImage *image);
86
88
 
87
89
  /* Write the VipsImage to the file in this format.
88
90
  */
89
- int (*save)(VipsImage *, const char *);
91
+ int (*save)(VipsImage *image, const char *filename);
90
92
 
91
93
  /* Get the flags for this file in this format.
92
94
  */
93
- VipsFormatFlags (*get_flags)(const char *);
95
+ VipsFormatFlags (*get_flags)(const char *filename);
94
96
 
95
97
  /* Loop over formats in this order, default 0. We need this because
96
98
  * some formats can be read by several loaders (eg. tiff can be read
@@ -69,20 +69,9 @@ extern "C" {
69
69
  } \
70
70
  G_STMT_END
71
71
 
72
- extern gboolean vips__thread_profile;
73
-
74
72
  VIPS_API
75
73
  void vips_profile_set(gboolean profile);
76
74
 
77
- void vips__thread_profile_attach(const char *thread_name);
78
- void vips__thread_profile_detach(void);
79
- void vips__thread_profile_stop(void);
80
-
81
- void vips__thread_gate_start(const char *gate_name);
82
- void vips__thread_gate_stop(const char *gate_name);
83
-
84
- void vips__thread_malloc_free(gint64 size);
85
-
86
75
  #endif /*VIPS_GATE_H*/
87
76
 
88
77
  #ifdef __cplusplus
@@ -73,7 +73,7 @@ extern "C" {
73
73
  * The name we use to attach an ICC profile. The file read and write
74
74
  * operations for TIFF, JPEG, PNG and others use this item of metadata to
75
75
  * attach and save ICC profiles. The profile is updated by the
76
- * vips_icc_transform() operations.
76
+ * [method@Image.icc_transform] operations.
77
77
  */
78
78
  #define VIPS_META_ICC_NAME "icc-profile-data"
79
79
 
@@ -117,8 +117,8 @@ extern "C" {
117
117
  /**
118
118
  * VIPS_META_SEQUENTIAL:
119
119
  *
120
- * Images loaded via vips_sequential() have this int field defined. Some
121
- * operations (eg. vips_shrinkv()) add extra caches if they see it on their
120
+ * Images loaded via [method@Image.sequential] have this int field defined. Some
121
+ * operations (eg. [method@Image.shrinkv]) add extra caches if they see it on their
122
122
  * input.
123
123
  */
124
124
  #define VIPS_META_SEQUENTIAL "vips-sequential"
@@ -129,21 +129,21 @@ extern "C" {
129
129
  * The orientation tag for this image. An int from 1 - 8 using the standard
130
130
  * exif/tiff meanings.
131
131
  *
132
- * * 1 - The 0th row represents the visual top of the image, and the 0th column
132
+ * - 1 - The 0th row represents the visual top of the image, and the 0th column
133
133
  * represents the visual left-hand side.
134
- * * 2 - The 0th row represents the visual top of the image, and the 0th column
134
+ * - 2 - The 0th row represents the visual top of the image, and the 0th column
135
135
  * represents the visual right-hand side.
136
- * * 3 - The 0th row represents the visual bottom of the image, and the 0th
136
+ * - 3 - The 0th row represents the visual bottom of the image, and the 0th
137
137
  * column represents the visual right-hand side.
138
- * * 4 - The 0th row represents the visual bottom of the image, and the 0th
138
+ * - 4 - The 0th row represents the visual bottom of the image, and the 0th
139
139
  * column represents the visual left-hand side.
140
- * * 5 - The 0th row represents the visual left-hand side of the image, and the
140
+ * - 5 - The 0th row represents the visual left-hand side of the image, and the
141
141
  * 0th column represents the visual top.
142
- * * 6 - The 0th row represents the visual right-hand side of the image, and the
142
+ * - 6 - The 0th row represents the visual right-hand side of the image, and the
143
143
  * 0th column represents the visual top.
144
- * * 7 - The 0th row represents the visual right-hand side of the image, and the
144
+ * - 7 - The 0th row represents the visual right-hand side of the image, and the
145
145
  * 0th column represents the visual bottom.
146
- * * 8 - The 0th row represents the visual left-hand side of the image, and the
146
+ * - 8 - The 0th row represents the visual left-hand side of the image, and the
147
147
  * 0th column represents the visual bottom.
148
148
  */
149
149
  #define VIPS_META_ORIENTATION "orientation"
@@ -252,7 +252,7 @@ struct _VipsImage {
252
252
  VipsStopFn stop_fn;
253
253
  void *client1; /* user arguments */
254
254
  void *client2;
255
- GMutex *sslock; /* start-stop lock */
255
+ GMutex sslock; /* start-stop lock */
256
256
  GSList *regions; /* list of regions current for this image */
257
257
  VipsDemandStyle dhint; /* demand style hint */
258
258
 
@@ -367,8 +367,6 @@ typedef struct _VipsImageClass {
367
367
 
368
368
  } VipsImageClass;
369
369
 
370
- /* Don't put spaces around void here, it breaks gtk-doc.
371
- */
372
370
  VIPS_API
373
371
  GType vips_image_get_type(void);
374
372
 
@@ -444,6 +442,13 @@ void vips_image_minimise_all(VipsImage *image);
444
442
  VIPS_API
445
443
  gboolean vips_image_is_sequential(VipsImage *image);
446
444
 
445
+ VIPS_API
446
+ void vips_image_preeval(VipsImage *image);
447
+ VIPS_API
448
+ void vips_image_eval(VipsImage *image, guint64 processed);
449
+ VIPS_API
450
+ void vips_image_posteval(VipsImage *image);
451
+
447
452
  VIPS_API
448
453
  void vips_image_set_progress(VipsImage *image, gboolean progress);
449
454
  VIPS_API
@@ -91,8 +91,6 @@ typedef struct _VipsInterpolateClass {
91
91
  int window_offset;
92
92
  } VipsInterpolateClass;
93
93
 
94
- /* Don't put spaces around void here, it breaks gtk-doc.
95
- */
96
94
  VIPS_API
97
95
  GType vips_interpolate_get_type(void);
98
96
  VIPS_API
@@ -71,6 +71,8 @@ extern "C" {
71
71
  #define VIPS_ARRAY(OBJ, N, T) \
72
72
  ((T *) VIPS_MALLOC(OBJ, (N) * sizeof(T)))
73
73
 
74
+ #ifndef __GI_SCANNER__
75
+
74
76
  G_DEFINE_AUTOPTR_CLEANUP_FUNC(VipsImage, g_object_unref)
75
77
  G_DEFINE_AUTOPTR_CLEANUP_FUNC(VipsObject, g_object_unref)
76
78
  G_DEFINE_AUTOPTR_CLEANUP_FUNC(VipsRegion, g_object_unref)
@@ -89,6 +91,8 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(VipsOperation, g_object_unref)
89
91
  G_DEFINE_AUTOPTR_CLEANUP_FUNC(VipsArrayDouble, VipsArrayDouble_unref)
90
92
  G_DEFINE_AUTOPTR_CLEANUP_FUNC(VipsArrayImage, VipsArrayImage_unref)
91
93
 
94
+ #endif /* !__GI_SCANNER__ */
95
+
92
96
  VIPS_API
93
97
  void *vips_malloc(VipsObject *object, size_t size);
94
98
  VIPS_API
@@ -72,6 +72,10 @@ VIPS_API
72
72
  int vips_matrixinvert(VipsImage *m, VipsImage **out, ...)
73
73
  G_GNUC_NULL_TERMINATED;
74
74
 
75
+ VIPS_API
76
+ int vips_matrixmultiply(VipsImage *left, VipsImage *right, VipsImage **out, ...)
77
+ G_GNUC_NULL_TERMINATED;
78
+
75
79
  #ifdef __cplusplus
76
80
  }
77
81
  #endif /*__cplusplus*/