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

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 (121) 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/gio-visibility.h +34 -0
  7. package/include/glib-2.0/gio/gzlibcompressor.h +6 -0
  8. package/include/glib-2.0/girepository/gi-visibility.h +34 -0
  9. package/include/glib-2.0/girepository/gitypes.h +6 -0
  10. package/include/glib-2.0/glib/gbitlock.h +11 -0
  11. package/include/glib-2.0/glib/gdate.h +6 -0
  12. package/include/glib-2.0/glib/glib-visibility.h +35 -1
  13. package/include/glib-2.0/glib/gmain.h +13 -10
  14. package/include/glib-2.0/glib/gmessages.h +4 -1
  15. package/include/glib-2.0/glib/gstring.h +2 -0
  16. package/include/glib-2.0/glib/gversionmacros.h +9 -0
  17. package/include/glib-2.0/glib/gwin32.h +54 -4
  18. package/include/glib-2.0/gmodule/gmodule-visibility.h +34 -0
  19. package/include/glib-2.0/gobject/gobject-visibility.h +35 -1
  20. package/include/glib-2.0/msvc_recommended_pragmas.h +41 -0
  21. package/include/harfbuzz/hb-common.h +1 -431
  22. package/include/harfbuzz/hb-deprecated.h +80 -2
  23. package/include/harfbuzz/hb-draw.h +2 -10
  24. package/include/harfbuzz/hb-face.h +1 -1
  25. package/include/harfbuzz/hb-font.h +55 -36
  26. package/include/harfbuzz/hb-paint.h +5 -3
  27. package/include/harfbuzz/hb-script-list.h +484 -0
  28. package/include/harfbuzz/hb-subset.h +22 -2
  29. package/include/harfbuzz/hb-version.h +3 -3
  30. package/include/libheif/heif.h +2 -0
  31. package/include/libheif/heif_version.h +2 -2
  32. package/include/libpng16/png.h +10 -10
  33. package/include/libpng16/pngconf.h +20 -27
  34. package/include/libpng16/pnglibconf.h +1 -1
  35. package/include/libxml2/libxml/HTMLparser.h +2 -2
  36. package/include/libxml2/libxml/parser.h +2 -0
  37. package/include/libxml2/libxml/xmlIO.h +2 -2
  38. package/include/libxml2/libxml/xmlerror.h +1 -1
  39. package/include/libxml2/libxml/xmlversion.h +4 -4
  40. package/include/pixman-1/pixman-version.h +2 -2
  41. package/include/pixman-1/pixman.h +200 -0
  42. package/include/png.h +10 -10
  43. package/include/pngconf.h +20 -27
  44. package/include/pnglibconf.h +1 -1
  45. package/include/vips/VImage8.h +62 -14
  46. package/include/vips/arithmetic.h +34 -34
  47. package/include/vips/basic.h +16 -0
  48. package/include/vips/buf.h +0 -5
  49. package/include/vips/colour.h +6 -7
  50. package/include/vips/connection.h +25 -37
  51. package/include/vips/enumtypes.h +11 -2
  52. package/include/vips/foreign.h +73 -43
  53. package/include/vips/format.h +7 -5
  54. package/include/vips/gate.h +0 -11
  55. package/include/vips/header.h +11 -11
  56. package/include/vips/image.h +8 -3
  57. package/include/vips/interpolate.h +0 -2
  58. package/include/vips/memory.h +4 -0
  59. package/include/vips/mosaicing.h +4 -0
  60. package/include/vips/object.h +14 -18
  61. package/include/vips/operation.h +0 -2
  62. package/include/vips/private.h +50 -2
  63. package/include/vips/region.h +1 -3
  64. package/include/vips/resample.h +2 -0
  65. package/include/vips/semaphore.h +8 -3
  66. package/include/vips/thread.h +1 -24
  67. package/include/vips/threadpool.h +0 -6
  68. package/include/vips/type.h +13 -9
  69. package/include/vips/util.h +17 -98
  70. package/include/vips/vector.h +0 -4
  71. package/include/vips/version.h +8 -8
  72. package/include/vips/vips.h +1 -0
  73. package/package.json +1 -1
  74. package/versions.json +11 -11
  75. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-animation.h +0 -221
  76. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-autocleanups.h +0 -37
  77. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h +0 -525
  78. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h +0 -40
  79. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-features.h +0 -115
  80. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-io.h +0 -481
  81. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-loader.h +0 -113
  82. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-macros.h +0 -718
  83. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-marshal.h +0 -33
  84. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h +0 -70
  85. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-transform.h +0 -168
  86. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h +0 -46
  87. package/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixdata.h +0 -165
  88. package/include/harfbuzz/hb-subset-repacker.h +0 -81
  89. package/include/hwy/ops/tuple-inl.h +0 -125
  90. package/include/orc-0.4/orc/orc-stdint.h +0 -1
  91. package/include/orc-0.4/orc/orc.h +0 -16
  92. package/include/orc-0.4/orc/orcarm.h +0 -879
  93. package/include/orc-0.4/orc/orcbytecode.h +0 -35
  94. package/include/orc-0.4/orc/orcbytecodes.h +0 -255
  95. package/include/orc-0.4/orc/orccode.h +0 -53
  96. package/include/orc-0.4/orc/orccompiler.h +0 -176
  97. package/include/orc-0.4/orc/orcconstant.h +0 -39
  98. package/include/orc-0.4/orc/orccpu.h +0 -21
  99. package/include/orc-0.4/orc/orccpuinsn.h +0 -40
  100. package/include/orc-0.4/orc/orcdebug.h +0 -158
  101. package/include/orc-0.4/orc/orcemulateopcodes.h +0 -203
  102. package/include/orc-0.4/orc/orcexecutor.h +0 -135
  103. package/include/orc-0.4/orc/orcfunctions.h +0 -93
  104. package/include/orc-0.4/orc/orcinstruction.h +0 -39
  105. package/include/orc-0.4/orc/orcinternal.h +0 -46
  106. package/include/orc-0.4/orc/orclimits.h +0 -94
  107. package/include/orc-0.4/orc/orcmips.h +0 -229
  108. package/include/orc-0.4/orc/orcmmx.h +0 -79
  109. package/include/orc-0.4/orc/orcneon.h +0 -43
  110. package/include/orc-0.4/orc/orconce.h +0 -166
  111. package/include/orc-0.4/orc/orcopcode.h +0 -63
  112. package/include/orc-0.4/orc/orcparse.h +0 -27
  113. package/include/orc-0.4/orc/orcpowerpc.h +0 -209
  114. package/include/orc-0.4/orc/orcprogram.h +0 -192
  115. package/include/orc-0.4/orc/orcrule.h +0 -52
  116. package/include/orc-0.4/orc/orcsse.h +0 -55
  117. package/include/orc-0.4/orc/orctarget.h +0 -115
  118. package/include/orc-0.4/orc/orcutils.h +0 -238
  119. package/include/orc-0.4/orc/orcvariable.h +0 -81
  120. package/include/orc-0.4/orc/orcx86.h +0 -199
  121. package/include/orc-0.4/orc/orcx86insn.h +0 -672
