b, VipsOption... args) throws
* you set {@code threaded} to {@code TRUE}, {@code linecache} will allow many threads to
* calculate tiles at once and share the cache between them.
*
- * See also: {@link VImage#cache}, {@link VImage#tilecache}.
+ * See also: {@code vips_cache}, {@link VImage#tilecache}.
* @param args Array of VipsOption to apply to this operation
* @optionalArg tile-height {@link VipsOption.Int} Tile height in pixels
* @optionalArg access {@link VipsOption.Enum} {@link app.photofox.vipsffm.enums.VipsAccess} Expected access pattern
@@ -6122,6 +6155,25 @@ public double max(VipsOption... args) throws VipsError {
return outOption.valueOrThrow();
}
+ /**
+ * For each pixel, pick the maximum of a pair of images.
+ *
+ * See also: {@link VImage#minpair}.
+ * @param right Right-hand image argument
+ * @param args Array of VipsOption to apply to this operation
+ */
+ public VImage maxpair(VImage right, VipsOption... args) throws VipsError {
+ var leftOption = VipsOption.Image("left", this);
+ var rightOption = VipsOption.Image("right", right);
+ var outOption = VipsOption.Image("out");
+ var callArgs = new ArrayList<>(Arrays.asList(args));
+ callArgs.add(leftOption);
+ callArgs.add(rightOption);
+ callArgs.add(outOption);
+ VipsInvoker.invokeOperation(arena, "maxpair", callArgs);
+ return outOption.valueOrThrow();
+ }
+
/**
* Analyse a grid of colour patches, producing an array of patch averages.
* The mask has a row for each measured patch and a column for each image
@@ -6250,6 +6302,25 @@ public double min(VipsOption... args) throws VipsError {
return outOption.valueOrThrow();
}
+ /**
+ *
For each pixel, pick the minimum of a pair of images.
+ *
+ * See also: {@code minpair}.
+ * @param right Right-hand image argument
+ * @param args Array of VipsOption to apply to this operation
+ */
+ public VImage minpair(VImage right, VipsOption... args) throws VipsError {
+ var leftOption = VipsOption.Image("left", this);
+ var rightOption = VipsOption.Image("right", right);
+ var outOption = VipsOption.Image("out");
+ var callArgs = new ArrayList<>(Arrays.asList(args));
+ callArgs.add(leftOption);
+ callArgs.add(rightOption);
+ callArgs.add(outOption);
+ VipsInvoker.invokeOperation(arena, "minpair", callArgs);
+ return outOption.valueOrThrow();
+ }
+
/**
* Performs a morphological operation on {@code in} using {@code mask} as a
* structuring element.
@@ -7711,11 +7782,35 @@ public void rawsave(String filename, VipsOption... args) throws VipsError {
}
/**
- * Writes the pixels in {@code in} to the {@code fd} with no header or other
- * metadata. Handy for implementing other savers.
+ * As {@link VImage#rawsave}, but save to a memory buffer.
+ *
+ * The address of the buffer is returned in {@code buf}, the length of the buffer in
+ * {@code len}. You are responsible for freeing the buffer with g_free() when you
+ * are done with it.
+ *
+ * See also: {@link VImage#rawsave}, {@code vips_image_write_to_memory}, {@code vips_image_write_to_file}.
+ * @param args Array of VipsOption to apply to this operation
+ * @optionalArg keep {@link VipsOption.Int} Which metadata to retain
+ * @optionalArg background {@link VipsOption.ArrayDouble} Background value
+ * @optionalArg page-height {@link VipsOption.Int} Set page height for multipage save
+ * @optionalArg profile {@link VipsOption.String} Filename of ICC profile to embed
+ * @optionalArg strip {@link VipsOption.Boolean} Strip all metadata from image
+ */
+ public VBlob rawsaveBuffer(VipsOption... args) throws VipsError {
+ var inOption = VipsOption.Image("in", this);
+ var bufferOption = VipsOption.Blob("buffer");
+ var callArgs = new ArrayList<>(Arrays.asList(args));
+ callArgs.add(inOption);
+ callArgs.add(bufferOption);
+ VipsInvoker.invokeOperation(arena, "rawsave_buffer", callArgs);
+ return bufferOption.valueOrThrow();
+ }
+
+ /**
+ * As {@link VImage#rawsave}, but save to a target.
*
* See also: {@link VImage#rawsave}.
- * @param fd File descriptor to write to
+ * @param target Target to save to
* @param args Array of VipsOption to apply to this operation
* @optionalArg keep {@link VipsOption.Int} Which metadata to retain
* @optionalArg background {@link VipsOption.ArrayDouble} Background value
@@ -7723,13 +7818,13 @@ public void rawsave(String filename, VipsOption... args) throws VipsError {
* @optionalArg profile {@link VipsOption.String} Filename of ICC profile to embed
* @optionalArg strip {@link VipsOption.Boolean} Strip all metadata from image
*/
- public void rawsaveFd(int fd, VipsOption... args) throws VipsError {
+ public void rawsaveTarget(VTarget target, VipsOption... args) throws VipsError {
var inOption = VipsOption.Image("in", this);
- var fdOption = VipsOption.Int("fd", fd);
+ var targetOption = VipsOption.Target("target", target);
var callArgs = new ArrayList<>(Arrays.asList(args));
callArgs.add(inOption);
- callArgs.add(fdOption);
- VipsInvoker.invokeOperation(arena, "rawsave_fd", callArgs);
+ callArgs.add(targetOption);
+ VipsInvoker.invokeOperation(arena, "rawsave_target", callArgs);
}
/**
@@ -8143,7 +8238,7 @@ public VImage rot45(VipsOption... args) throws VipsError {
* {@link VImage#affine} unaltered.
*
* See also: {@link VImage#affine}, {@code VipsInterpolate}.
- * @param angle Rotate anticlockwise by this many degrees
+ * @param angle Rotate clockwise by this many degrees
* @param args Array of VipsOption to apply to this operation
* @optionalArg interpolate {@link VipsOption.Interpolate} Interpolate pixels with this
* @optionalArg background {@link VipsOption.ArrayDouble} Background value
@@ -8325,6 +8420,47 @@ public VImage scharr(VipsOption... args) throws VipsError {
return outOption.valueOrThrow();
}
+ /**
+ * Create a signed distance field (SDF) image of the given shape. Different
+ * shapes use different combinations of the optional arguments, see below.
+ *
+ * {@code shape} {@link VipsSdfShape#SDF_SHAPE_CIRCLE}: create a circle centred on {@code a}, radius {@code r}.
+ *
+ * {@code shape} {@link VipsSdfShape#SDF_SHAPE_BOX}: create a box with top-left corner {@code a} and
+ * bottom-right corner {@code b}.
+ *
+ * {@code shape} {@link VipsSdfShape#SDF_SHAPE_ROUNDED_BOX}: create a box with top-left corner {@code a}
+ * and bottom-right corner {@code b}, whose four corners are
+ * rounded by the four-element float array {@code corners}. {@code corners} will default to
+ * 0.0.
+ *
+ * {@code shape} {@link VipsSdfShape#SDF_SHAPE_LINE}: draw a line from {@code a} to {@code b}.
+ *
+ * See also: {@link VImage#grey}, {@link VImage#grid}, {@link VImage#xyz}.
+ * @param width Image width in pixels
+ * @param height Image height in pixels
+ * @param shape {@link VipsSdfShape} SDF shape to create
+ * @param args Array of VipsOption to apply to this operation
+ * @optionalArg r {@link VipsOption.Double} Radius
+ * @optionalArg a {@link VipsOption.ArrayDouble} Point a
+ * @optionalArg b {@link VipsOption.ArrayDouble} Point b
+ * @optionalArg corners {@link VipsOption.ArrayDouble} Corner radii
+ */
+ public VImage sdf(int width, int height, VipsSdfShape shape, VipsOption... args) throws
+ VipsError {
+ var outOption = VipsOption.Image("out");
+ var widthOption = VipsOption.Int("width", width);
+ var heightOption = VipsOption.Int("height", height);
+ var shapeOption = VipsOption.Enum("shape", shape);
+ var callArgs = new ArrayList<>(Arrays.asList(args));
+ callArgs.add(outOption);
+ callArgs.add(widthOption);
+ callArgs.add(heightOption);
+ callArgs.add(shapeOption);
+ VipsInvoker.invokeOperation(arena, "sdf", callArgs);
+ return outOption.valueOrThrow();
+ }
+
/**
* This operation behaves rather like {@link VImage#copy} between images
* {@code in} and {@code out}, except that it checks that pixels on {@code in} are only requested
@@ -8334,7 +8470,7 @@ public VImage scharr(VipsOption... args) throws VipsError {
*
{@code tile-height} can be used to set the size of the tiles that
* {@code sequential} uses. The default value is 1.
*
- * See also: {@link VImage#cache}, {@link VImage#linecache}, {@link VImage#tilecache}.
+ * See also: {@code vips_cache}, {@link VImage#linecache}, {@link VImage#tilecache}.
* @param args Array of VipsOption to apply to this operation
* @optionalArg trace {@link VipsOption.Boolean} Trace pixel requests
* @optionalArg tile-height {@link VipsOption.Int} Tile height in pixels
@@ -8547,7 +8683,7 @@ public VImage sign(VipsOption... args) throws VipsError {
* See also: {@link VImage#affine}, {@code VipsInterpolate}.
* @param args Array of VipsOption to apply to this operation
* @optionalArg scale {@link VipsOption.Double} Scale by this factor
- * @optionalArg angle {@link VipsOption.Double} Rotate anticlockwise by this many degrees
+ * @optionalArg angle {@link VipsOption.Double} Rotate clockwise by this many degrees
* @optionalArg interpolate {@link VipsOption.Interpolate} Interpolate pixels with this
* @optionalArg background {@link VipsOption.ArrayDouble} Background value
* @optionalArg odx {@link VipsOption.Double} Horizontal output displacement
@@ -9213,7 +9349,7 @@ public VImage text(String text, VipsOption... args) throws VipsError {
* See {@link VImage#thumbnailBuffer} to thumbnail from a memory buffer, or
* {@link VImage#thumbnailSource} to thumbnail from an arbitrary byte source.
*
- * By default, libvips will only the first frame of animated or multipage
+ *
By default, libvips will only use the first frame of animated or multipage
* images. To thumbnail all pages or frames, pass `n=-1` to the loader in
* {@code filename}, for example `"x.gif[n=-1]"`.
*
@@ -9530,7 +9666,7 @@ public VImage tiffloadSource(VSource source, VipsOption... args) throws VipsErro
*
* Use {@code Q} to set the JPEG compression factor. Default 75.
*
- * User {@code level} to set the ZSTD compression level. Use {@code lossless} to
+ *
User {@code level} to set the ZSTD (1-22) or Deflate (1-9) compression level. Use {@code lossless} to
* set WEBP lossless mode on. Use {@code Q} to set the WEBP compression level.
*
* Use {@code predictor} to set the predictor for lzw, deflate and zstd compression.
@@ -9613,7 +9749,7 @@ public VImage tiffloadSource(VSource source, VipsOption... args) throws VipsErro
* @optionalArg bigtiff {@link VipsOption.Boolean} Write a bigtiff image
* @optionalArg properties {@link VipsOption.Boolean} Write a properties document to IMAGEDESCRIPTION
* @optionalArg region-shrink {@link VipsOption.Enum} {@link app.photofox.vipsffm.enums.VipsRegionShrink} Method to shrink regions
- * @optionalArg level {@link VipsOption.Int} ZSTD compression level
+ * @optionalArg level {@link VipsOption.Int} Deflate (1-9, default 6) or ZSTD (1-22, default 9) compression level
* @optionalArg lossless {@link VipsOption.Boolean} Enable WEBP lossless mode
* @optionalArg depth {@link VipsOption.Enum} {@link app.photofox.vipsffm.enums.VipsForeignDzDepth} Pyramid depth
* @optionalArg subifd {@link VipsOption.Boolean} Save pyr layers as sub-IFDs
@@ -9659,7 +9795,7 @@ public void tiffsave(String filename, VipsOption... args) throws VipsError {
* @optionalArg bigtiff {@link VipsOption.Boolean} Write a bigtiff image
* @optionalArg properties {@link VipsOption.Boolean} Write a properties document to IMAGEDESCRIPTION
* @optionalArg region-shrink {@link VipsOption.Enum} {@link app.photofox.vipsffm.enums.VipsRegionShrink} Method to shrink regions
- * @optionalArg level {@link VipsOption.Int} ZSTD compression level
+ * @optionalArg level {@link VipsOption.Int} Deflate (1-9, default 6) or ZSTD (1-22, default 9) compression level
* @optionalArg lossless {@link VipsOption.Boolean} Enable WEBP lossless mode
* @optionalArg depth {@link VipsOption.Enum} {@link app.photofox.vipsffm.enums.VipsForeignDzDepth} Pyramid depth
* @optionalArg subifd {@link VipsOption.Boolean} Save pyr layers as sub-IFDs
@@ -9703,7 +9839,7 @@ public VBlob tiffsaveBuffer(VipsOption... args) throws VipsError {
* @optionalArg bigtiff {@link VipsOption.Boolean} Write a bigtiff image
* @optionalArg properties {@link VipsOption.Boolean} Write a properties document to IMAGEDESCRIPTION
* @optionalArg region-shrink {@link VipsOption.Enum} {@link app.photofox.vipsffm.enums.VipsRegionShrink} Method to shrink regions
- * @optionalArg level {@link VipsOption.Int} ZSTD compression level
+ * @optionalArg level {@link VipsOption.Int} Deflate (1-9, default 6) or ZSTD (1-22, default 9) compression level
* @optionalArg lossless {@link VipsOption.Boolean} Enable WEBP lossless mode
* @optionalArg depth {@link VipsOption.Enum} {@link app.photofox.vipsffm.enums.VipsForeignDzDepth} Pyramid depth
* @optionalArg subifd {@link VipsOption.Boolean} Save pyr layers as sub-IFDs
@@ -9750,7 +9886,7 @@ public void tiffsaveTarget(VTarget target, VipsOption... args) throws VipsError
*
Normally the cache is dropped when computation finishes. Set {@code persistent} to
* {@code TRUE} to keep the cache between computations.
*
- * See also: {@link VImage#cache}, {@link VImage#linecache}.
+ * See also: {@code vips_cache}, {@link VImage#linecache}.
* @param args Array of VipsOption to apply to this operation
* @optionalArg tile-width {@link VipsOption.Int} Tile width in pixels
* @optionalArg tile-height {@link VipsOption.Int} Tile height in pixels
@@ -10076,6 +10212,10 @@ public VImage webploadSource(VSource source, VipsOption... args) throws VipsErro
*
* Set {@code smart-subsample} to enable high quality chroma subsampling.
*
+ * Set {@code smart-deblock} to enable auto-adjusting of the deblocking filter. This
+ * can improve image quality, especially on low-contrast edges, but encoding
+ * can take significantly longer.
+ *
* Use {@code alpha-q} to set the quality for the alpha channel in lossy mode. It has
* the range 1 - 100, with the default 100.
*
@@ -10083,6 +10223,13 @@ public VImage webploadSource(VSource source, VipsOption... args) throws VipsErro
* reduce file size. A higher value means more effort and therefore CPU time
* should be spent. It has the range 0-6 and a default value of 4.
*
+ * Use {@code target-size} to set the desired target size in bytes.
+ *
+ * Use {@code passes} to set the number of entropy-analysis passes, by default 1,
+ * unless {@code target-size} is set, in which case the default is 3. It is not
+ * recommended to set {@code passes} unless you set {@code target-size}. Doing so will
+ * result in longer encoding times for no benefit.
+ *
* Set {@code lossless} to use lossless compression, or combine {@code near-lossless}
* with {@code Q} 80, 60, 40 or 20 to apply increasing amounts of preprocessing
* which improves the near-lossless compression ratio by up to 50%.
@@ -10113,8 +10260,11 @@ public VImage webploadSource(VSource source, VipsOption... args) throws VipsErro
* @optionalArg kmin {@link VipsOption.Int} Minimum number of frames between key frames
* @optionalArg kmax {@link VipsOption.Int} Maximum number of frames between key frames
* @optionalArg effort {@link VipsOption.Int} Level of CPU effort to reduce file size
+ * @optionalArg target-size {@link VipsOption.Int} Desired target size in bytes
* @optionalArg reduction-effort {@link VipsOption.Int} Level of CPU effort to reduce file size
* @optionalArg mixed {@link VipsOption.Boolean} Allow mixed encoding (might reduce file size)
+ * @optionalArg smart-deblock {@link VipsOption.Boolean} Enable auto-adjusting of the deblocking filter
+ * @optionalArg passes {@link VipsOption.Int} Number of entropy-analysis passes (in [1..10])
* @optionalArg keep {@link VipsOption.Int} Which metadata to retain
* @optionalArg background {@link VipsOption.ArrayDouble} Background value
* @optionalArg page-height {@link VipsOption.Int} Set page height for multipage save
@@ -10149,8 +10299,11 @@ public void webpsave(String filename, VipsOption... args) throws VipsError {
* @optionalArg kmin {@link VipsOption.Int} Minimum number of frames between key frames
* @optionalArg kmax {@link VipsOption.Int} Maximum number of frames between key frames
* @optionalArg effort {@link VipsOption.Int} Level of CPU effort to reduce file size
+ * @optionalArg target-size {@link VipsOption.Int} Desired target size in bytes
* @optionalArg reduction-effort {@link VipsOption.Int} Level of CPU effort to reduce file size
* @optionalArg mixed {@link VipsOption.Boolean} Allow mixed encoding (might reduce file size)
+ * @optionalArg smart-deblock {@link VipsOption.Boolean} Enable auto-adjusting of the deblocking filter
+ * @optionalArg passes {@link VipsOption.Int} Number of entropy-analysis passes (in [1..10])
* @optionalArg keep {@link VipsOption.Int} Which metadata to retain
* @optionalArg background {@link VipsOption.ArrayDouble} Background value
* @optionalArg page-height {@link VipsOption.Int} Set page height for multipage save
@@ -10182,8 +10335,11 @@ public VBlob webpsaveBuffer(VipsOption... args) throws VipsError {
* @optionalArg kmin {@link VipsOption.Int} Minimum number of frames between key frames
* @optionalArg kmax {@link VipsOption.Int} Maximum number of frames between key frames
* @optionalArg effort {@link VipsOption.Int} Level of CPU effort to reduce file size
+ * @optionalArg target-size {@link VipsOption.Int} Desired target size in bytes
* @optionalArg reduction-effort {@link VipsOption.Int} Level of CPU effort to reduce file size
* @optionalArg mixed {@link VipsOption.Boolean} Allow mixed encoding (might reduce file size)
+ * @optionalArg smart-deblock {@link VipsOption.Boolean} Enable auto-adjusting of the deblocking filter
+ * @optionalArg passes {@link VipsOption.Int} Number of entropy-analysis passes (in [1..10])
* @optionalArg keep {@link VipsOption.Int} Which metadata to retain
* @optionalArg background {@link VipsOption.ArrayDouble} Background value
* @optionalArg page-height {@link VipsOption.Int} Set page height for multipage save
@@ -10213,8 +10369,11 @@ public void webpsaveMime(VipsOption... args) throws VipsError {
* @optionalArg kmin {@link VipsOption.Int} Minimum number of frames between key frames
* @optionalArg kmax {@link VipsOption.Int} Maximum number of frames between key frames
* @optionalArg effort {@link VipsOption.Int} Level of CPU effort to reduce file size
+ * @optionalArg target-size {@link VipsOption.Int} Desired target size in bytes
* @optionalArg reduction-effort {@link VipsOption.Int} Level of CPU effort to reduce file size
* @optionalArg mixed {@link VipsOption.Boolean} Allow mixed encoding (might reduce file size)
+ * @optionalArg smart-deblock {@link VipsOption.Boolean} Enable auto-adjusting of the deblocking filter
+ * @optionalArg passes {@link VipsOption.Int} Number of entropy-analysis passes (in [1..10])
* @optionalArg keep {@link VipsOption.Int} Which metadata to retain
* @optionalArg background {@link VipsOption.ArrayDouble} Background value
* @optionalArg page-height {@link VipsOption.Int} Set page height for multipage save
diff --git a/core/src/main/java/app/photofox/vipsffm/enums/VipsSdfShape.java b/core/src/main/java/app/photofox/vipsffm/enums/VipsSdfShape.java
new file mode 100644
index 0000000..44ee724
--- /dev/null
+++ b/core/src/main/java/app/photofox/vipsffm/enums/VipsSdfShape.java
@@ -0,0 +1,63 @@
+package app.photofox.vipsffm.enums;
+
+import app.photofox.vipsffm.VNamedEnum;
+import java.lang.Override;
+import java.lang.String;
+
+/**
+ * The SDF to generate,
+ *
+ * See also: {@link app.photofox.vipsffm.VImage#sdf}.
+ */
+public enum VipsSdfShape implements VNamedEnum {
+ /**
+ * a circle at {@code a}, radius {@code r}
+ */
+ SDF_SHAPE_CIRCLE("VIPS_SDF_SHAPE_CIRCLE", "circle", 0),
+
+ /**
+ * a box from {@code a} to {@code b}
+ */
+ SDF_SHAPE_BOX("VIPS_SDF_SHAPE_BOX", "box", 1),
+
+ /**
+ * a box with rounded {@code corners} from {@code a} to {@code b}
+ */
+ SDF_SHAPE_ROUNDED_BOX("VIPS_SDF_SHAPE_ROUNDED_BOX", "rounded-box", 2),
+
+ /**
+ * a line from {@code a} to {@code b}
+ */
+ SDF_SHAPE_LINE("VIPS_SDF_SHAPE_LINE", "line", 3),
+
+ SDF_SHAPE_LAST("VIPS_SDF_SHAPE_LAST", "last", 4);
+
+ public static final String parentName = "VipsSdfShape";
+
+ private final String vipsName;
+
+ private final String vipsNickname;
+
+ private final int rawValue;
+
+ VipsSdfShape(String vipsName, String vipsNickname, int rawValue) {
+ this.vipsName = vipsName;
+ this.vipsNickname = vipsNickname;
+ this.rawValue = rawValue;
+ }
+
+ @Override
+ public String getName() {
+ return this.vipsName;
+ }
+
+ @Override
+ public String getNickname() {
+ return this.vipsNickname;
+ }
+
+ @Override
+ public int getRawValue() {
+ return this.rawValue;
+ }
+}
diff --git a/core/src/main/java/app/photofox/vipsffm/jextract/VipsRaw.java b/core/src/main/java/app/photofox/vipsffm/jextract/VipsRaw.java
index 27883f0..0c7f18e 100644
--- a/core/src/main/java/app/photofox/vipsffm/jextract/VipsRaw.java
+++ b/core/src/main/java/app/photofox/vipsffm/jextract/VipsRaw.java
@@ -9577,42 +9577,6 @@ public static int VIPS_FOREIGN_SUBSAMPLE_OFF() {
public static int VIPS_FOREIGN_SUBSAMPLE_LAST() {
return VIPS_FOREIGN_SUBSAMPLE_LAST;
}
- private static final int VIPS_FOREIGN_JPEG_SUBSAMPLE_AUTO = (int)0L;
- /**
- * {@snippet lang=c :
- * enum .VIPS_FOREIGN_JPEG_SUBSAMPLE_AUTO = 0
- * }
- */
- public static int VIPS_FOREIGN_JPEG_SUBSAMPLE_AUTO() {
- return VIPS_FOREIGN_JPEG_SUBSAMPLE_AUTO;
- }
- private static final int VIPS_FOREIGN_JPEG_SUBSAMPLE_ON = (int)1L;
- /**
- * {@snippet lang=c :
- * enum .VIPS_FOREIGN_JPEG_SUBSAMPLE_ON = 1
- * }
- */
- public static int VIPS_FOREIGN_JPEG_SUBSAMPLE_ON() {
- return VIPS_FOREIGN_JPEG_SUBSAMPLE_ON;
- }
- private static final int VIPS_FOREIGN_JPEG_SUBSAMPLE_OFF = (int)2L;
- /**
- * {@snippet lang=c :
- * enum .VIPS_FOREIGN_JPEG_SUBSAMPLE_OFF = 2
- * }
- */
- public static int VIPS_FOREIGN_JPEG_SUBSAMPLE_OFF() {
- return VIPS_FOREIGN_JPEG_SUBSAMPLE_OFF;
- }
- private static final int VIPS_FOREIGN_JPEG_SUBSAMPLE_LAST = (int)3L;
- /**
- * {@snippet lang=c :
- * enum .VIPS_FOREIGN_JPEG_SUBSAMPLE_LAST = 3
- * }
- */
- public static int VIPS_FOREIGN_JPEG_SUBSAMPLE_LAST() {
- return VIPS_FOREIGN_JPEG_SUBSAMPLE_LAST;
- }
private static final int VIPS_FOREIGN_WEBP_PRESET_DEFAULT = (int)0L;
/**
* {@snippet lang=c :
@@ -11548,6 +11512,87 @@ public static int VIPS_TEXT_WRAP_NONE() {
public static int VIPS_TEXT_WRAP_LAST() {
return VIPS_TEXT_WRAP_LAST;
}
+ private static final int VIPS_SDF_SHAPE_CIRCLE = (int)0L;
+ /**
+ * {@snippet lang=c :
+ * enum .VIPS_SDF_SHAPE_CIRCLE = 0
+ * }
+ */
+ public static int VIPS_SDF_SHAPE_CIRCLE() {
+ return VIPS_SDF_SHAPE_CIRCLE;
+ }
+ private static final int VIPS_SDF_SHAPE_BOX = (int)1L;
+ /**
+ * {@snippet lang=c :
+ * enum .VIPS_SDF_SHAPE_BOX = 1
+ * }
+ */
+ public static int VIPS_SDF_SHAPE_BOX() {
+ return VIPS_SDF_SHAPE_BOX;
+ }
+ private static final int VIPS_SDF_SHAPE_ROUNDED_BOX = (int)2L;
+ /**
+ * {@snippet lang=c :
+ * enum .VIPS_SDF_SHAPE_ROUNDED_BOX = 2
+ * }
+ */
+ public static int VIPS_SDF_SHAPE_ROUNDED_BOX() {
+ return VIPS_SDF_SHAPE_ROUNDED_BOX;
+ }
+ private static final int VIPS_SDF_SHAPE_LINE = (int)3L;
+ /**
+ * {@snippet lang=c :
+ * enum .VIPS_SDF_SHAPE_LINE = 3
+ * }
+ */
+ public static int VIPS_SDF_SHAPE_LINE() {
+ return VIPS_SDF_SHAPE_LINE;
+ }
+ private static final int VIPS_SDF_SHAPE_LAST = (int)4L;
+ /**
+ * {@snippet lang=c :
+ * enum .VIPS_SDF_SHAPE_LAST = 4
+ * }
+ */
+ public static int VIPS_SDF_SHAPE_LAST() {
+ return VIPS_SDF_SHAPE_LAST;
+ }
+ private static final int VIPS_FOREIGN_JPEG_SUBSAMPLE_AUTO = (int)0L;
+ /**
+ * {@snippet lang=c :
+ * enum .VIPS_FOREIGN_JPEG_SUBSAMPLE_AUTO = 0
+ * }
+ */
+ public static int VIPS_FOREIGN_JPEG_SUBSAMPLE_AUTO() {
+ return VIPS_FOREIGN_JPEG_SUBSAMPLE_AUTO;
+ }
+ private static final int VIPS_FOREIGN_JPEG_SUBSAMPLE_ON = (int)1L;
+ /**
+ * {@snippet lang=c :
+ * enum .VIPS_FOREIGN_JPEG_SUBSAMPLE_ON = 1
+ * }
+ */
+ public static int VIPS_FOREIGN_JPEG_SUBSAMPLE_ON() {
+ return VIPS_FOREIGN_JPEG_SUBSAMPLE_ON;
+ }
+ private static final int VIPS_FOREIGN_JPEG_SUBSAMPLE_OFF = (int)2L;
+ /**
+ * {@snippet lang=c :
+ * enum .VIPS_FOREIGN_JPEG_SUBSAMPLE_OFF = 2
+ * }
+ */
+ public static int VIPS_FOREIGN_JPEG_SUBSAMPLE_OFF() {
+ return VIPS_FOREIGN_JPEG_SUBSAMPLE_OFF;
+ }
+ private static final int VIPS_FOREIGN_JPEG_SUBSAMPLE_LAST = (int)3L;
+ /**
+ * {@snippet lang=c :
+ * enum .VIPS_FOREIGN_JPEG_SUBSAMPLE_LAST = 3
+ * }
+ */
+ public static int VIPS_FOREIGN_JPEG_SUBSAMPLE_LAST() {
+ return VIPS_FOREIGN_JPEG_SUBSAMPLE_LAST;
+ }
private static class vips_init {
public static final FunctionDescriptor DESC = FunctionDescriptor.of(
@@ -12242,25 +12287,25 @@ public static int VIPS_SBUF_BUFFER_SIZE() {
}
/**
* {@snippet lang=c :
- * #define VIPS_VERSION "8.15.5"
+ * #define VIPS_VERSION "8.16.0"
* }
*/
public static MemorySegment VIPS_VERSION() {
class Holder {
static final MemorySegment VIPS_VERSION
- = VipsRaw.LIBRARY_ARENA.allocateFrom("8.15.5");
+ = VipsRaw.LIBRARY_ARENA.allocateFrom("8.16.0");
}
return Holder.VIPS_VERSION;
}
/**
* {@snippet lang=c :
- * #define VIPS_VERSION_STRING "8.15.5"
+ * #define VIPS_VERSION_STRING "8.16.0"
* }
*/
public static MemorySegment VIPS_VERSION_STRING() {
class Holder {
static final MemorySegment VIPS_VERSION_STRING
- = VipsRaw.LIBRARY_ARENA.allocateFrom("8.15.5");
+ = VipsRaw.LIBRARY_ARENA.allocateFrom("8.16.0");
}
return Holder.VIPS_VERSION_STRING;
}
@@ -12273,46 +12318,46 @@ class Holder {
public static int VIPS_MAJOR_VERSION() {
return VIPS_MAJOR_VERSION;
}
- private static final int VIPS_MINOR_VERSION = (int)15L;
+ private static final int VIPS_MINOR_VERSION = (int)16L;
/**
* {@snippet lang=c :
- * #define VIPS_MINOR_VERSION 15
+ * #define VIPS_MINOR_VERSION 16
* }
*/
public static int VIPS_MINOR_VERSION() {
return VIPS_MINOR_VERSION;
}
- private static final int VIPS_MICRO_VERSION = (int)5L;
+ private static final int VIPS_MICRO_VERSION = (int)0L;
/**
* {@snippet lang=c :
- * #define VIPS_MICRO_VERSION 5
+ * #define VIPS_MICRO_VERSION 0
* }
*/
public static int VIPS_MICRO_VERSION() {
return VIPS_MICRO_VERSION;
}
- private static final int VIPS_LIBRARY_CURRENT = (int)59L;
+ private static final int VIPS_LIBRARY_CURRENT = (int)60L;
/**
* {@snippet lang=c :
- * #define VIPS_LIBRARY_CURRENT 59
+ * #define VIPS_LIBRARY_CURRENT 60
* }
*/
public static int VIPS_LIBRARY_CURRENT() {
return VIPS_LIBRARY_CURRENT;
}
- private static final int VIPS_LIBRARY_REVISION = (int)5L;
+ private static final int VIPS_LIBRARY_REVISION = (int)0L;
/**
* {@snippet lang=c :
- * #define VIPS_LIBRARY_REVISION 5
+ * #define VIPS_LIBRARY_REVISION 0
* }
*/
public static int VIPS_LIBRARY_REVISION() {
return VIPS_LIBRARY_REVISION;
}
- private static final int VIPS_LIBRARY_AGE = (int)17L;
+ private static final int VIPS_LIBRARY_AGE = (int)18L;
/**
* {@snippet lang=c :
- * #define VIPS_LIBRARY_AGE 17
+ * #define VIPS_LIBRARY_AGE 18
* }
*/
public static int VIPS_LIBRARY_AGE() {
@@ -12325,46 +12370,40 @@ public static int VIPS_LIBRARY_AGE() {
* enable modules: true
* enable cplusplus: true
* enable RAD load/save: true
- * enable Analyze7 load/save: true
+ * enable Analyze7 load: true
* enable PPM load/save: true
* enable GIF load: true
- * use fftw for FFTs: true
- * SIMD support with highway: true
- * accelerate loops with ORC: false
- * ICC profile support with lcms: true
- * zlib: true
+ * FFTs with fftw3: true
+ * SIMD support with libhwy: true
+ * ICC profile support with lcms2: true
+ * deflate compression with zlib: true
* text rendering with pangocairo: true
* font file support with fontconfig: true
* EXIF metadata support with libexif: true
* JPEG load/save with libjpeg: true
* JXL load/save with libjxl: true (dynamic module: true)
- * JPEG2000 load/save with OpenJPEG: true
- * PNG load/save with libspng: true
- * PNG load/save with libpng: false
- * selected quantisation package: imagequant
- * TIFF load/save with libtiff: true
+ * JPEG2000 load/save with libopenjp2: true
+ * PNG load/save with spng: true
+ * image quantisation with imagequant: true
+ * TIFF load/save with libtiff-4: true
* image pyramid save with libarchive: true
* HEIC/AVIF load/save with libheif: true (dynamic module: true)
* WebP load/save with libwebp: true
- * PDF load with PDFium: false
* PDF load with poppler-glib: true (dynamic module: true)
- * SVG load with librsvg: true
+ * SVG load with librsvg-2.0: true
* EXR load with OpenEXR: true
- * OpenSlide load: true (dynamic module: true)
- * Matlab load with libmatio: true
- * NIfTI load/save with niftiio: false
+ * WSI load with openslide: true (dynamic module: true)
+ * Matlab load with matio: true
+ * NIfTI load/save with libnifti: false
* FITS load/save with cfitsio: true
* GIF save with cgif: true
- * selected Magick package: MagickCore (dynamic module: true)
- * Magick API version: magick7
- * Magick load: true
- * Magick save: true"
+ * Magick load/save with MagickCore: true (dynamic module: true)"
* }
*/
public static MemorySegment VIPS_CONFIG() {
class Holder {
static final MemorySegment VIPS_CONFIG
- = VipsRaw.LIBRARY_ARENA.allocateFrom("enable debug: false\nenable deprecated: true\nenable modules: true\nenable cplusplus: true\nenable RAD load/save: true\nenable Analyze7 load/save: true\nenable PPM load/save: true\nenable GIF load: true\nuse fftw for FFTs: true\nSIMD support with highway: true\naccelerate loops with ORC: false\nICC profile support with lcms: true\nzlib: true\ntext rendering with pangocairo: true\nfont file support with fontconfig: true\nEXIF metadata support with libexif: true\nJPEG load/save with libjpeg: true\nJXL load/save with libjxl: true (dynamic module: true)\nJPEG2000 load/save with OpenJPEG: true\nPNG load/save with libspng: true\nPNG load/save with libpng: false\nselected quantisation package: imagequant\nTIFF load/save with libtiff: true\nimage pyramid save with libarchive: true\nHEIC/AVIF load/save with libheif: true (dynamic module: true)\nWebP load/save with libwebp: true\nPDF load with PDFium: false\nPDF load with poppler-glib: true (dynamic module: true)\nSVG load with librsvg: true\nEXR load with OpenEXR: true\nOpenSlide load: true (dynamic module: true)\nMatlab load with libmatio: true\nNIfTI load/save with niftiio: false\nFITS load/save with cfitsio: true\nGIF save with cgif: true\nselected Magick package: MagickCore (dynamic module: true)\nMagick API version: magick7\nMagick load: true\nMagick save: true");
+ = VipsRaw.LIBRARY_ARENA.allocateFrom("enable debug: false\nenable deprecated: true\nenable modules: true\nenable cplusplus: true\nenable RAD load/save: true\nenable Analyze7 load: true\nenable PPM load/save: true\nenable GIF load: true\nFFTs with fftw3: true\nSIMD support with libhwy: true\nICC profile support with lcms2: true\ndeflate compression with zlib: true\ntext rendering with pangocairo: true\nfont file support with fontconfig: true\nEXIF metadata support with libexif: true\nJPEG load/save with libjpeg: true\nJXL load/save with libjxl: true (dynamic module: true)\nJPEG2000 load/save with libopenjp2: true\nPNG load/save with spng: true\nimage quantisation with imagequant: true\nTIFF load/save with libtiff-4: true\nimage pyramid save with libarchive: true\nHEIC/AVIF load/save with libheif: true (dynamic module: true)\nWebP load/save with libwebp: true\nPDF load with poppler-glib: true (dynamic module: true)\nSVG load with librsvg-2.0: true\nEXR load with OpenEXR: true\nWSI load with openslide: true (dynamic module: true)\nMatlab load with matio: true\nNIfTI load/save with libnifti: false\nFITS load/save with cfitsio: true\nGIF save with cgif: true\nMagick load/save with MagickCore: true (dynamic module: true)");
}
return Holder.VIPS_CONFIG;
}
@@ -12458,14 +12497,14 @@ public static int VIPS_MAGIC_INTEL() {
public static int VIPS_MAGIC_SPARC() {
return VIPS_MAGIC_SPARC;
}
- private static final int VIPS_MAX_COORD = (int)10000000L;
+ private static final int VIPS_DEFAULT_MAX_COORD = (int)100000000L;
/**
* {@snippet lang=c :
- * #define VIPS_MAX_COORD 10000000
+ * #define VIPS_DEFAULT_MAX_COORD 100000000
* }
*/
- public static int VIPS_MAX_COORD() {
- return VIPS_MAX_COORD;
+ public static int VIPS_DEFAULT_MAX_COORD() {
+ return VIPS_DEFAULT_MAX_COORD;
}
private static final int VIPS_TRANSFORM_SHIFT = (int)6L;
/**
@@ -12599,6 +12638,18 @@ class Holder {
}
return Holder.VIPS_META_BITS_PER_SAMPLE;
}
+ /**
+ * {@snippet lang=c :
+ * #define VIPS_META_PALETTE "palette"
+ * }
+ */
+ public static MemorySegment VIPS_META_PALETTE() {
+ class Holder {
+ static final MemorySegment VIPS_META_PALETTE
+ = VipsRaw.LIBRARY_ARENA.allocateFrom("palette");
+ }
+ return Holder.VIPS_META_PALETTE;
+ }
/**
* {@snippet lang=c :
* #define VIPS_META_LOADER "vips-loader"
@@ -12953,5 +13004,209 @@ public static double VIPS_D3250_Y0() {
public static double VIPS_D3250_Z0() {
return VIPS_D3250_Z0;
}
+ /**
+ * {@snippet lang=c :
+ * #define VIPS_META_IPCT_NAME "iptc-data"
+ * }
+ */
+ public static MemorySegment VIPS_META_IPCT_NAME() {
+ class Holder {
+ static final MemorySegment VIPS_META_IPCT_NAME
+ = VipsRaw.LIBRARY_ARENA.allocateFrom("iptc-data");
+ }
+ return Holder.VIPS_META_IPCT_NAME;
+ }
+ /**
+ * {@snippet lang=c :
+ * #define VIPS_EXEEXT ""
+ * }
+ */
+ public static MemorySegment VIPS_EXEEXT() {
+ class Holder {
+ static final MemorySegment VIPS_EXEEXT
+ = VipsRaw.LIBRARY_ARENA.allocateFrom("");
+ }
+ return Holder.VIPS_EXEEXT;
+ }
+ private static final int VIPS_MASK_IDEAL_HIGHPASS = (int)0L;
+ /**
+ * {@snippet lang=c :
+ * #define VIPS_MASK_IDEAL_HIGHPASS 0
+ * }
+ */
+ public static int VIPS_MASK_IDEAL_HIGHPASS() {
+ return VIPS_MASK_IDEAL_HIGHPASS;
+ }
+ private static final int VIPS_MASK_IDEAL_LOWPASS = (int)1L;
+ /**
+ * {@snippet lang=c :
+ * #define VIPS_MASK_IDEAL_LOWPASS 1
+ * }
+ */
+ public static int VIPS_MASK_IDEAL_LOWPASS() {
+ return VIPS_MASK_IDEAL_LOWPASS;
+ }
+ private static final int VIPS_MASK_BUTTERWORTH_HIGHPASS = (int)2L;
+ /**
+ * {@snippet lang=c :
+ * #define VIPS_MASK_BUTTERWORTH_HIGHPASS 2
+ * }
+ */
+ public static int VIPS_MASK_BUTTERWORTH_HIGHPASS() {
+ return VIPS_MASK_BUTTERWORTH_HIGHPASS;
+ }
+ private static final int VIPS_MASK_BUTTERWORTH_LOWPASS = (int)3L;
+ /**
+ * {@snippet lang=c :
+ * #define VIPS_MASK_BUTTERWORTH_LOWPASS 3
+ * }
+ */
+ public static int VIPS_MASK_BUTTERWORTH_LOWPASS() {
+ return VIPS_MASK_BUTTERWORTH_LOWPASS;
+ }
+ private static final int VIPS_MASK_GAUSS_HIGHPASS = (int)4L;
+ /**
+ * {@snippet lang=c :
+ * #define VIPS_MASK_GAUSS_HIGHPASS 4
+ * }
+ */
+ public static int VIPS_MASK_GAUSS_HIGHPASS() {
+ return VIPS_MASK_GAUSS_HIGHPASS;
+ }
+ private static final int VIPS_MASK_GAUSS_LOWPASS = (int)5L;
+ /**
+ * {@snippet lang=c :
+ * #define VIPS_MASK_GAUSS_LOWPASS 5
+ * }
+ */
+ public static int VIPS_MASK_GAUSS_LOWPASS() {
+ return VIPS_MASK_GAUSS_LOWPASS;
+ }
+ private static final int VIPS_MASK_IDEAL_RINGPASS = (int)6L;
+ /**
+ * {@snippet lang=c :
+ * #define VIPS_MASK_IDEAL_RINGPASS 6
+ * }
+ */
+ public static int VIPS_MASK_IDEAL_RINGPASS() {
+ return VIPS_MASK_IDEAL_RINGPASS;
+ }
+ private static final int VIPS_MASK_IDEAL_RINGREJECT = (int)7L;
+ /**
+ * {@snippet lang=c :
+ * #define VIPS_MASK_IDEAL_RINGREJECT 7
+ * }
+ */
+ public static int VIPS_MASK_IDEAL_RINGREJECT() {
+ return VIPS_MASK_IDEAL_RINGREJECT;
+ }
+ private static final int VIPS_MASK_BUTTERWORTH_RINGPASS = (int)8L;
+ /**
+ * {@snippet lang=c :
+ * #define VIPS_MASK_BUTTERWORTH_RINGPASS 8
+ * }
+ */
+ public static int VIPS_MASK_BUTTERWORTH_RINGPASS() {
+ return VIPS_MASK_BUTTERWORTH_RINGPASS;
+ }
+ private static final int VIPS_MASK_BUTTERWORTH_RINGREJECT = (int)9L;
+ /**
+ * {@snippet lang=c :
+ * #define VIPS_MASK_BUTTERWORTH_RINGREJECT 9
+ * }
+ */
+ public static int VIPS_MASK_BUTTERWORTH_RINGREJECT() {
+ return VIPS_MASK_BUTTERWORTH_RINGREJECT;
+ }
+ private static final int VIPS_MASK_GAUSS_RINGPASS = (int)10L;
+ /**
+ * {@snippet lang=c :
+ * #define VIPS_MASK_GAUSS_RINGPASS 10
+ * }
+ */
+ public static int VIPS_MASK_GAUSS_RINGPASS() {
+ return VIPS_MASK_GAUSS_RINGPASS;
+ }
+ private static final int VIPS_MASK_GAUSS_RINGREJECT = (int)11L;
+ /**
+ * {@snippet lang=c :
+ * #define VIPS_MASK_GAUSS_RINGREJECT 11
+ * }
+ */
+ public static int VIPS_MASK_GAUSS_RINGREJECT() {
+ return VIPS_MASK_GAUSS_RINGREJECT;
+ }
+ private static final int VIPS_MASK_IDEAL_BANDPASS = (int)12L;
+ /**
+ * {@snippet lang=c :
+ * #define VIPS_MASK_IDEAL_BANDPASS 12
+ * }
+ */
+ public static int VIPS_MASK_IDEAL_BANDPASS() {
+ return VIPS_MASK_IDEAL_BANDPASS;
+ }
+ private static final int VIPS_MASK_IDEAL_BANDREJECT = (int)13L;
+ /**
+ * {@snippet lang=c :
+ * #define VIPS_MASK_IDEAL_BANDREJECT 13
+ * }
+ */
+ public static int VIPS_MASK_IDEAL_BANDREJECT() {
+ return VIPS_MASK_IDEAL_BANDREJECT;
+ }
+ private static final int VIPS_MASK_BUTTERWORTH_BANDPASS = (int)14L;
+ /**
+ * {@snippet lang=c :
+ * #define VIPS_MASK_BUTTERWORTH_BANDPASS 14
+ * }
+ */
+ public static int VIPS_MASK_BUTTERWORTH_BANDPASS() {
+ return VIPS_MASK_BUTTERWORTH_BANDPASS;
+ }
+ private static final int VIPS_MASK_BUTTERWORTH_BANDREJECT = (int)15L;
+ /**
+ * {@snippet lang=c :
+ * #define VIPS_MASK_BUTTERWORTH_BANDREJECT 15
+ * }
+ */
+ public static int VIPS_MASK_BUTTERWORTH_BANDREJECT() {
+ return VIPS_MASK_BUTTERWORTH_BANDREJECT;
+ }
+ private static final int VIPS_MASK_GAUSS_BANDPASS = (int)16L;
+ /**
+ * {@snippet lang=c :
+ * #define VIPS_MASK_GAUSS_BANDPASS 16
+ * }
+ */
+ public static int VIPS_MASK_GAUSS_BANDPASS() {
+ return VIPS_MASK_GAUSS_BANDPASS;
+ }
+ private static final int VIPS_MASK_GAUSS_BANDREJECT = (int)17L;
+ /**
+ * {@snippet lang=c :
+ * #define VIPS_MASK_GAUSS_BANDREJECT 17
+ * }
+ */
+ public static int VIPS_MASK_GAUSS_BANDREJECT() {
+ return VIPS_MASK_GAUSS_BANDREJECT;
+ }
+ private static final int VIPS_MASK_FRACTAL_FLT = (int)18L;
+ /**
+ * {@snippet lang=c :
+ * #define VIPS_MASK_FRACTAL_FLT 18
+ * }
+ */
+ public static int VIPS_MASK_FRACTAL_FLT() {
+ return VIPS_MASK_FRACTAL_FLT;
+ }
+ private static final int VIPS_VECTOR_SOURCE_MAX = (int)10L;
+ /**
+ * {@snippet lang=c :
+ * #define VIPS_VECTOR_SOURCE_MAX 10
+ * }
+ */
+ public static int VIPS_VECTOR_SOURCE_MAX() {
+ return VIPS_VECTOR_SOURCE_MAX;
+ }
}
diff --git a/docs/allclasses-index.html b/docs/allclasses-index.html
index 5cb4d06..44a13b7 100644
--- a/docs/allclasses-index.html
+++ b/docs/allclasses-index.html
@@ -1079,13 +1079,17 @@