Skip to main content

rs_vips/
enums.rs

1// (c) Copyright 2019-2025 OLX
2// (c) Copyright 2025 mrdkprj
3
4#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
5pub enum Access {
6    ///  `Random` -> VIPS_ACCESS_RANDOM = 0
7    Random = 0,
8    ///  `Sequential` -> VIPS_ACCESS_SEQUENTIAL = 1
9    Sequential = 1,
10    ///  `SequentialUnbuffered` -> VIPS_ACCESS_SEQUENTIAL_UNBUFFERED = 2
11    SequentialUnbuffered = 2,
12}
13
14#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
15pub enum Align {
16    ///  `Low` -> VIPS_ALIGN_LOW = 0
17    Low = 0,
18    ///  `Centre` -> VIPS_ALIGN_CENTRE = 1
19    Centre = 1,
20    ///  `High` -> VIPS_ALIGN_HIGH = 2
21    High = 2,
22}
23
24#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
25pub enum Angle {
26    ///  `D0` -> VIPS_ANGLE_D0 = 0
27    D0 = 0,
28    ///  `D90` -> VIPS_ANGLE_D90 = 1
29    D90 = 1,
30    ///  `D180` -> VIPS_ANGLE_D180 = 2
31    D180 = 2,
32    ///  `D270` -> VIPS_ANGLE_D270 = 3
33    D270 = 3,
34}
35
36#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
37pub enum Angle45 {
38    ///  `D0` -> VIPS_ANGLE45_D0 = 0
39    D0 = 0,
40    ///  `D45` -> VIPS_ANGLE45_D45 = 1
41    D45 = 1,
42    ///  `D90` -> VIPS_ANGLE45_D90 = 2
43    D90 = 2,
44    ///  `D135` -> VIPS_ANGLE45_D135 = 3
45    D135 = 3,
46    ///  `D180` -> VIPS_ANGLE45_D180 = 4
47    D180 = 4,
48    ///  `D225` -> VIPS_ANGLE45_D225 = 5
49    D225 = 5,
50    ///  `D270` -> VIPS_ANGLE45_D270 = 6
51    D270 = 6,
52    ///  `D315` -> VIPS_ANGLE45_D315 = 7
53    D315 = 7,
54}
55
56#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
57pub enum BandFormat {
58    ///  `Notset` -> VIPS_FORMAT_NOTSET = -1
59    Notset = -1,
60    ///  `Uchar` -> VIPS_FORMAT_UCHAR = 0
61    Uchar = 0,
62    ///  `Char` -> VIPS_FORMAT_CHAR = 1
63    Char = 1,
64    ///  `Ushort` -> VIPS_FORMAT_USHORT = 2
65    Ushort = 2,
66    ///  `Short` -> VIPS_FORMAT_SHORT = 3
67    Short = 3,
68    ///  `Uint` -> VIPS_FORMAT_UINT = 4
69    Uint = 4,
70    ///  `Int` -> VIPS_FORMAT_INT = 5
71    Int = 5,
72    ///  `Float` -> VIPS_FORMAT_FLOAT = 6
73    Float = 6,
74    ///  `Complex` -> VIPS_FORMAT_COMPLEX = 7
75    Complex = 7,
76    ///  `Double` -> VIPS_FORMAT_DOUBLE = 8
77    Double = 8,
78    ///  `Dpcomplex` -> VIPS_FORMAT_DPCOMPLEX = 9
79    Dpcomplex = 9,
80}
81
82#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
83pub enum BlendMode {
84    ///  `Clear` -> VIPS_BLEND_MODE_CLEAR = 0
85    Clear = 0,
86    ///  `Source` -> VIPS_BLEND_MODE_SOURCE = 1
87    Source = 1,
88    ///  `Over` -> VIPS_BLEND_MODE_OVER = 2
89    Over = 2,
90    ///  `In` -> VIPS_BLEND_MODE_IN = 3
91    In = 3,
92    ///  `Out` -> VIPS_BLEND_MODE_OUT = 4
93    Out = 4,
94    ///  `Atop` -> VIPS_BLEND_MODE_ATOP = 5
95    Atop = 5,
96    ///  `Dest` -> VIPS_BLEND_MODE_DEST = 6
97    Dest = 6,
98    ///  `DestOver` -> VIPS_BLEND_MODE_DEST_OVER = 7
99    DestOver = 7,
100    ///  `DestIn` -> VIPS_BLEND_MODE_DEST_IN = 8
101    DestIn = 8,
102    ///  `DestOut` -> VIPS_BLEND_MODE_DEST_OUT = 9
103    DestOut = 9,
104    ///  `DestAtop` -> VIPS_BLEND_MODE_DEST_ATOP = 10
105    DestAtop = 10,
106    ///  `Xor` -> VIPS_BLEND_MODE_XOR = 11
107    Xor = 11,
108    ///  `Add` -> VIPS_BLEND_MODE_ADD = 12
109    Add = 12,
110    ///  `Saturate` -> VIPS_BLEND_MODE_SATURATE = 13
111    Saturate = 13,
112    ///  `Multiply` -> VIPS_BLEND_MODE_MULTIPLY = 14
113    Multiply = 14,
114    ///  `Screen` -> VIPS_BLEND_MODE_SCREEN = 15
115    Screen = 15,
116    ///  `Overlay` -> VIPS_BLEND_MODE_OVERLAY = 16
117    Overlay = 16,
118    ///  `Darken` -> VIPS_BLEND_MODE_DARKEN = 17
119    Darken = 17,
120    ///  `Lighten` -> VIPS_BLEND_MODE_LIGHTEN = 18
121    Lighten = 18,
122    ///  `ColourDodge` -> VIPS_BLEND_MODE_COLOUR_DODGE = 19
123    ColourDodge = 19,
124    ///  `ColourBurn` -> VIPS_BLEND_MODE_COLOUR_BURN = 20
125    ColourBurn = 20,
126    ///  `HardLight` -> VIPS_BLEND_MODE_HARD_LIGHT = 21
127    HardLight = 21,
128    ///  `SoftLight` -> VIPS_BLEND_MODE_SOFT_LIGHT = 22
129    SoftLight = 22,
130    ///  `Difference` -> VIPS_BLEND_MODE_DIFFERENCE = 23
131    Difference = 23,
132    ///  `Exclusion` -> VIPS_BLEND_MODE_EXCLUSION = 24
133    Exclusion = 24,
134}
135
136#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
137pub enum Coding {
138    ///  `Error` -> VIPS_CODING_ERROR = -1
139    Error = -1,
140    ///  `None` -> VIPS_CODING_NONE = 0
141    None = 0,
142    ///  `Labq` -> VIPS_CODING_LABQ = 2
143    Labq = 2,
144    ///  `Rad` -> VIPS_CODING_RAD = 6
145    Rad = 6,
146}
147
148#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
149pub enum Combine {
150    ///  `Max` -> VIPS_COMBINE_MAX = 0
151    Max = 0,
152    ///  `Sum` -> VIPS_COMBINE_SUM = 1
153    Sum = 1,
154    ///  `Min` -> VIPS_COMBINE_MIN = 2
155    Min = 2,
156}
157
158#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
159pub enum CombineMode {
160    ///  `Set` -> VIPS_COMBINE_MODE_SET = 0
161    Set = 0,
162    ///  `Add` -> VIPS_COMBINE_MODE_ADD = 1
163    Add = 1,
164}
165
166#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
167pub enum CompassDirection {
168    ///  `Centre` -> VIPS_COMPASS_DIRECTION_CENTRE = 0
169    Centre = 0,
170    ///  `North` -> VIPS_COMPASS_DIRECTION_NORTH = 1
171    North = 1,
172    ///  `East` -> VIPS_COMPASS_DIRECTION_EAST = 2
173    East = 2,
174    ///  `South` -> VIPS_COMPASS_DIRECTION_SOUTH = 3
175    South = 3,
176    ///  `West` -> VIPS_COMPASS_DIRECTION_WEST = 4
177    West = 4,
178    ///  `NorthEast` -> VIPS_COMPASS_DIRECTION_NORTH_EAST = 5
179    NorthEast = 5,
180    ///  `SouthEast` -> VIPS_COMPASS_DIRECTION_SOUTH_EAST = 6
181    SouthEast = 6,
182    ///  `SouthWest` -> VIPS_COMPASS_DIRECTION_SOUTH_WEST = 7
183    SouthWest = 7,
184    ///  `NorthWest` -> VIPS_COMPASS_DIRECTION_NORTH_WEST = 8
185    NorthWest = 8,
186}
187
188#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
189pub enum Direction {
190    ///  `Horizontal` -> VIPS_DIRECTION_HORIZONTAL = 0
191    Horizontal = 0,
192    ///  `Vertical` -> VIPS_DIRECTION_VERTICAL = 1
193    Vertical = 1,
194}
195
196#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
197pub enum Extend {
198    ///  `Black` -> VIPS_EXTEND_BLACK = 0
199    Black = 0,
200    ///  `Copy` -> VIPS_EXTEND_COPY = 1
201    Copy = 1,
202    ///  `Repeat` -> VIPS_EXTEND_REPEAT = 2
203    Repeat = 2,
204    ///  `Mirror` -> VIPS_EXTEND_MIRROR = 3
205    Mirror = 3,
206    ///  `White` -> VIPS_EXTEND_WHITE = 4
207    White = 4,
208    ///  `Background` -> VIPS_EXTEND_BACKGROUND = 5
209    Background = 5,
210}
211
212#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
213pub enum FailOn {
214    ///  `None` -> VIPS_FAIL_ON_NONE = 0
215    None = 0,
216    ///  `Truncated` -> VIPS_FAIL_ON_TRUNCATED = 1
217    Truncated = 1,
218    ///  `Error` -> VIPS_FAIL_ON_ERROR = 2
219    Error = 2,
220    ///  `Warning` -> VIPS_FAIL_ON_WARNING = 3
221    Warning = 3,
222}
223
224#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
225pub enum ForeignDzContainer {
226    ///  `Fs` -> VIPS_FOREIGN_DZ_CONTAINER_FS = 0
227    Fs = 0,
228    ///  `Zip` -> VIPS_FOREIGN_DZ_CONTAINER_ZIP = 1
229    Zip = 1,
230    ///  `Szi` -> VIPS_FOREIGN_DZ_CONTAINER_SZI = 2
231    Szi = 2,
232}
233
234#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
235pub enum ForeignDzDepth {
236    ///  `Onepixel` -> VIPS_FOREIGN_DZ_DEPTH_ONEPIXEL = 0
237    Onepixel = 0,
238    ///  `Onetile` -> VIPS_FOREIGN_DZ_DEPTH_ONETILE = 1
239    Onetile = 1,
240    ///  `One` -> VIPS_FOREIGN_DZ_DEPTH_ONE = 2
241    One = 2,
242}
243
244#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
245pub enum ForeignDzLayout {
246    ///  `Dz` -> VIPS_FOREIGN_DZ_LAYOUT_DZ = 0
247    Dz = 0,
248    ///  `Zoomify` -> VIPS_FOREIGN_DZ_LAYOUT_ZOOMIFY = 1
249    Zoomify = 1,
250    ///  `Google` -> VIPS_FOREIGN_DZ_LAYOUT_GOOGLE = 2
251    Google = 2,
252    ///  `Iiif` -> VIPS_FOREIGN_DZ_LAYOUT_IIIF = 3
253    Iiif = 3,
254    ///  `Iiif3` -> VIPS_FOREIGN_DZ_LAYOUT_IIIF3 = 4
255    Iiif3 = 4,
256}
257
258#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
259pub enum ForeignFlags {
260    ///  `None` -> VIPS_FOREIGN_NONE = 0
261    None = 0,
262    ///  `Partial` -> VIPS_FOREIGN_PARTIAL = 1
263    Partial = 1,
264    ///  `Bigendian` -> VIPS_FOREIGN_BIGENDIAN = 2
265    Bigendian = 2,
266    ///  `Sequential` -> VIPS_FOREIGN_SEQUENTIAL = 4
267    Sequential = 4,
268    ///  `All` -> VIPS_FOREIGN_ALL = 7
269    All = 7,
270}
271
272#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
273pub enum ForeignHeifCompression {
274    ///  `Hevc` -> VIPS_FOREIGN_HEIF_COMPRESSION_HEVC = 1
275    Hevc = 1,
276    ///  `Avc` -> VIPS_FOREIGN_HEIF_COMPRESSION_AVC = 2
277    Avc = 2,
278    ///  `Jpeg` -> VIPS_FOREIGN_HEIF_COMPRESSION_JPEG = 3
279    Jpeg = 3,
280    ///  `Av1` -> VIPS_FOREIGN_HEIF_COMPRESSION_AV1 = 4
281    Av1 = 4,
282}
283
284#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
285pub enum ForeignHeifEncoder {
286    ///  `Auto` -> VIPS_FOREIGN_HEIF_ENCODER_AUTO = 0
287    Auto = 0,
288    ///  `Aom` -> VIPS_FOREIGN_HEIF_ENCODER_AOM = 1
289    Aom = 1,
290    ///  `Rav1E` -> VIPS_FOREIGN_HEIF_ENCODER_RAV1E = 2
291    Rav1E = 2,
292    ///  `Svt` -> VIPS_FOREIGN_HEIF_ENCODER_SVT = 3
293    Svt = 3,
294    ///  `X265` -> VIPS_FOREIGN_HEIF_ENCODER_X265 = 4
295    X265 = 4,
296}
297
298#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
299pub enum ForeignKeep {
300    ///  `None` -> VIPS_FOREIGN_KEEP_NONE = 0
301    None = 0,
302    ///  `Exif` -> VIPS_FOREIGN_KEEP_EXIF = 1
303    Exif = 1,
304    ///  `Xmp` -> VIPS_FOREIGN_KEEP_XMP = 2
305    Xmp = 2,
306    ///  `Iptc` -> VIPS_FOREIGN_KEEP_IPTC = 4
307    Iptc = 4,
308    ///  `Icc` -> VIPS_FOREIGN_KEEP_ICC = 8
309    Icc = 8,
310    ///  `Other` -> VIPS_FOREIGN_KEEP_OTHER = 16
311    Other = 16,
312    ///  `Gainmap` -> VIPS_FOREIGN_KEEP_GAINMAP = 32
313    Gainmap = 32,
314    ///  `All` -> VIPS_FOREIGN_KEEP_ALL = 63
315    All = 63,
316}
317
318#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
319pub enum ForeignPdfPageBox {
320    ///  `Medum` -> VIPS_FOREIGN_PDF_PAGE_BOX_MEDIA = 0
321    Medum = 0,
322    ///  `Crop` -> VIPS_FOREIGN_PDF_PAGE_BOX_CROP = 1
323    Crop = 1,
324    ///  `Trim` -> VIPS_FOREIGN_PDF_PAGE_BOX_TRIM = 2
325    Trim = 2,
326    ///  `Bleed` -> VIPS_FOREIGN_PDF_PAGE_BOX_BLEED = 3
327    Bleed = 3,
328    ///  `Art` -> VIPS_FOREIGN_PDF_PAGE_BOX_ART = 4
329    Art = 4,
330}
331
332#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
333pub enum ForeignPngFilter {
334    ///  `None` -> VIPS_FOREIGN_PNG_FILTER_NONE = 8
335    None = 8,
336    ///  `Sub` -> VIPS_FOREIGN_PNG_FILTER_SUB = 16
337    Sub = 16,
338    ///  `Up` -> VIPS_FOREIGN_PNG_FILTER_UP = 32
339    Up = 32,
340    ///  `Avg` -> VIPS_FOREIGN_PNG_FILTER_AVG = 64
341    Avg = 64,
342    ///  `Paeth` -> VIPS_FOREIGN_PNG_FILTER_PAETH = 128
343    Paeth = 128,
344    ///  `All` -> VIPS_FOREIGN_PNG_FILTER_ALL = 248
345    All = 248,
346}
347
348#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
349pub enum ForeignPpmFormat {
350    ///  `Pbm` -> VIPS_FOREIGN_PPM_FORMAT_PBM = 0
351    Pbm = 0,
352    ///  `Pgm` -> VIPS_FOREIGN_PPM_FORMAT_PGM = 1
353    Pgm = 1,
354    ///  `Ppm` -> VIPS_FOREIGN_PPM_FORMAT_PPM = 2
355    Ppm = 2,
356    ///  `Pfm` -> VIPS_FOREIGN_PPM_FORMAT_PFM = 3
357    Pfm = 3,
358    ///  `Pnm` -> VIPS_FOREIGN_PPM_FORMAT_PNM = 4
359    Pnm = 4,
360}
361
362#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
363pub enum ForeignSubsample {
364    ///  `Auto` -> VIPS_FOREIGN_SUBSAMPLE_AUTO = 0
365    Auto = 0,
366    ///  `On` -> VIPS_FOREIGN_SUBSAMPLE_ON = 1
367    On = 1,
368    ///  `Off` -> VIPS_FOREIGN_SUBSAMPLE_OFF = 2
369    Off = 2,
370}
371
372#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
373pub enum ForeignTiffCompression {
374    ///  `None` -> VIPS_FOREIGN_TIFF_COMPRESSION_NONE = 0
375    None = 0,
376    ///  `Jpeg` -> VIPS_FOREIGN_TIFF_COMPRESSION_JPEG = 1
377    Jpeg = 1,
378    ///  `Deflate` -> VIPS_FOREIGN_TIFF_COMPRESSION_DEFLATE = 2
379    Deflate = 2,
380    ///  `Packbits` -> VIPS_FOREIGN_TIFF_COMPRESSION_PACKBITS = 3
381    Packbits = 3,
382    ///  `Ccittfax4` -> VIPS_FOREIGN_TIFF_COMPRESSION_CCITTFAX4 = 4
383    Ccittfax4 = 4,
384    ///  `Lzw` -> VIPS_FOREIGN_TIFF_COMPRESSION_LZW = 5
385    Lzw = 5,
386    ///  `Webp` -> VIPS_FOREIGN_TIFF_COMPRESSION_WEBP = 6
387    Webp = 6,
388    ///  `Zstd` -> VIPS_FOREIGN_TIFF_COMPRESSION_ZSTD = 7
389    Zstd = 7,
390    ///  `Jp2K` -> VIPS_FOREIGN_TIFF_COMPRESSION_JP2K = 8
391    Jp2K = 8,
392}
393
394#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
395pub enum ForeignTiffPredictor {
396    ///  `None` -> VIPS_FOREIGN_TIFF_PREDICTOR_NONE = 1
397    None = 1,
398    ///  `Horizontal` -> VIPS_FOREIGN_TIFF_PREDICTOR_HORIZONTAL = 2
399    Horizontal = 2,
400    ///  `Float` -> VIPS_FOREIGN_TIFF_PREDICTOR_FLOAT = 3
401    Float = 3,
402}
403
404#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
405pub enum ForeignTiffResunit {
406    ///  `Cm` -> VIPS_FOREIGN_TIFF_RESUNIT_CM = 0
407    Cm = 0,
408    ///  `Inch` -> VIPS_FOREIGN_TIFF_RESUNIT_INCH = 1
409    Inch = 1,
410}
411
412#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
413pub enum ForeignWebpPreset {
414    ///  `Default` -> VIPS_FOREIGN_WEBP_PRESET_DEFAULT = 0
415    Default = 0,
416    ///  `Picture` -> VIPS_FOREIGN_WEBP_PRESET_PICTURE = 1
417    Picture = 1,
418    ///  `Photo` -> VIPS_FOREIGN_WEBP_PRESET_PHOTO = 2
419    Photo = 2,
420    ///  `Drawing` -> VIPS_FOREIGN_WEBP_PRESET_DRAWING = 3
421    Drawing = 3,
422    ///  `Icon` -> VIPS_FOREIGN_WEBP_PRESET_ICON = 4
423    Icon = 4,
424    ///  `Text` -> VIPS_FOREIGN_WEBP_PRESET_TEXT = 5
425    Text = 5,
426}
427
428#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
429pub enum Intent {
430    ///  `Perceptual` -> VIPS_INTENT_PERCEPTUAL = 0
431    Perceptual = 0,
432    ///  `Relative` -> VIPS_INTENT_RELATIVE = 1
433    Relative = 1,
434    ///  `Saturation` -> VIPS_INTENT_SATURATION = 2
435    Saturation = 2,
436    ///  `Absolute` -> VIPS_INTENT_ABSOLUTE = 3
437    Absolute = 3,
438    ///  `Auto` -> VIPS_INTENT_AUTO = 32
439    Auto = 32,
440}
441
442#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
443pub enum Interesting {
444    ///  `None` -> VIPS_INTERESTING_NONE = 0
445    None = 0,
446    ///  `Centre` -> VIPS_INTERESTING_CENTRE = 1
447    Centre = 1,
448    ///  `Entropy` -> VIPS_INTERESTING_ENTROPY = 2
449    Entropy = 2,
450    ///  `Attention` -> VIPS_INTERESTING_ATTENTION = 3
451    Attention = 3,
452    ///  `Low` -> VIPS_INTERESTING_LOW = 4
453    Low = 4,
454    ///  `High` -> VIPS_INTERESTING_HIGH = 5
455    High = 5,
456    ///  `All` -> VIPS_INTERESTING_ALL = 6
457    All = 6,
458}
459
460#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
461pub enum Interpretation {
462    ///  `Error` -> VIPS_INTERPRETATION_ERROR = -1
463    Error = -1,
464    ///  `Multiband` -> VIPS_INTERPRETATION_MULTIBAND = 0
465    Multiband = 0,
466    ///  `BW` -> VIPS_INTERPRETATION_B_W = 1
467    BW = 1,
468    ///  `Histogram` -> VIPS_INTERPRETATION_HISTOGRAM = 10
469    Histogram = 10,
470    ///  `Xyz` -> VIPS_INTERPRETATION_XYZ = 12
471    Xyz = 12,
472    ///  `Lab` -> VIPS_INTERPRETATION_LAB = 13
473    Lab = 13,
474    ///  `Cmyk` -> VIPS_INTERPRETATION_CMYK = 15
475    Cmyk = 15,
476    ///  `Labq` -> VIPS_INTERPRETATION_LABQ = 16
477    Labq = 16,
478    ///  `Rgb` -> VIPS_INTERPRETATION_RGB = 17
479    Rgb = 17,
480    ///  `Cmc` -> VIPS_INTERPRETATION_CMC = 18
481    Cmc = 18,
482    ///  `Lch` -> VIPS_INTERPRETATION_LCH = 19
483    Lch = 19,
484    ///  `Labs` -> VIPS_INTERPRETATION_LABS = 21
485    Labs = 21,
486    ///  `Srgb` -> VIPS_INTERPRETATION_sRGB = 22
487    Srgb = 22,
488    ///  `Yxy` -> VIPS_INTERPRETATION_YXY = 23
489    Yxy = 23,
490    ///  `Fourier` -> VIPS_INTERPRETATION_FOURIER = 24
491    Fourier = 24,
492    ///  `Rgb16` -> VIPS_INTERPRETATION_RGB16 = 25
493    Rgb16 = 25,
494    ///  `Grey16` -> VIPS_INTERPRETATION_GREY16 = 26
495    Grey16 = 26,
496    ///  `Matrix` -> VIPS_INTERPRETATION_MATRIX = 27
497    Matrix = 27,
498    ///  `Scrgb` -> VIPS_INTERPRETATION_scRGB = 28
499    Scrgb = 28,
500    ///  `Hsv` -> VIPS_INTERPRETATION_HSV = 29
501    Hsv = 29,
502    ///  `Oklab` -> VIPS_INTERPRETATION_OKLAB = 30
503    Oklab = 30,
504    ///  `Oklch` -> VIPS_INTERPRETATION_OKLCH = 31
505    Oklch = 31,
506}
507
508#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
509pub enum Kernel {
510    ///  `Nearest` -> VIPS_KERNEL_NEAREST = 0
511    Nearest = 0,
512    ///  `Linear` -> VIPS_KERNEL_LINEAR = 1
513    Linear = 1,
514    ///  `Cubic` -> VIPS_KERNEL_CUBIC = 2
515    Cubic = 2,
516    ///  `Mitchell` -> VIPS_KERNEL_MITCHELL = 3
517    Mitchell = 3,
518    ///  `Lanczos2` -> VIPS_KERNEL_LANCZOS2 = 4
519    Lanczos2 = 4,
520    ///  `Lanczos3` -> VIPS_KERNEL_LANCZOS3 = 5
521    Lanczos3 = 5,
522    ///  `Mks2013` -> VIPS_KERNEL_MKS2013 = 6
523    Mks2013 = 6,
524    ///  `Mks2021` -> VIPS_KERNEL_MKS2021 = 7
525    Mks2021 = 7,
526}
527
528#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
529pub enum OperationBoolean {
530    ///  `And` -> VIPS_OPERATION_BOOLEAN_AND = 0
531    And = 0,
532    ///  `Or` -> VIPS_OPERATION_BOOLEAN_OR = 1
533    Or = 1,
534    ///  `Eor` -> VIPS_OPERATION_BOOLEAN_EOR = 2
535    Eor = 2,
536    ///  `Lshift` -> VIPS_OPERATION_BOOLEAN_LSHIFT = 3
537    Lshift = 3,
538    ///  `Rshift` -> VIPS_OPERATION_BOOLEAN_RSHIFT = 4
539    Rshift = 4,
540}
541
542#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
543pub enum OperationComplex {
544    ///  `Polar` -> VIPS_OPERATION_COMPLEX_POLAR = 0
545    Polar = 0,
546    ///  `Rect` -> VIPS_OPERATION_COMPLEX_RECT = 1
547    Rect = 1,
548    ///  `Conj` -> VIPS_OPERATION_COMPLEX_CONJ = 2
549    Conj = 2,
550}
551
552#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
553pub enum OperationComplex2 {
554    ///  `CrossPhase` -> VIPS_OPERATION_COMPLEX2_CROSS_PHASE = 0
555    CrossPhase = 0,
556}
557
558#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
559pub enum OperationComplexget {
560    ///  `Real` -> VIPS_OPERATION_COMPLEXGET_REAL = 0
561    Real = 0,
562    ///  `Imag` -> VIPS_OPERATION_COMPLEXGET_IMAG = 1
563    Imag = 1,
564}
565
566#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
567pub enum OperationMath {
568    ///  `Sin` -> VIPS_OPERATION_MATH_SIN = 0
569    Sin = 0,
570    ///  `Cos` -> VIPS_OPERATION_MATH_COS = 1
571    Cos = 1,
572    ///  `Tan` -> VIPS_OPERATION_MATH_TAN = 2
573    Tan = 2,
574    ///  `Asin` -> VIPS_OPERATION_MATH_ASIN = 3
575    Asin = 3,
576    ///  `Acos` -> VIPS_OPERATION_MATH_ACOS = 4
577    Acos = 4,
578    ///  `Atan` -> VIPS_OPERATION_MATH_ATAN = 5
579    Atan = 5,
580    ///  `Log` -> VIPS_OPERATION_MATH_LOG = 6
581    Log = 6,
582    ///  `Log10` -> VIPS_OPERATION_MATH_LOG10 = 7
583    Log10 = 7,
584    ///  `Exp` -> VIPS_OPERATION_MATH_EXP = 8
585    Exp = 8,
586    ///  `Exp10` -> VIPS_OPERATION_MATH_EXP10 = 9
587    Exp10 = 9,
588    ///  `Sinh` -> VIPS_OPERATION_MATH_SINH = 10
589    Sinh = 10,
590    ///  `Cosh` -> VIPS_OPERATION_MATH_COSH = 11
591    Cosh = 11,
592    ///  `Tanh` -> VIPS_OPERATION_MATH_TANH = 12
593    Tanh = 12,
594    ///  `Asinh` -> VIPS_OPERATION_MATH_ASINH = 13
595    Asinh = 13,
596    ///  `Acosh` -> VIPS_OPERATION_MATH_ACOSH = 14
597    Acosh = 14,
598    ///  `Atanh` -> VIPS_OPERATION_MATH_ATANH = 15
599    Atanh = 15,
600}
601
602#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
603pub enum OperationMath2 {
604    ///  `Pow` -> VIPS_OPERATION_MATH2_POW = 0
605    Pow = 0,
606    ///  `Wop` -> VIPS_OPERATION_MATH2_WOP = 1
607    Wop = 1,
608    ///  `Atan2` -> VIPS_OPERATION_MATH2_ATAN2 = 2
609    Atan2 = 2,
610}
611
612#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
613pub enum OperationMorphology {
614    ///  `Erode` -> VIPS_OPERATION_MORPHOLOGY_ERODE = 0
615    Erode = 0,
616    ///  `Dilate` -> VIPS_OPERATION_MORPHOLOGY_DILATE = 1
617    Dilate = 1,
618}
619
620#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
621pub enum OperationRelational {
622    ///  `Equal` -> VIPS_OPERATION_RELATIONAL_EQUAL = 0
623    Equal = 0,
624    ///  `Noteq` -> VIPS_OPERATION_RELATIONAL_NOTEQ = 1
625    Noteq = 1,
626    ///  `Less` -> VIPS_OPERATION_RELATIONAL_LESS = 2
627    Less = 2,
628    ///  `Lesseq` -> VIPS_OPERATION_RELATIONAL_LESSEQ = 3
629    Lesseq = 3,
630    ///  `More` -> VIPS_OPERATION_RELATIONAL_MORE = 4
631    More = 4,
632    ///  `Moreeq` -> VIPS_OPERATION_RELATIONAL_MOREEQ = 5
633    Moreeq = 5,
634}
635
636#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
637pub enum OperationRound {
638    ///  `Rint` -> VIPS_OPERATION_ROUND_RINT = 0
639    Rint = 0,
640    ///  `Ceil` -> VIPS_OPERATION_ROUND_CEIL = 1
641    Ceil = 1,
642    ///  `Floor` -> VIPS_OPERATION_ROUND_FLOOR = 2
643    Floor = 2,
644}
645
646#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
647pub enum PCS {
648    ///  `Lab` -> VIPS_PCS_LAB = 0
649    Lab = 0,
650    ///  `Xyz` -> VIPS_PCS_XYZ = 1
651    Xyz = 1,
652}
653
654#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
655pub enum Precision {
656    ///  `Integer` -> VIPS_PRECISION_INTEGER = 0
657    Integer = 0,
658    ///  `Float` -> VIPS_PRECISION_FLOAT = 1
659    Float = 1,
660    ///  `Approximate` -> VIPS_PRECISION_APPROXIMATE = 2
661    Approximate = 2,
662}
663
664#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
665pub enum RegionShrink {
666    ///  `Mean` -> VIPS_REGION_SHRINK_MEAN = 0
667    Mean = 0,
668    ///  `Median` -> VIPS_REGION_SHRINK_MEDIAN = 1
669    Median = 1,
670    ///  `Mode` -> VIPS_REGION_SHRINK_MODE = 2
671    Mode = 2,
672    ///  `Max` -> VIPS_REGION_SHRINK_MAX = 3
673    Max = 3,
674    ///  `Min` -> VIPS_REGION_SHRINK_MIN = 4
675    Min = 4,
676    ///  `Nearest` -> VIPS_REGION_SHRINK_NEAREST = 5
677    Nearest = 5,
678}
679
680#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
681pub enum SdfShape {
682    ///  `Circle` -> VIPS_SDF_SHAPE_CIRCLE = 0
683    Circle = 0,
684    ///  `Box` -> VIPS_SDF_SHAPE_BOX = 1
685    Box = 1,
686    ///  `RoundedBox` -> VIPS_SDF_SHAPE_ROUNDED_BOX = 2
687    RoundedBox = 2,
688    ///  `Line` -> VIPS_SDF_SHAPE_LINE = 3
689    Line = 3,
690}
691
692#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
693pub enum Size {
694    ///  `Both` -> VIPS_SIZE_BOTH = 0
695    Both = 0,
696    ///  `Up` -> VIPS_SIZE_UP = 1
697    Up = 1,
698    ///  `Down` -> VIPS_SIZE_DOWN = 2
699    Down = 2,
700    ///  `Force` -> VIPS_SIZE_FORCE = 3
701    Force = 3,
702}
703
704#[derive(Copy, Clone, Debug, FromPrimitive, ToPrimitive, PartialEq, PartialOrd)]
705pub enum TextWrap {
706    ///  `Word` -> VIPS_TEXT_WRAP_WORD = 0
707    Word = 0,
708    ///  `Char` -> VIPS_TEXT_WRAP_CHAR = 1
709    Char = 1,
710    ///  `WordChar` -> VIPS_TEXT_WRAP_WORD_CHAR = 2
711    WordChar = 2,
712    ///  `None` -> VIPS_TEXT_WRAP_NONE = 3
713    None = 3,
714}