package/include/png.h CHANGED
@@ -1,6 +1,6 @@
1
1
  /* png.h - header file for PNG reference library
2
2
  *
3
- * libpng version 1.6.47
3
+ * libpng version 1.6.48
4
4
  *
5
5
  * Copyright (c) 2018-2025 Cosmin Truta
6
6
  * Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
@@ -14,7 +14,7 @@
14
14
  * libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger
15
15
  * libpng versions 0.97, January 1998, through 1.6.35, July 2018:
16
16
  * Glenn Randers-Pehrson
17
- * libpng versions 1.6.36, December 2018, through 1.6.47, February 2025:
17
+ * libpng versions 1.6.36, December 2018, through 1.6.48, April 2025:
18
18
  * Cosmin Truta
19
19
  * See also "Contributing Authors", below.
20
20
  */
@@ -238,7 +238,7 @@
238
238
  * ...
239
239
  * 1.5.30 15 10530 15.so.15.30[.0]
240
240
  * ...
241
- * 1.6.47 16 10647 16.so.16.47[.0]
241
+ * 1.6.48 16 10648 16.so.16.48[.0]
242
242
  *
243
243
  * Henceforth the source version will match the shared-library major and
244
244
  * minor numbers; the shared-library major version number will be used for
@@ -274,7 +274,7 @@
274
274
  */
275
275
 
276
276
  /* Version information for png.h - this should match the version in png.c */
277
- #define PNG_LIBPNG_VER_STRING "1.6.47"
277
+ #define PNG_LIBPNG_VER_STRING "1.6.48"
278
278
  #define PNG_HEADER_VERSION_STRING " libpng version " PNG_LIBPNG_VER_STRING "\n"
279
279
 
280
280
  /* The versions of shared library builds should stay in sync, going forward */
@@ -285,7 +285,7 @@
285
285
  /* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
286
286
  #define PNG_LIBPNG_VER_MAJOR 1
287
287
  #define PNG_LIBPNG_VER_MINOR 6
288
- #define PNG_LIBPNG_VER_RELEASE 47
288
+ #define PNG_LIBPNG_VER_RELEASE 48
289
289
 
290
290
  /* This should be zero for a public release, or non-zero for a
291
291
  * development version.
@@ -316,7 +316,7 @@
316
316
  * From version 1.0.1 it is:
317
317
  * XXYYZZ, where XX=major, YY=minor, ZZ=release
318
318
  */
319
- #define PNG_LIBPNG_VER 10647 /* 1.6.47 */
319
+ #define PNG_LIBPNG_VER 10648 /* 1.6.48 */
320
320
 
321
321
  /* Library configuration: these options cannot be changed after
322
322
  * the library has been built.
@@ -426,7 +426,7 @@ extern "C" {
426
426
  /* This triggers a compiler error in png.c, if png.c and png.h
427
427
  * do not agree upon the version number.
428
428
  */
429
- typedef char* png_libpng_version_1_6_47;
429
+ typedef char* png_libpng_version_1_6_48;
430
430
 
431
431
  /* Basic control structions. Read libpng-manual.txt or libpng.3 for more info.
432
432
  *
@@ -1570,7 +1570,7 @@ PNG_EXPORT(226, void, png_set_text_compression_method, (png_structrp png_ptr,
1570
1570
 
1571
1571
  #ifdef PNG_STDIO_SUPPORTED
1572
1572
  /* Initialize the input/output for the PNG file to the default functions. */
1573
- PNG_EXPORT(74, void, png_init_io, (png_structrp png_ptr, png_FILE_p fp));
1573
+ PNG_EXPORT(74, void, png_init_io, (png_structrp png_ptr, FILE *fp));
1574
1574
  #endif
1575
1575
 
1576
1576
  /* Replace the (error and abort), and warning functions with user
@@ -3088,7 +3088,7 @@ PNG_EXPORT(234, int, png_image_begin_read_from_file, (png_imagep image,
3088
3088
  */
3089
3089
 
3090
3090
  PNG_EXPORT(235, int, png_image_begin_read_from_stdio, (png_imagep image,
3091
- FILE* file));
3091
+ FILE *file));
3092
3092
  /* The PNG header is read from the stdio FILE object. */
3093
3093
  #endif /* STDIO */
3094
3094
 
@@ -3163,7 +3163,7 @@ PNG_EXPORT(239, int, png_image_write_to_file, (png_imagep image,
3163
3163
  PNG_EXPORT(240, int, png_image_write_to_stdio, (png_imagep image, FILE *file,
3164
3164
  int convert_to_8_bit, const void *buffer, png_int_32 row_stride,
3165
3165
  const void *colormap));
3166
- /* Write the image to the given (FILE*). */
3166
+ /* Write the image to the given FILE object. */
3167
3167
  #endif /* SIMPLIFIED_WRITE_STDIO */
3168
3168
 
3169
3169
  /* With all write APIs if image is in one of the linear formats with 16-bit
package/include/pngconf.h CHANGED
@@ -1,6 +1,6 @@
1
1
  /* pngconf.h - machine-configurable file for libpng
2
2
  *
3
- * libpng version 1.6.47
3
+ * libpng version 1.6.48
4
4
  *
5
5
  * Copyright (c) 2018-2025 Cosmin Truta
6
6
  * Copyright (c) 1998-2002,2004,2006-2016,2018 Glenn Randers-Pehrson
@@ -219,25 +219,13 @@
219
219
  /* NOTE: PNGCBAPI always defaults to PNGCAPI. */
220
220
 
221
221
  # if defined(PNGAPI) && !defined(PNG_USER_PRIVATEBUILD)
222
- # error "PNG_USER_PRIVATEBUILD must be defined if PNGAPI is changed"
222
+ # error PNG_USER_PRIVATEBUILD must be defined if PNGAPI is changed
223
223
  # endif
224
224
 
225
- # if (defined(_MSC_VER) && _MSC_VER < 800) ||\
226
- (defined(__BORLANDC__) && __BORLANDC__ < 0x500)
227
- /* older Borland and MSC
228
- * compilers used '__export' and required this to be after
229
- * the type.
230
- */
231
- # ifndef PNG_EXPORT_TYPE
232
- # define PNG_EXPORT_TYPE(type) type PNG_IMPEXP
233
- # endif
234
- # define PNG_DLL_EXPORT __export
235
- # else /* newer compiler */
236
- # define PNG_DLL_EXPORT __declspec(dllexport)
237
- # ifndef PNG_DLL_IMPORT
238
- # define PNG_DLL_IMPORT __declspec(dllimport)
239
- # endif
240
- # endif /* compiler */
225
+ # define PNG_DLL_EXPORT __declspec(dllexport)
226
+ # ifndef PNG_DLL_IMPORT
227
+ # define PNG_DLL_IMPORT __declspec(dllimport)
228
+ # endif
241
229
 
242
230
  #else /* !Windows */
243
231
  # if (defined(__IBMC__) || defined(__IBMCPP__)) && defined(__OS2__)
@@ -479,7 +467,7 @@
479
467
  #if CHAR_BIT == 8 && UCHAR_MAX == 255
480
468
  typedef unsigned char png_byte;
481
469
  #else
482
- # error "libpng requires 8-bit bytes"
470
+ # error libpng requires 8-bit bytes
483
471
  #endif
484
472
 
485
473
  #if INT_MIN == -32768 && INT_MAX == 32767
@@ -487,7 +475,7 @@
487
475
  #elif SHRT_MIN == -32768 && SHRT_MAX == 32767
488
476
  typedef short png_int_16;
489
477
  #else
490
- # error "libpng requires a signed 16-bit type"
478
+ # error libpng requires a signed 16-bit integer type
491
479
  #endif
492
480
 
493
481
  #if UINT_MAX == 65535
@@ -495,7 +483,7 @@
495
483
  #elif USHRT_MAX == 65535
496
484
  typedef unsigned short png_uint_16;
497
485
  #else
498
- # error "libpng requires an unsigned 16-bit type"
486
+ # error libpng requires an unsigned 16-bit integer type
499
487
  #endif
500
488
 
501
489
  #if INT_MIN < -2147483646 && INT_MAX > 2147483646
@@ -503,7 +491,7 @@
503
491
  #elif LONG_MIN < -2147483646 && LONG_MAX > 2147483646
504
492
  typedef long int png_int_32;
505
493
  #else
506
- # error "libpng requires a signed 32-bit (or more) type"
494
+ # error libpng requires a signed 32-bit (or longer) integer type
507
495
  #endif
508
496
 
509
497
  #if UINT_MAX > 4294967294U
@@ -511,7 +499,7 @@
511
499
  #elif ULONG_MAX > 4294967294U
512
500
  typedef unsigned long int png_uint_32;
513
501
  #else
514
- # error "libpng requires an unsigned 32-bit (or more) type"
502
+ # error libpng requires an unsigned 32-bit (or longer) integer type
515
503
  #endif
516
504
 
517
505
  /* Prior to 1.6.0, it was possible to disable the use of size_t and ptrdiff_t.
@@ -592,10 +580,6 @@ typedef const png_fixed_point * png_const_fixed_point_p;
592
580
  typedef size_t * png_size_tp;
593
581
  typedef const size_t * png_const_size_tp;
594
582
 
595
- #ifdef PNG_STDIO_SUPPORTED
596
- typedef FILE * png_FILE_p;
597
- #endif
598
-
599
583
  #ifdef PNG_FLOATING_POINT_SUPPORTED
600
584
  typedef double * png_doublep;
601
585
  typedef const double * png_const_doublep;
@@ -617,6 +601,15 @@ typedef double * * png_doublepp;
617
601
  /* Pointers to pointers to pointers; i.e., pointer to array */
618
602
  typedef char * * * png_charppp;
619
603
 
604
+ #ifdef PNG_STDIO_SUPPORTED
605
+ /* With PNG_STDIO_SUPPORTED it was possible to use I/O streams that were
606
+ * not necessarily stdio FILE streams, to allow building Windows applications
607
+ * before Win32 and Windows CE applications before WinCE 3.0, but that kind
608
+ * of support has long been discontinued.
609
+ */
610
+ typedef FILE * png_FILE_p; /* [Deprecated] */
611
+ #endif
612
+
620
613
  #endif /* PNG_BUILDING_SYMBOL_TABLE */
621
614
 
622
615
  #endif /* PNGCONF_H */
@@ -1,6 +1,6 @@
1
1
  /* pnglibconf.h - library build configuration */
2
2
 
3
- /* libpng version 1.6.47 */
3
+ /* libpng version 1.6.48 */
4
4
 
5
5
  /* Copyright (c) 2018-2025 Cosmin Truta */
6
6
  /* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson */
@@ -2082,6 +2082,7 @@ public:
2082
2082
 
2083
2083
  // headers for vips operations
2084
2084
  // this file is generated automatically, do not edit!
2085
+ // clang-format off
2085
2086
 
2086
2087
  /**
2087
2088
  * Transform lch to cmc.
@@ -3276,6 +3277,7 @@ public:
3276
3277
  * - **reuse** -- Reuse palette from input, bool.
3277
3278
  * - **interpalette_maxerror** -- Maximum inter-palette error for palette reusage, double.
3278
3279
  * - **interlace** -- Generate an interlaced (progressive) GIF, bool.
3280
+ * - **keep_duplicate_frames** -- Keep duplicate frames in the output instead of combining them, bool.
3279
3281
  * - **keep** -- Which metadata to retain, VipsForeignKeep.
3280
3282
  * - **background** -- Background value, std::vector<double>.
3281
3283
  * - **page_height** -- Set page height for multipage save, int.
@@ -3297,6 +3299,7 @@ public:
3297
3299
  * - **reuse** -- Reuse palette from input, bool.
3298
3300
  * - **interpalette_maxerror** -- Maximum inter-palette error for palette reusage, double.
3299
3301
  * - **interlace** -- Generate an interlaced (progressive) GIF, bool.
3302
+ * - **keep_duplicate_frames** -- Keep duplicate frames in the output instead of combining them, bool.
3300
3303
  * - **keep** -- Which metadata to retain, VipsForeignKeep.
3301
3304
  * - **background** -- Background value, std::vector<double>.
3302
3305
  * - **page_height** -- Set page height for multipage save, int.
@@ -3318,6 +3321,7 @@ public:
3318
3321
  * - **reuse** -- Reuse palette from input, bool.
3319
3322
  * - **interpalette_maxerror** -- Maximum inter-palette error for palette reusage, double.
3320
3323
  * - **interlace** -- Generate an interlaced (progressive) GIF, bool.
3324
+ * - **keep_duplicate_frames** -- Keep duplicate frames in the output instead of combining them, bool.
3321
3325
  * - **keep** -- Which metadata to retain, VipsForeignKeep.
3322
3326
  * - **background** -- Background value, std::vector<double>.
3323
3327
  * - **page_height** -- Set page height for multipage save, int.
@@ -3762,6 +3766,7 @@ public:
3762
3766
  *
3763
3767
  * **Optional parameters**
3764
3768
  * - **page** -- Load this page from the image, int.
3769
+ * - **oneshot** -- Load images a frame at a time, bool.
3765
3770
  * - **memory** -- Force open via memory, bool.
3766
3771
  * - **access** -- Required access pattern for this file, VipsAccess.
3767
3772
  * - **fail_on** -- Error level to fail on, VipsFailOn.
@@ -3778,6 +3783,7 @@ public:
3778
3783
  *
3779
3784
  * **Optional parameters**
3780
3785
  * - **page** -- Load this page from the image, int.
3786
+ * - **oneshot** -- Load images a frame at a time, bool.
3781
3787
  * - **memory** -- Force open via memory, bool.
3782
3788
  * - **access** -- Required access pattern for this file, VipsAccess.
3783
3789
  * - **fail_on** -- Error level to fail on, VipsFailOn.
@@ -3794,6 +3800,7 @@ public:
3794
3800
  *
3795
3801
  * **Optional parameters**
3796
3802
  * - **page** -- Load this page from the image, int.
3803
+ * - **oneshot** -- Load images a frame at a time, bool.
3797
3804
  * - **memory** -- Force open via memory, bool.
3798
3805
  * - **access** -- Required access pattern for this file, VipsAccess.
3799
3806
  * - **fail_on** -- Error level to fail on, VipsFailOn.
@@ -4517,7 +4524,7 @@ public:
4517
4524
  static VImage matload(const char *filename, VOption *options = nullptr);
4518
4525
 
4519
4526
  /**
4520
- * Invert an matrix.
4527
+ * Invert a matrix.
4521
4528
  * @param options Set of options.
4522
4529
  * @return Output matrix.
4523
4530
  */
@@ -4553,6 +4560,14 @@ public:
4553
4560
  */
4554
4561
  static VImage matrixload_source(VSource source, VOption *options = nullptr);
4555
4562
 
4563
+ /**
4564
+ * Multiply two matrices.
4565
+ * @param right Second matrix to multiply.
4566
+ * @param options Set of options.
4567
+ * @return Output matrix.
4568
+ */
4569
+ VImage matrixmultiply(VImage right, VOption *options = nullptr) const;
4570
+
4556
4571
  /**
4557
4572
  * Print matrix.
4558
4573
  *
@@ -5059,7 +5074,22 @@ public:
5059
5074
  static VImage ppmload(const char *filename, VOption *options = nullptr);
5060
5075
 
5061
5076
  /**
5062
- * Load ppm base class.
5077
+ * Load ppm from buffer.
5078
+ *
5079
+ * **Optional parameters**
5080
+ * - **memory** -- Force open via memory, bool.
5081
+ * - **access** -- Required access pattern for this file, VipsAccess.
5082
+ * - **fail_on** -- Error level to fail on, VipsFailOn.
5083
+ * - **revalidate** -- Don't use a cached result for this operation, bool.
5084
+ *
5085
+ * @param buffer Buffer to load from.
5086
+ * @param options Set of options.
5087
+ * @return Output image.
5088
+ */
5089
+ static VImage ppmload_buffer(VipsBlob *buffer, VOption *options = nullptr);
5090
+
5091
+ /**
5092
+ * Load ppm from source.
5063
5093
  *
5064
5094
  * **Optional parameters**
5065
5095
  * - **memory** -- Force open via memory, bool.
@@ -5410,6 +5440,15 @@ public:
5410
5440
  */
5411
5441
  VImage remainder_const(std::vector<double> c, VOption *options = nullptr) const;
5412
5442
 
5443
+ /**
5444
+ * Rebuild an mosaiced image.
5445
+ * @param old_str Search for this string.
5446
+ * @param new_str And swap for this string.
5447
+ * @param options Set of options.
5448
+ * @return Output image.
5449
+ */
5450
+ VImage remosaic(const char *old_str, const char *new_str, VOption *options = nullptr) const;
5451
+
5413
5452
  /**
5414
5453
  * Replicate an image.
5415
5454
  * @param across Repeat this many times horizontally.
@@ -5510,7 +5549,7 @@ public:
5510
5549
  VImage scRGB2XYZ(VOption *options = nullptr) const;
5511
5550
 
5512
5551
  /**
5513
- * Convert an scrgb image to srgb.
5552
+ * Convert scrgb to srgb.
5514
5553
  *
5515
5554
  * **Optional parameters**
5516
5555
  * - **depth** -- Output device space depth in bits, int.
@@ -5755,6 +5794,8 @@ public:
5755
5794
  * - **dpi** -- Render at this DPI, double.
5756
5795
  * - **scale** -- Scale output by this factor, double.
5757
5796
  * - **unlimited** -- Allow SVG of any size, bool.
5797
+ * - **stylesheet** -- Custom CSS, const char *.
5798
+ * - **high_bitdepth** -- Enable scRGB 128-bit output (32-bit per channel), bool.
5758
5799
  * - **memory** -- Force open via memory, bool.
5759
5800
  * - **access** -- Required access pattern for this file, VipsAccess.
5760
5801
  * - **fail_on** -- Error level to fail on, VipsFailOn.
@@ -5773,6 +5814,8 @@ public:
5773
5814
  * - **dpi** -- Render at this DPI, double.
5774
5815
  * - **scale** -- Scale output by this factor, double.
5775
5816
  * - **unlimited** -- Allow SVG of any size, bool.
5817
+ * - **stylesheet** -- Custom CSS, const char *.
5818
+ * - **high_bitdepth** -- Enable scRGB 128-bit output (32-bit per channel), bool.
5776
5819
  * - **memory** -- Force open via memory, bool.
5777
5820
  * - **access** -- Required access pattern for this file, VipsAccess.
5778
5821
  * - **fail_on** -- Error level to fail on, VipsFailOn.
@@ -5791,6 +5834,8 @@ public:
5791
5834
  * - **dpi** -- Render at this DPI, double.
5792
5835
  * - **scale** -- Scale output by this factor, double.
5793
5836
  * - **unlimited** -- Allow SVG of any size, bool.
5837
+ * - **stylesheet** -- Custom CSS, const char *.
5838
+ * - **high_bitdepth** -- Enable scRGB 128-bit output (32-bit per channel), bool.
5794
5839
  * - **memory** -- Force open via memory, bool.
5795
5840
  * - **access** -- Required access pattern for this file, VipsAccess.
5796
5841
  * - **fail_on** -- Error level to fail on, VipsFailOn.
@@ -5853,8 +5898,8 @@ public:
5853
5898
  * - **no_rotate** -- Don't use orientation tags to rotate image upright, bool.
5854
5899
  * - **crop** -- Reduce to fill target rectangle, then crop, VipsInteresting.
5855
5900
  * - **linear** -- Reduce in linear light, bool.
5856
- * - **import_profile** -- Fallback import profile, const char *.
5857
- * - **export_profile** -- Fallback export profile, const char *.
5901
+ * - **input_profile** -- Fallback input profile, const char *.
5902
+ * - **output_profile** -- Fallback output profile, const char *.
5858
5903
  * - **intent** -- Rendering intent, VipsIntent.
5859
5904
  * - **fail_on** -- Error level to fail on, VipsFailOn.
5860
5905
  *
@@ -5875,8 +5920,8 @@ public:
5875
5920
  * - **no_rotate** -- Don't use orientation tags to rotate image upright, bool.
5876
5921
  * - **crop** -- Reduce to fill target rectangle, then crop, VipsInteresting.
5877
5922
  * - **linear** -- Reduce in linear light, bool.
5878
- * - **import_profile** -- Fallback import profile, const char *.
5879
- * - **export_profile** -- Fallback export profile, const char *.
5923
+ * - **input_profile** -- Fallback input profile, const char *.
5924
+ * - **output_profile** -- Fallback output profile, const char *.
5880
5925
  * - **intent** -- Rendering intent, VipsIntent.
5881
5926
  * - **fail_on** -- Error level to fail on, VipsFailOn.
5882
5927
  *
@@ -5896,8 +5941,8 @@ public:
5896
5941
  * - **no_rotate** -- Don't use orientation tags to rotate image upright, bool.
5897
5942
  * - **crop** -- Reduce to fill target rectangle, then crop, VipsInteresting.
5898
5943
  * - **linear** -- Reduce in linear light, bool.
5899
- * - **import_profile** -- Fallback import profile, const char *.
5900
- * - **export_profile** -- Fallback export profile, const char *.
5944
+ * - **input_profile** -- Fallback input profile, const char *.
5945
+ * - **output_profile** -- Fallback output profile, const char *.
5901
5946
  * - **intent** -- Rendering intent, VipsIntent.
5902
5947
  * - **fail_on** -- Error level to fail on, VipsFailOn.
5903
5948
  *
@@ -5917,8 +5962,8 @@ public:
5917
5962
  * - **no_rotate** -- Don't use orientation tags to rotate image upright, bool.
5918
5963
  * - **crop** -- Reduce to fill target rectangle, then crop, VipsInteresting.
5919
5964
  * - **linear** -- Reduce in linear light, bool.
5920
- * - **import_profile** -- Fallback import profile, const char *.
5921
- * - **export_profile** -- Fallback export profile, const char *.
5965
+ * - **input_profile** -- Fallback input profile, const char *.
5966
+ * - **output_profile** -- Fallback output profile, const char *.
5922
5967
  * - **intent** -- Rendering intent, VipsIntent.
5923
5968
  * - **fail_on** -- Error level to fail on, VipsFailOn.
5924
5969
  *
@@ -5934,9 +5979,10 @@ public:
5934
5979
  *
5935
5980
  * **Optional parameters**
5936
5981
  * - **page** -- First page to load, int.
5937
- * - **subifd** -- Subifd index, int.
5938
5982
  * - **n** -- Number of pages to load, -1 for all, int.
5939
5983
  * - **autorotate** -- Rotate image using orientation tag, bool.
5984
+ * - **subifd** -- Subifd index, int.
5985
+ * - **unlimited** -- Remove all denial of service limits, bool.
5940
5986
  * - **memory** -- Force open via memory, bool.
5941
5987
  * - **access** -- Required access pattern for this file, VipsAccess.
5942
5988
  * - **fail_on** -- Error level to fail on, VipsFailOn.
@@ -5953,9 +5999,10 @@ public:
5953
5999
  *
5954
6000
  * **Optional parameters**
5955
6001
  * - **page** -- First page to load, int.
5956
- * - **subifd** -- Subifd index, int.
5957
6002
  * - **n** -- Number of pages to load, -1 for all, int.
5958
6003
  * - **autorotate** -- Rotate image using orientation tag, bool.
6004
+ * - **subifd** -- Subifd index, int.
6005
+ * - **unlimited** -- Remove all denial of service limits, bool.
5959
6006
  * - **memory** -- Force open via memory, bool.
5960
6007
  * - **access** -- Required access pattern for this file, VipsAccess.
5961
6008
  * - **fail_on** -- Error level to fail on, VipsFailOn.
@@ -5972,9 +6019,10 @@ public:
5972
6019
  *
5973
6020
  * **Optional parameters**
5974
6021
  * - **page** -- First page to load, int.
5975
- * - **subifd** -- Subifd index, int.
5976
6022
  * - **n** -- Number of pages to load, -1 for all, int.
5977
6023
  * - **autorotate** -- Rotate image using orientation tag, bool.
6024
+ * - **subifd** -- Subifd index, int.
6025
+ * - **unlimited** -- Remove all denial of service limits, bool.
5978
6026
  * - **memory** -- Force open via memory, bool.
5979
6027
  * - **access** -- Required access pattern for this file, VipsAccess.
5980
6028
  * - **fail_on** -- Error level to fail on, VipsFailOn.
@@ -43,24 +43,24 @@ extern "C" {
43
43
 
44
44
  /**
45
45
  * VipsOperationMath:
46
- * @VIPS_OPERATION_MATH_SIN: sin(), angles in degrees
47
- * @VIPS_OPERATION_MATH_COS: cos(), angles in degrees
48
- * @VIPS_OPERATION_MATH_TAN: tan(), angles in degrees
49
- * @VIPS_OPERATION_MATH_ASIN: asin(), angles in degrees
50
- * @VIPS_OPERATION_MATH_ACOS: acos(), angles in degrees
51
- * @VIPS_OPERATION_MATH_ATAN: atan(), angles in degrees
46
+ * @VIPS_OPERATION_MATH_SIN: `sin()`, angles in degrees
47
+ * @VIPS_OPERATION_MATH_COS: `cos()`, angles in degrees
48
+ * @VIPS_OPERATION_MATH_TAN: `tan()`, angles in degrees
49
+ * @VIPS_OPERATION_MATH_ASIN: `asin()`, angles in degrees
50
+ * @VIPS_OPERATION_MATH_ACOS: `acos()`, angles in degrees
51
+ * @VIPS_OPERATION_MATH_ATAN: `atan()`, angles in degrees
52
52
  * @VIPS_OPERATION_MATH_LOG: log base e
53
53
  * @VIPS_OPERATION_MATH_LOG10: log base 10
54
54
  * @VIPS_OPERATION_MATH_EXP: e to the something
55
55
  * @VIPS_OPERATION_MATH_EXP10: 10 to the something
56
- * @VIPS_OPERATION_MATH_SINH: sinh(), angles in radians
57
- * @VIPS_OPERATION_MATH_COSH: cosh(), angles in radians
58
- * @VIPS_OPERATION_MATH_TANH: tanh(), angles in radians
59
- * @VIPS_OPERATION_MATH_ASINH: asinh(), angles in radians
60
- * @VIPS_OPERATION_MATH_ACOSH: acosh(), angles in radians
61
- * @VIPS_OPERATION_MATH_ATANH: atanh(), angles in radians
56
+ * @VIPS_OPERATION_MATH_SINH: `sinh()`, angles in radians
57
+ * @VIPS_OPERATION_MATH_COSH: `cosh()`, angles in radians
58
+ * @VIPS_OPERATION_MATH_TANH: `tanh()`, angles in radians
59
+ * @VIPS_OPERATION_MATH_ASINH: `asinh()`, angles in radians
60
+ * @VIPS_OPERATION_MATH_ACOSH: `acosh()`, angles in radians
61
+ * @VIPS_OPERATION_MATH_ATANH: `atanh()`, angles in radians
62
62
  *
63
- * See also: vips_math().
63
+ * See also: [method@Image.math].
64
64
  */
65
65
  typedef enum {
66
66
  VIPS_OPERATION_MATH_SIN,
@@ -84,11 +84,11 @@ typedef enum {
84
84
 
85
85
  /**
86
86
  * VipsOperationMath2:
87
- * @VIPS_OPERATION_MATH2_POW: pow(left, right)
88
- * @VIPS_OPERATION_MATH2_WOP: pow(right, left)
89
- * @VIPS_OPERATION_MATH2_ATAN2: atan2(left, right)
87
+ * @VIPS_OPERATION_MATH2_POW: `pow(left, right)`
88
+ * @VIPS_OPERATION_MATH2_WOP: `pow(right, left)`
89
+ * @VIPS_OPERATION_MATH2_ATAN2: `atan2(left, right)`
90
90
  *
91
- * See also: vips_math().
91
+ * See also: [method@Image.math].
92
92
  */
93
93
  typedef enum {
94
94
  VIPS_OPERATION_MATH2_POW,
@@ -103,7 +103,7 @@ typedef enum {
103
103
  * @VIPS_OPERATION_ROUND_FLOOR: largest integral value not greater than
104
104
  * @VIPS_OPERATION_ROUND_CEIL: the smallest integral value not less than
105
105
  *
106
- * See also: vips_round().
106
+ * See also: [method@Image.round].
107
107
  */
108
108
  typedef enum {
109
109
  VIPS_OPERATION_ROUND_RINT,
@@ -114,14 +114,14 @@ typedef enum {
114
114
 
115
115
  /**
116
116
  * VipsOperationRelational:
117
- * @VIPS_OPERATION_RELATIONAL_EQUAL: ==
118
- * @VIPS_OPERATION_RELATIONAL_NOTEQ: !=
119
- * @VIPS_OPERATION_RELATIONAL_LESS: <
120
- * @VIPS_OPERATION_RELATIONAL_LESSEQ: <=
121
- * @VIPS_OPERATION_RELATIONAL_MORE: >
122
- * @VIPS_OPERATION_RELATIONAL_MOREEQ: >=
117
+ * @VIPS_OPERATION_RELATIONAL_EQUAL: `==`
118
+ * @VIPS_OPERATION_RELATIONAL_NOTEQ: `!=`
119
+ * @VIPS_OPERATION_RELATIONAL_LESS: `<`
120
+ * @VIPS_OPERATION_RELATIONAL_LESSEQ: `<=`
121
+ * @VIPS_OPERATION_RELATIONAL_MORE: `>`
122
+ * @VIPS_OPERATION_RELATIONAL_MOREEQ: `>=`
123
123
  *
124
- * See also: vips_relational().
124
+ * See also: [method@Image.relational].
125
125
  */
126
126
  typedef enum {
127
127
  VIPS_OPERATION_RELATIONAL_EQUAL,
@@ -135,13 +135,13 @@ typedef enum {
135
135
 
136
136
  /**
137
137
  * VipsOperationBoolean:
138
- * @VIPS_OPERATION_BOOLEAN_AND: &
139
- * @VIPS_OPERATION_BOOLEAN_OR: |
140
- * @VIPS_OPERATION_BOOLEAN_EOR: ^
141
- * @VIPS_OPERATION_BOOLEAN_LSHIFT: >>
142
- * @VIPS_OPERATION_BOOLEAN_RSHIFT: <<
138
+ * @VIPS_OPERATION_BOOLEAN_AND: `&`
139
+ * @VIPS_OPERATION_BOOLEAN_OR: `|`
140
+ * @VIPS_OPERATION_BOOLEAN_EOR: `^`
141
+ * @VIPS_OPERATION_BOOLEAN_LSHIFT: `>>`
142
+ * @VIPS_OPERATION_BOOLEAN_RSHIFT: `<<`
143
143
  *
144
- * See also: vips_boolean().
144
+ * See also: [method@Image.boolean].
145
145
  */
146
146
  typedef enum {
147
147
  VIPS_OPERATION_BOOLEAN_AND,
@@ -158,7 +158,7 @@ typedef enum {
158
158
  * @VIPS_OPERATION_COMPLEX_RECT: convert to rectangular coordinates
159
159
  * @VIPS_OPERATION_COMPLEX_CONJ: complex conjugate
160
160
  *
161
- * See also: vips_complex().
161
+ * See also: [method@Image.complex].
162
162
  */
163
163
  typedef enum {
164
164
  VIPS_OPERATION_COMPLEX_POLAR,
@@ -171,7 +171,7 @@ typedef enum {
171
171
  * VipsOperationComplex2:
172
172
  * @VIPS_OPERATION_COMPLEX2_CROSS_PHASE: convert to polar coordinates
173
173
  *
174
- * See also: vips_complex2().
174
+ * See also: [method@Image.complex2].
175
175
  */
176
176
  typedef enum {
177
177
  VIPS_OPERATION_COMPLEX2_CROSS_PHASE,
@@ -183,7 +183,7 @@ typedef enum {
183
183
  * @VIPS_OPERATION_COMPLEXGET_REAL: get real component
184
184
  * @VIPS_OPERATION_COMPLEXGET_IMAG: get imaginary component
185
185
  *
186
- * See also: vips_complexget().
186
+ * See also: [method@Image.complexget].
187
187
  */
188
188
  typedef enum {
189
189
  VIPS_OPERATION_COMPLEXGET_REAL,
@@ -56,6 +56,18 @@
56
56
  #define VIPS_DEPRECATED_FOR(f) G_DEPRECATED_FOR(f) VIPS_API
57
57
  #endif
58
58
 
59
+ #if !defined(VIPS_DISABLE_DEPRECATION_WARNINGS) && \
60
+ (G_GNUC_CHECK_VERSION(4, 6) || \
61
+ __clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4))
62
+ #define _VIPS_GNUC_DO_PRAGMA(x) _Pragma(G_STRINGIFY(x))
63
+ #define VIPS_DEPRECATED_MACRO _VIPS_GNUC_DO_PRAGMA(GCC warning "Deprecated pre-processor symbol")
64
+ #define VIPS_DEPRECATED_MACRO_FOR(f) \
65
+ _VIPS_GNUC_DO_PRAGMA(GCC warning G_STRINGIFY(Deprecated pre-processor symbol: replace with #f))
66
+ #else
67
+ #define VIPS_DEPRECATED_MACRO
68
+ #define VIPS_DEPRECATED_MACRO_FOR(f)
69
+ #endif
70
+
59
71
  #ifdef __cplusplus
60
72
  extern "C" {
61
73
  #endif /*__cplusplus*/
@@ -88,6 +100,8 @@ typedef enum {
88
100
  VIPS_PRECISION_LAST
89
101
  } VipsPrecision;
90
102
 
103
+ #ifndef __GI_SCANNER__
104
+
91
105
  /* Just for testing.
92
106
  */
93
107
  VIPS_API
@@ -95,6 +109,8 @@ char *vips_path_filename7(const char *path);
95
109
  VIPS_API
96
110
  char *vips_path_mode7(const char *path);
97
111
 
112
+ #endif /* !__GI_SCANNER__ */
113
+
98
114
  struct _VipsImage;
99
115
  typedef struct _VipsImage VipsImage;
100
116
  struct _VipsRegion;
@@ -39,11 +39,6 @@
39
39
  extern "C" {
40
40
  #endif /*__cplusplus*/
41
41
 
42
- /* A string in the process of being written to ... multiple calls to
43
- * vips_buf_append add to it. On overflow append "..." and block further
44
- * writes.
45
- */
46
-
47
42
  struct _VipsBuf {
48
43
  /* All fields are private.
49
44
  */
@@ -93,13 +93,18 @@ extern "C" {
93
93
  #define VIPS_D3250_Y0 (100.0)
94
94
  #define VIPS_D3250_Z0 (45.8501)
95
95
 
96
- /* Note: constants align with those defined in lcms2.h.
96
+ /* Note: constants align with those defined in lcms2.h, except for
97
+ * VIPS_INTENT_AUTO, which is libvips-specific.
97
98
  */
98
99
  typedef enum {
99
100
  VIPS_INTENT_PERCEPTUAL = 0,
100
101
  VIPS_INTENT_RELATIVE,
101
102
  VIPS_INTENT_SATURATION,
102
103
  VIPS_INTENT_ABSOLUTE,
104
+ /* Leave room for possible new rendering intents beyond the
105
+ * four standard ones.
106
+ */
107
+ VIPS_INTENT_AUTO = 32,
103
108
  VIPS_INTENT_LAST
104
109
  } VipsIntent;
105
110
 
@@ -144,12 +149,6 @@ VIPS_API
144
149
  int vips_Lab2LCh(VipsImage *in, VipsImage **out, ...)
145
150
  G_GNUC_NULL_TERMINATED;
146
151
  VIPS_API
147
- int vips_Yxy2Lab(VipsImage *in, VipsImage **out, ...)
148
- G_GNUC_NULL_TERMINATED;
149
- VIPS_API
150
- int vips_CMC2XYZ(VipsImage *in, VipsImage **out, ...)
151
- G_GNUC_NULL_TERMINATED;
152
- VIPS_API
153
152
  int vips_Lab2XYZ(VipsImage *in, VipsImage **out, ...)
154
153
  G_GNUC_NULL_TERMINATED;
155
154
  VIPS_API