1#[repr(C)]
10#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
11pub struct __BindgenBitfieldUnit<Storage> {
12 storage: Storage,
13}
14impl<Storage> __BindgenBitfieldUnit<Storage> {
15 #[inline]
16 pub const fn new(storage: Storage) -> Self {
17 Self { storage }
18 }
19}
20impl<Storage> __BindgenBitfieldUnit<Storage>
21where
22 Storage: AsRef<[u8]> + AsMut<[u8]>,
23{
24 #[inline]
25 fn extract_bit(byte: u8, index: usize) -> bool {
26 let bit_index = if cfg!(target_endian = "big") {
27 7 - (index % 8)
28 } else {
29 index % 8
30 };
31 let mask = 1 << bit_index;
32 byte & mask == mask
33 }
34 #[inline]
35 pub fn get_bit(&self, index: usize) -> bool {
36 debug_assert!(index / 8 < self.storage.as_ref().len());
37 let byte_index = index / 8;
38 let byte = self.storage.as_ref()[byte_index];
39 Self::extract_bit(byte, index)
40 }
41 #[inline]
42 pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool {
43 debug_assert!(index / 8 < core::mem::size_of::<Storage>());
44 let byte_index = index / 8;
45 let byte = unsafe {
46 *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize)
47 };
48 Self::extract_bit(byte, index)
49 }
50 #[inline]
51 fn change_bit(byte: u8, index: usize, val: bool) -> u8 {
52 let bit_index = if cfg!(target_endian = "big") {
53 7 - (index % 8)
54 } else {
55 index % 8
56 };
57 let mask = 1 << bit_index;
58 if val { byte | mask } else { byte & !mask }
59 }
60 #[inline]
61 pub fn set_bit(&mut self, index: usize, val: bool) {
62 debug_assert!(index / 8 < self.storage.as_ref().len());
63 let byte_index = index / 8;
64 let byte = &mut self.storage.as_mut()[byte_index];
65 *byte = Self::change_bit(*byte, index, val);
66 }
67 #[inline]
68 pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) {
69 debug_assert!(index / 8 < core::mem::size_of::<Storage>());
70 let byte_index = index / 8;
71 let byte = unsafe {
72 (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize)
73 };
74 unsafe { *byte = Self::change_bit(*byte, index, val) };
75 }
76 #[inline]
77 pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
78 debug_assert!(bit_width <= 64);
79 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
80 debug_assert!((bit_offset + (bit_width as usize) + 7) / 8 <= self.storage.as_ref().len());
81 if bit_width == 0 {
82 return 0;
83 }
84 let mut val = 0u64;
85 let storage = self.storage.as_ref();
86 let start_byte = bit_offset / 8;
87 let bit_shift = bit_offset % 8;
88 let bytes_needed = (bit_width as usize + bit_shift + 7) / 8;
89 if cfg!(target_endian = "big") {
90 for i in 0..bytes_needed {
91 val |= (storage[start_byte + i].reverse_bits() as u64) << (i * 8);
92 }
93 } else {
94 for i in 0..bytes_needed {
95 val |= (storage[start_byte + i] as u64) << (i * 8);
96 }
97 }
98 val >>= bit_shift;
99 if bit_width < 64 {
100 val &= (1u64 << bit_width) - 1;
101 }
102 if cfg!(target_endian = "big") {
103 val = val.reverse_bits() >> (64 - bit_width as usize);
104 }
105 val
106 }
107 #[inline]
108 pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 {
109 debug_assert!(bit_width <= 64);
110 debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
111 debug_assert!(
112 (bit_offset + (bit_width as usize) + 7) / 8 <= core::mem::size_of::<Storage>()
113 );
114 if bit_width == 0 {
115 return 0;
116 }
117 let mut val = 0u64;
118 let start_byte = bit_offset / 8;
119 let bit_shift = bit_offset % 8;
120 let bytes_needed = (bit_width as usize + bit_shift + 7) / 8;
121 let storage_ptr = unsafe { core::ptr::addr_of!((*this).storage) as *const u8 };
122 if cfg!(target_endian = "big") {
123 for i in 0..bytes_needed {
124 let byte = unsafe { *storage_ptr.add(start_byte + i) };
125 val |= (byte.reverse_bits() as u64) << (i * 8);
126 }
127 } else {
128 for i in 0..bytes_needed {
129 let byte = unsafe { *storage_ptr.add(start_byte + i) };
130 val |= (byte as u64) << (i * 8);
131 }
132 }
133 val >>= bit_shift;
134 if bit_width < 64 {
135 val &= (1u64 << bit_width) - 1;
136 }
137 if cfg!(target_endian = "big") {
138 val = val.reverse_bits() >> (64 - bit_width as usize);
139 }
140 val
141 }
142 #[inline]
143 pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
144 debug_assert!(bit_width <= 64);
145 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
146 debug_assert!((bit_offset + (bit_width as usize) + 7) / 8 <= self.storage.as_ref().len());
147 if bit_width == 0 {
148 return;
149 }
150 let mut val = val;
151 if bit_width < 64 {
152 val &= (1u64 << bit_width) - 1;
153 }
154 if cfg!(target_endian = "big") {
155 val = val.reverse_bits() >> (64 - bit_width as usize);
156 }
157 let storage = self.storage.as_mut();
158 let start_byte = bit_offset / 8;
159 let bit_shift = bit_offset % 8;
160 let bytes_needed = (bit_width as usize + bit_shift + 7) / 8;
161 val <<= bit_shift;
162 let field_mask = if bit_width as usize + bit_shift >= 64 {
163 !0u64 << bit_shift
164 } else {
165 ((1u64 << bit_width) - 1) << bit_shift
166 };
167 for i in 0..bytes_needed {
168 let byte_val = (val >> (i * 8)) as u8;
169 let byte_mask = (field_mask >> (i * 8)) as u8;
170 if cfg!(target_endian = "big") {
171 let byte = storage[start_byte + i].reverse_bits();
172 let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
173 storage[start_byte + i] = new_byte.reverse_bits();
174 } else {
175 storage[start_byte + i] =
176 (storage[start_byte + i] & !byte_mask) | (byte_val & byte_mask);
177 }
178 }
179 }
180 #[inline]
181 pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) {
182 debug_assert!(bit_width <= 64);
183 debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
184 debug_assert!(
185 (bit_offset + (bit_width as usize) + 7) / 8 <= core::mem::size_of::<Storage>()
186 );
187 if bit_width == 0 {
188 return;
189 }
190 let mut val = val;
191 if bit_width < 64 {
192 val &= (1u64 << bit_width) - 1;
193 }
194 if cfg!(target_endian = "big") {
195 val = val.reverse_bits() >> (64 - bit_width as usize);
196 }
197 let start_byte = bit_offset / 8;
198 let bit_shift = bit_offset % 8;
199 let bytes_needed = (bit_width as usize + bit_shift + 7) / 8;
200 val <<= bit_shift;
201 let field_mask = if bit_width as usize + bit_shift >= 64 {
202 !0u64 << bit_shift
203 } else {
204 ((1u64 << bit_width) - 1) << bit_shift
205 };
206 let storage_ptr = unsafe { core::ptr::addr_of_mut!((*this).storage) as *mut u8 };
207 for i in 0..bytes_needed {
208 let byte_val = (val >> (i * 8)) as u8;
209 let byte_mask = (field_mask >> (i * 8)) as u8;
210 let byte_ptr = unsafe { storage_ptr.add(start_byte + i) };
211 if cfg!(target_endian = "big") {
212 let byte = unsafe { (*byte_ptr).reverse_bits() };
213 let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
214 unsafe { *byte_ptr = new_byte.reverse_bits() };
215 } else {
216 unsafe { *byte_ptr = (*byte_ptr & !byte_mask) | (byte_val & byte_mask) };
217 }
218 }
219 }
220}
221#[doc = " Const-generic methods for efficient bitfield access when offset and width"]
222#[doc = " are known at compile time."]
223impl<const N: usize> __BindgenBitfieldUnit<[u8; N]> {
224 #[doc = " Get a field using const generics for compile-time optimization."]
225 #[doc = " Uses native word size operations when the field fits in usize."]
226 #[inline]
227 pub const fn get_const<const BIT_OFFSET: usize, const BIT_WIDTH: u8>(&self) -> u64 {
228 debug_assert!(BIT_WIDTH <= 64);
229 debug_assert!(BIT_OFFSET / 8 < N);
230 debug_assert!((BIT_OFFSET + (BIT_WIDTH as usize) + 7) / 8 <= N);
231 if BIT_WIDTH == 0 {
232 return 0;
233 }
234 let start_byte = BIT_OFFSET / 8;
235 let bit_shift = BIT_OFFSET % 8;
236 let bytes_needed = (BIT_WIDTH as usize + bit_shift + 7) / 8;
237 if BIT_WIDTH as usize + bit_shift <= usize::BITS as usize {
238 let mut val = 0usize;
239 if cfg!(target_endian = "big") {
240 let mut i = 0;
241 while i < bytes_needed {
242 val |= (self.storage[start_byte + i].reverse_bits() as usize) << (i * 8);
243 i += 1;
244 }
245 } else {
246 let mut i = 0;
247 while i < bytes_needed {
248 val |= (self.storage[start_byte + i] as usize) << (i * 8);
249 i += 1;
250 }
251 }
252 val >>= bit_shift;
253 if (BIT_WIDTH as u32) < usize::BITS {
254 val &= (1usize << BIT_WIDTH) - 1;
255 }
256 if cfg!(target_endian = "big") {
257 val = val.reverse_bits() >> (usize::BITS as usize - BIT_WIDTH as usize);
258 }
259 val as u64
260 } else {
261 let mut val = 0u64;
262 if cfg!(target_endian = "big") {
263 let mut i = 0;
264 while i < bytes_needed {
265 val |= (self.storage[start_byte + i].reverse_bits() as u64) << (i * 8);
266 i += 1;
267 }
268 } else {
269 let mut i = 0;
270 while i < bytes_needed {
271 val |= (self.storage[start_byte + i] as u64) << (i * 8);
272 i += 1;
273 }
274 }
275 val >>= bit_shift;
276 if BIT_WIDTH < 64 {
277 val &= (1u64 << BIT_WIDTH) - 1;
278 }
279 if cfg!(target_endian = "big") {
280 val = val.reverse_bits() >> (64 - BIT_WIDTH as usize);
281 }
282 val
283 }
284 }
285 #[doc = " Set a field using const generics for compile-time optimization."]
286 #[doc = " Uses native word size operations when the field fits in usize."]
287 #[inline]
288 pub fn set_const<const BIT_OFFSET: usize, const BIT_WIDTH: u8>(&mut self, val: u64) {
289 debug_assert!(BIT_WIDTH <= 64);
290 debug_assert!(BIT_OFFSET / 8 < N);
291 debug_assert!((BIT_OFFSET + (BIT_WIDTH as usize) + 7) / 8 <= N);
292 if BIT_WIDTH == 0 {
293 return;
294 }
295 let start_byte = BIT_OFFSET / 8;
296 let bit_shift = BIT_OFFSET % 8;
297 let bytes_needed = (BIT_WIDTH as usize + bit_shift + 7) / 8;
298 if BIT_WIDTH as usize + bit_shift <= usize::BITS as usize {
299 let mut val = val as usize;
300 if (BIT_WIDTH as u32) < usize::BITS {
301 val &= (1usize << BIT_WIDTH) - 1;
302 }
303 if cfg!(target_endian = "big") {
304 val = val.reverse_bits() >> (usize::BITS as usize - BIT_WIDTH as usize);
305 }
306 val <<= bit_shift;
307 let field_mask = if BIT_WIDTH as usize + bit_shift >= usize::BITS as usize {
308 !0usize << bit_shift
309 } else {
310 ((1usize << BIT_WIDTH) - 1) << bit_shift
311 };
312 let mut i = 0;
313 while i < bytes_needed {
314 let byte_val = (val >> (i * 8)) as u8;
315 let byte_mask = (field_mask >> (i * 8)) as u8;
316 if cfg!(target_endian = "big") {
317 let byte = self.storage[start_byte + i].reverse_bits();
318 let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
319 self.storage[start_byte + i] = new_byte.reverse_bits();
320 } else {
321 self.storage[start_byte + i] =
322 (self.storage[start_byte + i] & !byte_mask) | (byte_val & byte_mask);
323 }
324 i += 1;
325 }
326 } else {
327 let mut val = val;
328 if BIT_WIDTH < 64 {
329 val &= (1u64 << BIT_WIDTH) - 1;
330 }
331 if cfg!(target_endian = "big") {
332 val = val.reverse_bits() >> (64 - BIT_WIDTH as usize);
333 }
334 val <<= bit_shift;
335 let field_mask = if BIT_WIDTH as usize + bit_shift >= 64 {
336 !0u64 << bit_shift
337 } else {
338 ((1u64 << BIT_WIDTH) - 1) << bit_shift
339 };
340 let mut i = 0;
341 while i < bytes_needed {
342 let byte_val = (val >> (i * 8)) as u8;
343 let byte_mask = (field_mask >> (i * 8)) as u8;
344 if cfg!(target_endian = "big") {
345 let byte = self.storage[start_byte + i].reverse_bits();
346 let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
347 self.storage[start_byte + i] = new_byte.reverse_bits();
348 } else {
349 self.storage[start_byte + i] =
350 (self.storage[start_byte + i] & !byte_mask) | (byte_val & byte_mask);
351 }
352 i += 1;
353 }
354 }
355 }
356 #[doc = " Raw pointer get using const generics for compile-time optimization."]
357 #[doc = " Uses native word size operations when the field fits in usize."]
358 #[inline]
359 pub const unsafe fn raw_get_const<const BIT_OFFSET: usize, const BIT_WIDTH: u8>(
360 this: *const Self,
361 ) -> u64 {
362 debug_assert!(BIT_WIDTH <= 64);
363 debug_assert!(BIT_OFFSET / 8 < N);
364 debug_assert!((BIT_OFFSET + (BIT_WIDTH as usize) + 7) / 8 <= N);
365 if BIT_WIDTH == 0 {
366 return 0;
367 }
368 let start_byte = BIT_OFFSET / 8;
369 let bit_shift = BIT_OFFSET % 8;
370 let bytes_needed = (BIT_WIDTH as usize + bit_shift + 7) / 8;
371 let storage_ptr = unsafe { core::ptr::addr_of!((*this).storage) as *const u8 };
372 if BIT_WIDTH as usize + bit_shift <= usize::BITS as usize {
373 let mut val = 0usize;
374 if cfg!(target_endian = "big") {
375 let mut i = 0;
376 while i < bytes_needed {
377 let byte = unsafe { *storage_ptr.add(start_byte + i) };
378 val |= (byte.reverse_bits() as usize) << (i * 8);
379 i += 1;
380 }
381 } else {
382 let mut i = 0;
383 while i < bytes_needed {
384 let byte = unsafe { *storage_ptr.add(start_byte + i) };
385 val |= (byte as usize) << (i * 8);
386 i += 1;
387 }
388 }
389 val >>= bit_shift;
390 if (BIT_WIDTH as u32) < usize::BITS {
391 val &= (1usize << BIT_WIDTH) - 1;
392 }
393 if cfg!(target_endian = "big") {
394 val = val.reverse_bits() >> (usize::BITS as usize - BIT_WIDTH as usize);
395 }
396 val as u64
397 } else {
398 let mut val = 0u64;
399 if cfg!(target_endian = "big") {
400 let mut i = 0;
401 while i < bytes_needed {
402 let byte = unsafe { *storage_ptr.add(start_byte + i) };
403 val |= (byte.reverse_bits() as u64) << (i * 8);
404 i += 1;
405 }
406 } else {
407 let mut i = 0;
408 while i < bytes_needed {
409 let byte = unsafe { *storage_ptr.add(start_byte + i) };
410 val |= (byte as u64) << (i * 8);
411 i += 1;
412 }
413 }
414 val >>= bit_shift;
415 if BIT_WIDTH < 64 {
416 val &= (1u64 << BIT_WIDTH) - 1;
417 }
418 if cfg!(target_endian = "big") {
419 val = val.reverse_bits() >> (64 - BIT_WIDTH as usize);
420 }
421 val
422 }
423 }
424 #[doc = " Raw pointer set using const generics for compile-time optimization."]
425 #[doc = " Uses native word size operations when the field fits in usize."]
426 #[inline]
427 pub unsafe fn raw_set_const<const BIT_OFFSET: usize, const BIT_WIDTH: u8>(
428 this: *mut Self,
429 val: u64,
430 ) {
431 debug_assert!(BIT_WIDTH <= 64);
432 debug_assert!(BIT_OFFSET / 8 < N);
433 debug_assert!((BIT_OFFSET + (BIT_WIDTH as usize) + 7) / 8 <= N);
434 if BIT_WIDTH == 0 {
435 return;
436 }
437 let start_byte = BIT_OFFSET / 8;
438 let bit_shift = BIT_OFFSET % 8;
439 let bytes_needed = (BIT_WIDTH as usize + bit_shift + 7) / 8;
440 let storage_ptr = this.cast::<[u8; N]>().cast::<u8>();
441 if BIT_WIDTH as usize + bit_shift <= usize::BITS as usize {
442 let mut val = val as usize;
443 if (BIT_WIDTH as u32) < usize::BITS {
444 val &= (1usize << BIT_WIDTH) - 1;
445 }
446 if cfg!(target_endian = "big") {
447 val = val.reverse_bits() >> (usize::BITS as usize - BIT_WIDTH as usize);
448 }
449 val <<= bit_shift;
450 let field_mask = if BIT_WIDTH as usize + bit_shift >= usize::BITS as usize {
451 !0usize << bit_shift
452 } else {
453 ((1usize << BIT_WIDTH) - 1) << bit_shift
454 };
455 let mut i = 0;
456 while i < bytes_needed {
457 let byte_val = (val >> (i * 8)) as u8;
458 let byte_mask = (field_mask >> (i * 8)) as u8;
459 let byte_ptr = unsafe { storage_ptr.add(start_byte + i) };
460 if cfg!(target_endian = "big") {
461 let byte = unsafe { (*byte_ptr).reverse_bits() };
462 let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
463 unsafe { *byte_ptr = new_byte.reverse_bits() };
464 } else {
465 unsafe { *byte_ptr = (*byte_ptr & !byte_mask) | (byte_val & byte_mask) };
466 }
467 i += 1;
468 }
469 } else {
470 let mut val = val;
471 if BIT_WIDTH < 64 {
472 val &= (1u64 << BIT_WIDTH) - 1;
473 }
474 if cfg!(target_endian = "big") {
475 val = val.reverse_bits() >> (64 - BIT_WIDTH as usize);
476 }
477 val <<= bit_shift;
478 let field_mask = if BIT_WIDTH as usize + bit_shift >= 64 {
479 !0u64 << bit_shift
480 } else {
481 ((1u64 << BIT_WIDTH) - 1) << bit_shift
482 };
483 let mut i = 0;
484 while i < bytes_needed {
485 let byte_val = (val >> (i * 8)) as u8;
486 let byte_mask = (field_mask >> (i * 8)) as u8;
487 let byte_ptr = unsafe { storage_ptr.add(start_byte + i) };
488 if cfg!(target_endian = "big") {
489 let byte = unsafe { (*byte_ptr).reverse_bits() };
490 let new_byte = (byte & !byte_mask) | (byte_val & byte_mask);
491 unsafe { *byte_ptr = new_byte.reverse_bits() };
492 } else {
493 unsafe { *byte_ptr = (*byte_ptr & !byte_mask) | (byte_val & byte_mask) };
494 }
495 i += 1;
496 }
497 }
498 }
499}
500pub const VIPS_PI: f64 = 3.141592653589793;
501pub const VIPS_PATH_MAX: u32 = 4096;
502pub const VIPS_TARGET_BUFFER_SIZE: u32 = 8500;
503pub const VIPS_TARGET_CUSTOM_BUFFER_SIZE: u32 = 4096;
504pub const VIPS_SBUF_BUFFER_SIZE: u32 = 4096;
505pub const VIPS_VERSION: &[u8; 7] = b"8.18.7\0";
506pub const VIPS_VERSION_STRING: &[u8; 7] = b"8.18.7\0";
507pub const VIPS_MAJOR_VERSION: u32 = 8;
508pub const VIPS_MINOR_VERSION: u32 = 18;
509pub const VIPS_MICRO_VERSION: u32 = 7;
510pub const VIPS_LIBRARY_CURRENT: u32 = 62;
511pub const VIPS_LIBRARY_REVISION: u32 = 7;
512pub const VIPS_LIBRARY_AGE: u32 = 20;
513pub const VIPS_CONFIG: &[u8; 29] = b"vendored headers for bindgen\0";
514pub const VIPS_ENABLE_DEPRECATED: u32 = 1;
515pub const VIPS_SPARE: u32 = 8;
516pub const VIPS_SIZEOF_HEADER: u32 = 64;
517pub const VIPS__TILE_WIDTH: u32 = 128;
518pub const VIPS__TILE_HEIGHT: u32 = 128;
519pub const VIPS__THINSTRIP_HEIGHT: u32 = 1;
520pub const VIPS__FATSTRIP_HEIGHT: u32 = 16;
521pub const VIPS_MAGIC_INTEL: u32 = 3064394248;
522pub const VIPS_MAGIC_SPARC: u32 = 150120118;
523pub const VIPS_DEFAULT_MAX_COORD: u32 = 100000000;
524pub const VIPS_TRANSFORM_SHIFT: u32 = 6;
525pub const VIPS_TRANSFORM_SCALE: u32 = 64;
526pub const VIPS_INTERPOLATE_SHIFT: u32 = 12;
527pub const VIPS_INTERPOLATE_SCALE: u32 = 4096;
528pub const VIPS_META_EXIF_NAME: &[u8; 10] = b"exif-data\0";
529pub const VIPS_META_XMP_NAME: &[u8; 9] = b"xmp-data\0";
530pub const VIPS_META_IPTC_NAME: &[u8; 10] = b"iptc-data\0";
531pub const VIPS_META_PHOTOSHOP_NAME: &[u8; 15] = b"photoshop-data\0";
532pub const VIPS_META_ICC_NAME: &[u8; 17] = b"icc-profile-data\0";
533pub const VIPS_META_IMAGEDESCRIPTION: &[u8; 18] = b"image-description\0";
534pub const VIPS_META_RESOLUTION_UNIT: &[u8; 16] = b"resolution-unit\0";
535pub const VIPS_META_BITS_PER_SAMPLE: &[u8; 16] = b"bits-per-sample\0";
536pub const VIPS_META_PALETTE: &[u8; 8] = b"palette\0";
537pub const VIPS_META_LOADER: &[u8; 12] = b"vips-loader\0";
538pub const VIPS_META_SEQUENTIAL: &[u8; 16] = b"vips-sequential\0";
539pub const VIPS_META_ORIENTATION: &[u8; 12] = b"orientation\0";
540pub const VIPS_META_PAGE_HEIGHT: &[u8; 12] = b"page-height\0";
541pub const VIPS_META_N_PAGES: &[u8; 8] = b"n-pages\0";
542pub const VIPS_META_N_SUBIFDS: &[u8; 10] = b"n-subifds\0";
543pub const VIPS_META_CONCURRENCY: &[u8; 12] = b"concurrency\0";
544pub const VIPS_META_TILE_WIDTH: &[u8; 11] = b"tile-width\0";
545pub const VIPS_META_TILE_HEIGHT: &[u8; 12] = b"tile-height\0";
546pub const VIPS_D93_X0: f64 = 89.74;
547pub const VIPS_D93_Y0: f64 = 100.0;
548pub const VIPS_D93_Z0: f64 = 130.77;
549pub const VIPS_D75_X0: f64 = 94.9682;
550pub const VIPS_D75_Y0: f64 = 100.0;
551pub const VIPS_D75_Z0: f64 = 122.571;
552pub const VIPS_D65_X0: f64 = 95.047;
553pub const VIPS_D65_Y0: f64 = 100.0;
554pub const VIPS_D65_Z0: f64 = 108.8827;
555pub const VIPS_D55_X0: f64 = 95.6831;
556pub const VIPS_D55_Y0: f64 = 100.0;
557pub const VIPS_D55_Z0: f64 = 92.0871;
558pub const VIPS_D50_X0: f64 = 96.425;
559pub const VIPS_D50_Y0: f64 = 100.0;
560pub const VIPS_D50_Z0: f64 = 82.468;
561pub const VIPS_A_X0: f64 = 109.8503;
562pub const VIPS_A_Y0: f64 = 100.0;
563pub const VIPS_A_Z0: f64 = 35.5849;
564pub const VIPS_B_X0: f64 = 99.072;
565pub const VIPS_B_Y0: f64 = 100.0;
566pub const VIPS_B_Z0: f64 = 85.223;
567pub const VIPS_C_X0: f64 = 98.07;
568pub const VIPS_C_Y0: f64 = 100.0;
569pub const VIPS_C_Z0: f64 = 118.23;
570pub const VIPS_E_X0: f64 = 100.0;
571pub const VIPS_E_Y0: f64 = 100.0;
572pub const VIPS_E_Z0: f64 = 100.0;
573pub const VIPS_D3250_X0: f64 = 105.659;
574pub const VIPS_D3250_Y0: f64 = 100.0;
575pub const VIPS_D3250_Z0: f64 = 45.8501;
576pub const VIPS_META_IPCT_NAME: &[u8; 10] = b"iptc-data\0";
577pub const VIPS_EXEEXT: &[u8; 1] = b"\0";
578pub const VIPS_VECTOR_SOURCE_MAX: u32 = 10;
579pub const VIPS_SAVEABLE_LAST: u32 = 99;
580pub type guint8 = core::ffi::c_uchar;
581pub type guint32 = core::ffi::c_uint;
582pub type gint64 = core::ffi::c_longlong;
583pub type guint64 = core::ffi::c_ulonglong;
584pub type gssize = isize;
585pub type gsize = usize;
586pub type __int64_t = core::ffi::c_longlong;
587pub type __darwin_off_t = __int64_t;
588pub type gchar = core::ffi::c_char;
589pub type glong = core::ffi::c_long;
590pub type gint = core::ffi::c_int;
591pub type gboolean = gint;
592pub type gulong = core::ffi::c_ulong;
593pub type guint = core::ffi::c_uint;
594pub type gfloat = f32;
595pub type gdouble = f64;
596pub type gpointer = *mut core::ffi::c_void;
597pub type GFunc = ::core::option::Option<unsafe extern "C" fn(data: gpointer, user_data: gpointer)>;
598pub type GByteArray = _GByteArray;
599#[repr(C)]
600#[derive(Debug, Copy, Clone)]
601pub struct _GByteArray {
602 pub data: *mut guint8,
603 pub len: guint,
604}
605pub type va_list = __builtin_va_list;
606pub type GQuark = guint32;
607pub type GError = _GError;
608#[repr(C)]
609#[derive(Debug, Copy, Clone)]
610pub struct _GError {
611 pub domain: GQuark,
612 pub code: gint,
613 pub message: *mut gchar,
614}
615pub type GThreadFunc = ::core::option::Option<unsafe extern "C" fn(data: gpointer) -> gpointer>;
616pub type GThread = _GThread;
617pub type GMutex = _GMutex;
618pub type GCond = _GCond;
619#[repr(C)]
620#[derive(Copy, Clone)]
621pub union _GMutex {
622 pub p: gpointer,
623 pub i: [guint; 2usize],
624}
625#[repr(C)]
626#[derive(Debug, Copy, Clone)]
627pub struct _GCond {
628 pub p: gpointer,
629 pub i: [guint; 2usize],
630}
631#[repr(C)]
632#[derive(Debug)]
633pub struct _GData {
634 _unused: [u8; 0],
635}
636pub type GData = _GData;
637unsafe extern "C" {
638 pub fn g_free(mem: gpointer);
639}
640pub type GList = _GList;
641#[repr(C)]
642#[derive(Debug, Copy, Clone)]
643pub struct _GList {
644 pub data: gpointer,
645 pub next: *mut GList,
646 pub prev: *mut GList,
647}
648#[repr(C)]
649#[derive(Debug)]
650pub struct _GHashTable {
651 _unused: [u8; 0],
652}
653pub type GHashTable = _GHashTable;
654pub type GSList = _GSList;
655#[repr(C)]
656#[derive(Debug, Copy, Clone)]
657pub struct _GSList {
658 pub data: gpointer,
659 pub next: *mut GSList,
660}
661pub type GString = _GString;
662#[repr(C)]
663#[derive(Debug, Copy, Clone)]
664pub struct _GString {
665 pub str_: *mut gchar,
666 pub len: gsize,
667 pub allocated_len: gsize,
668}
669#[repr(C)]
670#[derive(Debug)]
671pub struct _GOptionGroup {
672 _unused: [u8; 0],
673}
674pub type GOptionGroup = _GOptionGroup;
675pub type GQueue = _GQueue;
676#[repr(C)]
677#[derive(Debug, Copy, Clone)]
678pub struct _GQueue {
679 pub head: *mut GList,
680 pub tail: *mut GList,
681 pub length: guint,
682}
683#[repr(C)]
684#[derive(Debug)]
685pub struct _GTimer {
686 _unused: [u8; 0],
687}
688pub type GTimer = _GTimer;
689#[repr(u32)]
690#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
691pub enum GThreadPriority {
692 G_THREAD_PRIORITY_LOW = 0,
693 G_THREAD_PRIORITY_NORMAL = 1,
694 G_THREAD_PRIORITY_HIGH = 2,
695 G_THREAD_PRIORITY_URGENT = 3,
696}
697#[repr(C)]
698#[derive(Debug, Copy, Clone)]
699pub struct _GThread {
700 pub func: GThreadFunc,
701 pub data: gpointer,
702 pub joinable: gboolean,
703 pub priority: GThreadPriority,
704}
705pub type off_t = __darwin_off_t;
706pub type fpos_t = __darwin_off_t;
707#[repr(C)]
708#[derive(Debug, Copy, Clone)]
709pub struct __sbuf {
710 pub _base: *mut core::ffi::c_uchar,
711 pub _size: core::ffi::c_int,
712}
713#[repr(C)]
714#[derive(Debug)]
715pub struct __sFILEX {
716 _unused: [u8; 0],
717}
718#[repr(C)]
719#[derive(Debug, Copy, Clone)]
720pub struct __sFILE {
721 pub _p: *mut core::ffi::c_uchar,
722 pub _r: core::ffi::c_int,
723 pub _w: core::ffi::c_int,
724 pub _flags: core::ffi::c_short,
725 pub _file: core::ffi::c_short,
726 pub _bf: __sbuf,
727 pub _lbfsize: core::ffi::c_int,
728 pub _cookie: *mut core::ffi::c_void,
729 pub _close: ::core::option::Option<
730 unsafe extern "C" fn(arg1: *mut core::ffi::c_void) -> core::ffi::c_int,
731 >,
732 pub _read: ::core::option::Option<
733 unsafe extern "C" fn(
734 arg1: *mut core::ffi::c_void,
735 arg2: *mut core::ffi::c_char,
736 __n: core::ffi::c_int,
737 ) -> core::ffi::c_int,
738 >,
739 pub _seek: ::core::option::Option<
740 unsafe extern "C" fn(
741 arg1: *mut core::ffi::c_void,
742 arg2: fpos_t,
743 arg3: core::ffi::c_int,
744 ) -> fpos_t,
745 >,
746 pub _write: ::core::option::Option<
747 unsafe extern "C" fn(
748 arg1: *mut core::ffi::c_void,
749 arg2: *const core::ffi::c_char,
750 __n: core::ffi::c_int,
751 ) -> core::ffi::c_int,
752 >,
753 pub _ub: __sbuf,
754 pub _extra: *mut __sFILEX,
755 pub _ur: core::ffi::c_int,
756 pub _ubuf: [core::ffi::c_uchar; 3usize],
757 pub _nbuf: [core::ffi::c_uchar; 1usize],
758 pub _lb: __sbuf,
759 pub _blksize: core::ffi::c_int,
760 pub _offset: fpos_t,
761}
762pub type FILE = __sFILE;
763pub type GType = gsize;
764pub type GValue = _GValue;
765pub type GTypeClass = _GTypeClass;
766pub type GTypeInstance = _GTypeInstance;
767#[repr(C)]
768#[derive(Debug, Copy, Clone)]
769pub struct _GTypeClass {
770 pub g_type: GType,
771}
772#[repr(C)]
773#[derive(Debug, Copy, Clone)]
774pub struct _GTypeInstance {
775 pub g_class: *mut GTypeClass,
776}
777#[repr(C)]
778#[derive(Copy, Clone)]
779pub struct _GValue {
780 pub g_type: GType,
781 pub data: [_GValue__bindgen_ty_1; 2usize],
782}
783#[repr(C)]
784#[derive(Copy, Clone)]
785pub union _GValue__bindgen_ty_1 {
786 pub v_int: gint,
787 pub v_uint: guint,
788 pub v_long: glong,
789 pub v_ulong: gulong,
790 pub v_int64: gint64,
791 pub v_uint64: guint64,
792 pub v_float: gfloat,
793 pub v_double: gdouble,
794 pub v_pointer: gpointer,
795}
796impl GParamFlags {
797 pub const G_PARAM_PRIVATE: GParamFlags = GParamFlags::G_PARAM_STATIC_NAME;
798}
799#[repr(i32)]
800#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
801pub enum GParamFlags {
802 G_PARAM_READABLE = 1,
803 G_PARAM_WRITABLE = 2,
804 G_PARAM_READWRITE = 3,
805 G_PARAM_CONSTRUCT = 4,
806 G_PARAM_CONSTRUCT_ONLY = 8,
807 G_PARAM_LAX_VALIDATION = 16,
808 G_PARAM_STATIC_NAME = 32,
809 G_PARAM_STATIC_NICK = 64,
810 G_PARAM_STATIC_BLURB = 128,
811 G_PARAM_EXPLICIT_NOTIFY = 1073741824,
812 G_PARAM_DEPRECATED = -2147483648,
813}
814pub type GParamSpec = _GParamSpec;
815#[repr(C)]
816#[derive(Debug, Copy, Clone)]
817pub struct _GParamSpec {
818 pub g_type_instance: GTypeInstance,
819 pub name: *const gchar,
820 pub flags: GParamFlags,
821 pub value_type: GType,
822 pub owner_type: GType,
823 pub _nick: *mut gchar,
824 pub _blurb: *mut gchar,
825 pub qdata: *mut GData,
826 pub ref_count: guint,
827 pub param_id: guint,
828}
829pub type GClosure = _GClosure;
830pub type GClosureNotifyData = _GClosureNotifyData;
831pub type GCallback = ::core::option::Option<unsafe extern "C" fn()>;
832pub type GClosureNotify =
833 ::core::option::Option<unsafe extern "C" fn(data: gpointer, closure: *mut GClosure)>;
834#[repr(C)]
835#[derive(Debug, Copy, Clone)]
836pub struct _GClosureNotifyData {
837 pub data: gpointer,
838 pub notify: GClosureNotify,
839}
840#[repr(C)]
841#[derive(Debug, Copy, Clone)]
842pub struct _GClosure {
843 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
844 pub marshal: ::core::option::Option<
845 unsafe extern "C" fn(
846 closure: *mut GClosure,
847 return_value: *mut GValue,
848 n_param_values: guint,
849 param_values: *const GValue,
850 invocation_hint: gpointer,
851 marshal_data: gpointer,
852 ),
853 >,
854 pub data: gpointer,
855 pub notifiers: *mut GClosureNotifyData,
856}
857impl _GClosure {
858 #[inline]
859 #[allow(unnecessary_transmutes)]
860 pub fn ref_count(&self) -> guint {
861 unsafe { ::core::mem::transmute(self._bitfield_1.get_const::<0usize, 15u8>() as u32) }
862 }
863 #[inline]
864 #[allow(unnecessary_transmutes)]
865 pub fn set_ref_count(&mut self, val: guint) {
866 unsafe {
867 let val: u32 = ::core::mem::transmute(val);
868 self._bitfield_1.set_const::<0usize, 15u8>(val as u64)
869 }
870 }
871 #[inline]
872 #[allow(unnecessary_transmutes)]
873 pub unsafe fn ref_count_raw(this: *const Self) -> guint {
874 unsafe {
875 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get_const::<
876 0usize,
877 15u8,
878 >(::core::ptr::addr_of!((*this)._bitfield_1))
879 as u32)
880 }
881 }
882 #[inline]
883 #[allow(unnecessary_transmutes)]
884 pub unsafe fn set_ref_count_raw(this: *mut Self, val: guint) {
885 unsafe {
886 let val: u32 = ::core::mem::transmute(val);
887 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set_const::<0usize, 15u8>(
888 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
889 val as u64,
890 )
891 }
892 }
893 #[inline]
894 #[allow(unnecessary_transmutes)]
895 pub fn meta_marshal_nouse(&self) -> guint {
896 unsafe { ::core::mem::transmute(self._bitfield_1.get_const::<15usize, 1u8>() as u32) }
897 }
898 #[inline]
899 #[allow(unnecessary_transmutes)]
900 pub fn set_meta_marshal_nouse(&mut self, val: guint) {
901 unsafe {
902 let val: u32 = ::core::mem::transmute(val);
903 self._bitfield_1.set_const::<15usize, 1u8>(val as u64)
904 }
905 }
906 #[inline]
907 #[allow(unnecessary_transmutes)]
908 pub unsafe fn meta_marshal_nouse_raw(this: *const Self) -> guint {
909 unsafe {
910 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get_const::<
911 15usize,
912 1u8,
913 >(::core::ptr::addr_of!((*this)._bitfield_1))
914 as u32)
915 }
916 }
917 #[inline]
918 #[allow(unnecessary_transmutes)]
919 pub unsafe fn set_meta_marshal_nouse_raw(this: *mut Self, val: guint) {
920 unsafe {
921 let val: u32 = ::core::mem::transmute(val);
922 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set_const::<15usize, 1u8>(
923 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
924 val as u64,
925 )
926 }
927 }
928 #[inline]
929 #[allow(unnecessary_transmutes)]
930 pub fn n_guards(&self) -> guint {
931 unsafe { ::core::mem::transmute(self._bitfield_1.get_const::<16usize, 1u8>() as u32) }
932 }
933 #[inline]
934 #[allow(unnecessary_transmutes)]
935 pub fn set_n_guards(&mut self, val: guint) {
936 unsafe {
937 let val: u32 = ::core::mem::transmute(val);
938 self._bitfield_1.set_const::<16usize, 1u8>(val as u64)
939 }
940 }
941 #[inline]
942 #[allow(unnecessary_transmutes)]
943 pub unsafe fn n_guards_raw(this: *const Self) -> guint {
944 unsafe {
945 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get_const::<
946 16usize,
947 1u8,
948 >(::core::ptr::addr_of!((*this)._bitfield_1))
949 as u32)
950 }
951 }
952 #[inline]
953 #[allow(unnecessary_transmutes)]
954 pub unsafe fn set_n_guards_raw(this: *mut Self, val: guint) {
955 unsafe {
956 let val: u32 = ::core::mem::transmute(val);
957 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set_const::<16usize, 1u8>(
958 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
959 val as u64,
960 )
961 }
962 }
963 #[inline]
964 #[allow(unnecessary_transmutes)]
965 pub fn n_fnotifiers(&self) -> guint {
966 unsafe { ::core::mem::transmute(self._bitfield_1.get_const::<17usize, 2u8>() as u32) }
967 }
968 #[inline]
969 #[allow(unnecessary_transmutes)]
970 pub fn set_n_fnotifiers(&mut self, val: guint) {
971 unsafe {
972 let val: u32 = ::core::mem::transmute(val);
973 self._bitfield_1.set_const::<17usize, 2u8>(val as u64)
974 }
975 }
976 #[inline]
977 #[allow(unnecessary_transmutes)]
978 pub unsafe fn n_fnotifiers_raw(this: *const Self) -> guint {
979 unsafe {
980 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get_const::<
981 17usize,
982 2u8,
983 >(::core::ptr::addr_of!((*this)._bitfield_1))
984 as u32)
985 }
986 }
987 #[inline]
988 #[allow(unnecessary_transmutes)]
989 pub unsafe fn set_n_fnotifiers_raw(this: *mut Self, val: guint) {
990 unsafe {
991 let val: u32 = ::core::mem::transmute(val);
992 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set_const::<17usize, 2u8>(
993 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
994 val as u64,
995 )
996 }
997 }
998 #[inline]
999 #[allow(unnecessary_transmutes)]
1000 pub fn n_inotifiers(&self) -> guint {
1001 unsafe { ::core::mem::transmute(self._bitfield_1.get_const::<19usize, 8u8>() as u32) }
1002 }
1003 #[inline]
1004 #[allow(unnecessary_transmutes)]
1005 pub fn set_n_inotifiers(&mut self, val: guint) {
1006 unsafe {
1007 let val: u32 = ::core::mem::transmute(val);
1008 self._bitfield_1.set_const::<19usize, 8u8>(val as u64)
1009 }
1010 }
1011 #[inline]
1012 #[allow(unnecessary_transmutes)]
1013 pub unsafe fn n_inotifiers_raw(this: *const Self) -> guint {
1014 unsafe {
1015 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get_const::<
1016 19usize,
1017 8u8,
1018 >(::core::ptr::addr_of!((*this)._bitfield_1))
1019 as u32)
1020 }
1021 }
1022 #[inline]
1023 #[allow(unnecessary_transmutes)]
1024 pub unsafe fn set_n_inotifiers_raw(this: *mut Self, val: guint) {
1025 unsafe {
1026 let val: u32 = ::core::mem::transmute(val);
1027 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set_const::<19usize, 8u8>(
1028 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
1029 val as u64,
1030 )
1031 }
1032 }
1033 #[inline]
1034 #[allow(unnecessary_transmutes)]
1035 pub fn in_inotify(&self) -> guint {
1036 unsafe { ::core::mem::transmute(self._bitfield_1.get_const::<27usize, 1u8>() as u32) }
1037 }
1038 #[inline]
1039 #[allow(unnecessary_transmutes)]
1040 pub fn set_in_inotify(&mut self, val: guint) {
1041 unsafe {
1042 let val: u32 = ::core::mem::transmute(val);
1043 self._bitfield_1.set_const::<27usize, 1u8>(val as u64)
1044 }
1045 }
1046 #[inline]
1047 #[allow(unnecessary_transmutes)]
1048 pub unsafe fn in_inotify_raw(this: *const Self) -> guint {
1049 unsafe {
1050 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get_const::<
1051 27usize,
1052 1u8,
1053 >(::core::ptr::addr_of!((*this)._bitfield_1))
1054 as u32)
1055 }
1056 }
1057 #[inline]
1058 #[allow(unnecessary_transmutes)]
1059 pub unsafe fn set_in_inotify_raw(this: *mut Self, val: guint) {
1060 unsafe {
1061 let val: u32 = ::core::mem::transmute(val);
1062 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set_const::<27usize, 1u8>(
1063 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
1064 val as u64,
1065 )
1066 }
1067 }
1068 #[inline]
1069 #[allow(unnecessary_transmutes)]
1070 pub fn floating(&self) -> guint {
1071 unsafe { ::core::mem::transmute(self._bitfield_1.get_const::<28usize, 1u8>() as u32) }
1072 }
1073 #[inline]
1074 #[allow(unnecessary_transmutes)]
1075 pub fn set_floating(&mut self, val: guint) {
1076 unsafe {
1077 let val: u32 = ::core::mem::transmute(val);
1078 self._bitfield_1.set_const::<28usize, 1u8>(val as u64)
1079 }
1080 }
1081 #[inline]
1082 #[allow(unnecessary_transmutes)]
1083 pub unsafe fn floating_raw(this: *const Self) -> guint {
1084 unsafe {
1085 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get_const::<
1086 28usize,
1087 1u8,
1088 >(::core::ptr::addr_of!((*this)._bitfield_1))
1089 as u32)
1090 }
1091 }
1092 #[inline]
1093 #[allow(unnecessary_transmutes)]
1094 pub unsafe fn set_floating_raw(this: *mut Self, val: guint) {
1095 unsafe {
1096 let val: u32 = ::core::mem::transmute(val);
1097 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set_const::<28usize, 1u8>(
1098 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
1099 val as u64,
1100 )
1101 }
1102 }
1103 #[inline]
1104 #[allow(unnecessary_transmutes)]
1105 pub fn derivative_flag(&self) -> guint {
1106 unsafe { ::core::mem::transmute(self._bitfield_1.get_const::<29usize, 1u8>() as u32) }
1107 }
1108 #[inline]
1109 #[allow(unnecessary_transmutes)]
1110 pub fn set_derivative_flag(&mut self, val: guint) {
1111 unsafe {
1112 let val: u32 = ::core::mem::transmute(val);
1113 self._bitfield_1.set_const::<29usize, 1u8>(val as u64)
1114 }
1115 }
1116 #[inline]
1117 #[allow(unnecessary_transmutes)]
1118 pub unsafe fn derivative_flag_raw(this: *const Self) -> guint {
1119 unsafe {
1120 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get_const::<
1121 29usize,
1122 1u8,
1123 >(::core::ptr::addr_of!((*this)._bitfield_1))
1124 as u32)
1125 }
1126 }
1127 #[inline]
1128 #[allow(unnecessary_transmutes)]
1129 pub unsafe fn set_derivative_flag_raw(this: *mut Self, val: guint) {
1130 unsafe {
1131 let val: u32 = ::core::mem::transmute(val);
1132 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set_const::<29usize, 1u8>(
1133 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
1134 val as u64,
1135 )
1136 }
1137 }
1138 #[inline]
1139 #[allow(unnecessary_transmutes)]
1140 pub fn in_marshal(&self) -> guint {
1141 unsafe { ::core::mem::transmute(self._bitfield_1.get_const::<30usize, 1u8>() as u32) }
1142 }
1143 #[inline]
1144 #[allow(unnecessary_transmutes)]
1145 pub fn set_in_marshal(&mut self, val: guint) {
1146 unsafe {
1147 let val: u32 = ::core::mem::transmute(val);
1148 self._bitfield_1.set_const::<30usize, 1u8>(val as u64)
1149 }
1150 }
1151 #[inline]
1152 #[allow(unnecessary_transmutes)]
1153 pub unsafe fn in_marshal_raw(this: *const Self) -> guint {
1154 unsafe {
1155 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get_const::<
1156 30usize,
1157 1u8,
1158 >(::core::ptr::addr_of!((*this)._bitfield_1))
1159 as u32)
1160 }
1161 }
1162 #[inline]
1163 #[allow(unnecessary_transmutes)]
1164 pub unsafe fn set_in_marshal_raw(this: *mut Self, val: guint) {
1165 unsafe {
1166 let val: u32 = ::core::mem::transmute(val);
1167 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set_const::<30usize, 1u8>(
1168 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
1169 val as u64,
1170 )
1171 }
1172 }
1173 #[inline]
1174 #[allow(unnecessary_transmutes)]
1175 pub fn is_invalid(&self) -> guint {
1176 unsafe { ::core::mem::transmute(self._bitfield_1.get_const::<31usize, 1u8>() as u32) }
1177 }
1178 #[inline]
1179 #[allow(unnecessary_transmutes)]
1180 pub fn set_is_invalid(&mut self, val: guint) {
1181 unsafe {
1182 let val: u32 = ::core::mem::transmute(val);
1183 self._bitfield_1.set_const::<31usize, 1u8>(val as u64)
1184 }
1185 }
1186 #[inline]
1187 #[allow(unnecessary_transmutes)]
1188 pub unsafe fn is_invalid_raw(this: *const Self) -> guint {
1189 unsafe {
1190 ::core::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get_const::<
1191 31usize,
1192 1u8,
1193 >(::core::ptr::addr_of!((*this)._bitfield_1))
1194 as u32)
1195 }
1196 }
1197 #[inline]
1198 #[allow(unnecessary_transmutes)]
1199 pub unsafe fn set_is_invalid_raw(this: *mut Self, val: guint) {
1200 unsafe {
1201 let val: u32 = ::core::mem::transmute(val);
1202 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set_const::<31usize, 1u8>(
1203 ::core::ptr::addr_of_mut!((*this)._bitfield_1),
1204 val as u64,
1205 )
1206 }
1207 }
1208 #[inline]
1209 #[allow(unnecessary_transmutes)]
1210 pub fn new_bitfield_1(
1211 ref_count: guint,
1212 meta_marshal_nouse: guint,
1213 n_guards: guint,
1214 n_fnotifiers: guint,
1215 n_inotifiers: guint,
1216 in_inotify: guint,
1217 floating: guint,
1218 derivative_flag: guint,
1219 in_marshal: guint,
1220 is_invalid: guint,
1221 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
1222 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
1223 __bindgen_bitfield_unit.set_const::<0usize, 15u8>({
1224 let ref_count: u32 = unsafe { ::core::mem::transmute(ref_count) };
1225 ref_count as u64
1226 });
1227 __bindgen_bitfield_unit.set_const::<15usize, 1u8>({
1228 let meta_marshal_nouse: u32 = unsafe { ::core::mem::transmute(meta_marshal_nouse) };
1229 meta_marshal_nouse as u64
1230 });
1231 __bindgen_bitfield_unit.set_const::<16usize, 1u8>({
1232 let n_guards: u32 = unsafe { ::core::mem::transmute(n_guards) };
1233 n_guards as u64
1234 });
1235 __bindgen_bitfield_unit.set_const::<17usize, 2u8>({
1236 let n_fnotifiers: u32 = unsafe { ::core::mem::transmute(n_fnotifiers) };
1237 n_fnotifiers as u64
1238 });
1239 __bindgen_bitfield_unit.set_const::<19usize, 8u8>({
1240 let n_inotifiers: u32 = unsafe { ::core::mem::transmute(n_inotifiers) };
1241 n_inotifiers as u64
1242 });
1243 __bindgen_bitfield_unit.set_const::<27usize, 1u8>({
1244 let in_inotify: u32 = unsafe { ::core::mem::transmute(in_inotify) };
1245 in_inotify as u64
1246 });
1247 __bindgen_bitfield_unit.set_const::<28usize, 1u8>({
1248 let floating: u32 = unsafe { ::core::mem::transmute(floating) };
1249 floating as u64
1250 });
1251 __bindgen_bitfield_unit.set_const::<29usize, 1u8>({
1252 let derivative_flag: u32 = unsafe { ::core::mem::transmute(derivative_flag) };
1253 derivative_flag as u64
1254 });
1255 __bindgen_bitfield_unit.set_const::<30usize, 1u8>({
1256 let in_marshal: u32 = unsafe { ::core::mem::transmute(in_marshal) };
1257 in_marshal as u64
1258 });
1259 __bindgen_bitfield_unit.set_const::<31usize, 1u8>({
1260 let is_invalid: u32 = unsafe { ::core::mem::transmute(is_invalid) };
1261 is_invalid as u64
1262 });
1263 __bindgen_bitfield_unit
1264 }
1265}
1266#[repr(u32)]
1267#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1268pub enum GConnectFlags {
1269 G_CONNECT_DEFAULT = 0,
1270 G_CONNECT_AFTER = 1,
1271 G_CONNECT_SWAPPED = 2,
1272}
1273unsafe extern "C" {
1274 pub fn g_signal_connect_data(
1275 instance: gpointer,
1276 detailed_signal: *const gchar,
1277 c_handler: GCallback,
1278 data: gpointer,
1279 destroy_data: GClosureNotify,
1280 connect_flags: GConnectFlags,
1281 ) -> gulong;
1282}
1283pub type GObject = _GObject;
1284pub type GObjectClass = _GObjectClass;
1285pub type GObjectConstructParam = _GObjectConstructParam;
1286#[repr(C)]
1287#[derive(Debug, Copy, Clone)]
1288pub struct _GObject {
1289 pub g_type_instance: GTypeInstance,
1290 pub ref_count: guint,
1291 pub qdata: *mut GData,
1292}
1293#[repr(C)]
1294#[derive(Debug, Copy, Clone)]
1295pub struct _GObjectClass {
1296 pub g_type_class: GTypeClass,
1297 pub construct_properties: *mut GSList,
1298 pub constructor: ::core::option::Option<
1299 unsafe extern "C" fn(
1300 type_: GType,
1301 n_construct_properties: guint,
1302 construct_properties: *mut GObjectConstructParam,
1303 ) -> *mut GObject,
1304 >,
1305 pub set_property: ::core::option::Option<
1306 unsafe extern "C" fn(
1307 object: *mut GObject,
1308 property_id: guint,
1309 value: *const GValue,
1310 pspec: *mut GParamSpec,
1311 ),
1312 >,
1313 pub get_property: ::core::option::Option<
1314 unsafe extern "C" fn(
1315 object: *mut GObject,
1316 property_id: guint,
1317 value: *mut GValue,
1318 pspec: *mut GParamSpec,
1319 ),
1320 >,
1321 pub dispose: ::core::option::Option<unsafe extern "C" fn(object: *mut GObject)>,
1322 pub finalize: ::core::option::Option<unsafe extern "C" fn(object: *mut GObject)>,
1323 pub dispatch_properties_changed: ::core::option::Option<
1324 unsafe extern "C" fn(object: *mut GObject, n_pspecs: guint, pspecs: *mut *mut GParamSpec),
1325 >,
1326 pub notify:
1327 ::core::option::Option<unsafe extern "C" fn(object: *mut GObject, pspec: *mut GParamSpec)>,
1328 pub constructed: ::core::option::Option<unsafe extern "C" fn(object: *mut GObject)>,
1329 pub flags: gsize,
1330 pub n_construct_properties: gsize,
1331 pub pspecs: gpointer,
1332 pub n_pspecs: gsize,
1333 pub pdummy: [gpointer; 3usize],
1334}
1335#[repr(C)]
1336#[derive(Debug, Copy, Clone)]
1337pub struct _GObjectConstructParam {
1338 pub pspec: *mut GParamSpec,
1339 pub value: *mut GValue,
1340}
1341unsafe extern "C" {
1342 pub fn g_object_ref(object: gpointer) -> gpointer;
1343}
1344unsafe extern "C" {
1345 pub fn g_object_unref(object: gpointer);
1346}
1347#[repr(C)]
1348#[derive(Debug)]
1349pub struct _GAsyncResult {
1350 _unused: [u8; 0],
1351}
1352pub type GAsyncResult = _GAsyncResult;
1353pub type GCancellable = _GCancellable;
1354#[repr(C)]
1355#[derive(Debug)]
1356pub struct _GFileInfo {
1357 _unused: [u8; 0],
1358}
1359pub type GFileInfo = _GFileInfo;
1360pub type GInputStream = _GInputStream;
1361#[repr(C)]
1362#[derive(Debug)]
1363pub struct _GSeekable {
1364 _unused: [u8; 0],
1365}
1366pub type GSeekable = _GSeekable;
1367pub type GAsyncReadyCallback = ::core::option::Option<
1368 unsafe extern "C" fn(source_object: *mut GObject, res: *mut GAsyncResult, data: gpointer),
1369>;
1370pub type GInputStreamClass = _GInputStreamClass;
1371#[repr(C)]
1372#[derive(Debug)]
1373pub struct _GInputStreamPrivate {
1374 _unused: [u8; 0],
1375}
1376pub type GInputStreamPrivate = _GInputStreamPrivate;
1377#[repr(C)]
1378#[derive(Debug, Copy, Clone)]
1379pub struct _GInputStream {
1380 pub parent_instance: GObject,
1381 pub priv_: *mut GInputStreamPrivate,
1382}
1383#[repr(C)]
1384#[derive(Debug, Copy, Clone)]
1385pub struct _GInputStreamClass {
1386 pub parent_class: GObjectClass,
1387 pub read_fn: ::core::option::Option<
1388 unsafe extern "C" fn(
1389 stream: *mut GInputStream,
1390 buffer: *mut core::ffi::c_void,
1391 count: gsize,
1392 cancellable: *mut GCancellable,
1393 error: *mut *mut GError,
1394 ) -> gssize,
1395 >,
1396 pub skip: ::core::option::Option<
1397 unsafe extern "C" fn(
1398 stream: *mut GInputStream,
1399 count: gsize,
1400 cancellable: *mut GCancellable,
1401 error: *mut *mut GError,
1402 ) -> gssize,
1403 >,
1404 pub close_fn: ::core::option::Option<
1405 unsafe extern "C" fn(
1406 stream: *mut GInputStream,
1407 cancellable: *mut GCancellable,
1408 error: *mut *mut GError,
1409 ) -> gboolean,
1410 >,
1411 pub read_async: ::core::option::Option<
1412 unsafe extern "C" fn(
1413 stream: *mut GInputStream,
1414 buffer: *mut core::ffi::c_void,
1415 count: gsize,
1416 io_priority: core::ffi::c_int,
1417 cancellable: *mut GCancellable,
1418 callback: GAsyncReadyCallback,
1419 user_data: gpointer,
1420 ),
1421 >,
1422 pub read_finish: ::core::option::Option<
1423 unsafe extern "C" fn(
1424 stream: *mut GInputStream,
1425 result: *mut GAsyncResult,
1426 error: *mut *mut GError,
1427 ) -> gssize,
1428 >,
1429 pub skip_async: ::core::option::Option<
1430 unsafe extern "C" fn(
1431 stream: *mut GInputStream,
1432 count: gsize,
1433 io_priority: core::ffi::c_int,
1434 cancellable: *mut GCancellable,
1435 callback: GAsyncReadyCallback,
1436 user_data: gpointer,
1437 ),
1438 >,
1439 pub skip_finish: ::core::option::Option<
1440 unsafe extern "C" fn(
1441 stream: *mut GInputStream,
1442 result: *mut GAsyncResult,
1443 error: *mut *mut GError,
1444 ) -> gssize,
1445 >,
1446 pub close_async: ::core::option::Option<
1447 unsafe extern "C" fn(
1448 stream: *mut GInputStream,
1449 io_priority: core::ffi::c_int,
1450 cancellable: *mut GCancellable,
1451 callback: GAsyncReadyCallback,
1452 user_data: gpointer,
1453 ),
1454 >,
1455 pub close_finish: ::core::option::Option<
1456 unsafe extern "C" fn(
1457 stream: *mut GInputStream,
1458 result: *mut GAsyncResult,
1459 error: *mut *mut GError,
1460 ) -> gboolean,
1461 >,
1462 pub _g_reserved1: ::core::option::Option<unsafe extern "C" fn()>,
1463 pub _g_reserved2: ::core::option::Option<unsafe extern "C" fn()>,
1464 pub _g_reserved3: ::core::option::Option<unsafe extern "C" fn()>,
1465 pub _g_reserved4: ::core::option::Option<unsafe extern "C" fn()>,
1466 pub _g_reserved5: ::core::option::Option<unsafe extern "C" fn()>,
1467}
1468#[repr(C)]
1469#[derive(Debug)]
1470pub struct _GCancellablePrivate {
1471 _unused: [u8; 0],
1472}
1473pub type GCancellablePrivate = _GCancellablePrivate;
1474#[repr(C)]
1475#[derive(Debug, Copy, Clone)]
1476pub struct _GCancellable {
1477 pub parent_instance: GObject,
1478 pub priv_: *mut GCancellablePrivate,
1479}
1480pub type VipsPel = core::ffi::c_uchar;
1481pub type VipsCallbackFn = ::core::option::Option<
1482 unsafe extern "C" fn(a: *mut core::ffi::c_void, b: *mut core::ffi::c_void) -> core::ffi::c_int,
1483>;
1484pub type VipsSListMap2Fn = ::core::option::Option<
1485 unsafe extern "C" fn(
1486 item: *mut core::ffi::c_void,
1487 a: *mut core::ffi::c_void,
1488 b: *mut core::ffi::c_void,
1489 ) -> *mut core::ffi::c_void,
1490>;
1491pub type VipsSListMap4Fn = ::core::option::Option<
1492 unsafe extern "C" fn(
1493 item: *mut core::ffi::c_void,
1494 a: *mut core::ffi::c_void,
1495 b: *mut core::ffi::c_void,
1496 c: *mut core::ffi::c_void,
1497 d: *mut core::ffi::c_void,
1498 ) -> *mut core::ffi::c_void,
1499>;
1500pub type VipsSListFold2Fn = ::core::option::Option<
1501 unsafe extern "C" fn(
1502 item: *mut core::ffi::c_void,
1503 a: *mut core::ffi::c_void,
1504 b: *mut core::ffi::c_void,
1505 c: *mut core::ffi::c_void,
1506 ) -> *mut core::ffi::c_void,
1507>;
1508#[repr(u32)]
1509#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1510pub enum VipsPrecision {
1511 VIPS_PRECISION_INTEGER = 0,
1512 VIPS_PRECISION_FLOAT = 1,
1513 VIPS_PRECISION_APPROXIMATE = 2,
1514 VIPS_PRECISION_LAST = 3,
1515}
1516unsafe extern "C" {
1517 pub fn vips_path_filename7(path: *const core::ffi::c_char) -> *mut core::ffi::c_char;
1518}
1519unsafe extern "C" {
1520 pub fn vips_path_mode7(path: *const core::ffi::c_char) -> *mut core::ffi::c_char;
1521}
1522pub type VipsImage = _VipsImage;
1523pub type VipsRegion = _VipsRegion;
1524pub type VipsBuf = _VipsBuf;
1525pub type VipsSource = _VipsSource;
1526pub type VipsTarget = _VipsTarget;
1527pub type VipsInterpolate = _VipsInterpolate;
1528pub type VipsOperation = _VipsOperation;
1529#[repr(C)]
1530#[derive(Debug, Copy, Clone)]
1531pub struct _VipsBuf {
1532 pub base: *mut core::ffi::c_char,
1533 pub mx: core::ffi::c_int,
1534 pub i: core::ffi::c_int,
1535 pub full: gboolean,
1536 pub lasti: core::ffi::c_int,
1537 pub dynamic: gboolean,
1538}
1539unsafe extern "C" {
1540 pub fn vips_buf_rewind(buf: *mut VipsBuf);
1541}
1542unsafe extern "C" {
1543 pub fn vips_buf_destroy(buf: *mut VipsBuf);
1544}
1545unsafe extern "C" {
1546 pub fn vips_buf_init(buf: *mut VipsBuf);
1547}
1548unsafe extern "C" {
1549 pub fn vips_buf_set_static(
1550 buf: *mut VipsBuf,
1551 base: *mut core::ffi::c_char,
1552 mx: core::ffi::c_int,
1553 );
1554}
1555unsafe extern "C" {
1556 pub fn vips_buf_set_dynamic(buf: *mut VipsBuf, mx: core::ffi::c_int);
1557}
1558unsafe extern "C" {
1559 pub fn vips_buf_init_static(
1560 buf: *mut VipsBuf,
1561 base: *mut core::ffi::c_char,
1562 mx: core::ffi::c_int,
1563 );
1564}
1565unsafe extern "C" {
1566 pub fn vips_buf_init_dynamic(buf: *mut VipsBuf, mx: core::ffi::c_int);
1567}
1568unsafe extern "C" {
1569 pub fn vips_buf_appendns(
1570 buf: *mut VipsBuf,
1571 str_: *const core::ffi::c_char,
1572 sz: core::ffi::c_int,
1573 ) -> gboolean;
1574}
1575unsafe extern "C" {
1576 pub fn vips_buf_appends(buf: *mut VipsBuf, str_: *const core::ffi::c_char) -> gboolean;
1577}
1578unsafe extern "C" {
1579 pub fn vips_buf_appendf(buf: *mut VipsBuf, fmt: *const core::ffi::c_char, ...) -> gboolean;
1580}
1581unsafe extern "C" {
1582 pub fn vips_buf_vappendf(
1583 buf: *mut VipsBuf,
1584 fmt: *const core::ffi::c_char,
1585 ap: va_list,
1586 ) -> gboolean;
1587}
1588unsafe extern "C" {
1589 pub fn vips_buf_appendc(buf: *mut VipsBuf, ch: core::ffi::c_char) -> gboolean;
1590}
1591unsafe extern "C" {
1592 pub fn vips_buf_appendgv(buf: *mut VipsBuf, value: *mut GValue) -> gboolean;
1593}
1594unsafe extern "C" {
1595 pub fn vips_buf_append_size(buf: *mut VipsBuf, n: usize) -> gboolean;
1596}
1597unsafe extern "C" {
1598 pub fn vips_buf_removec(buf: *mut VipsBuf, ch: core::ffi::c_char) -> gboolean;
1599}
1600unsafe extern "C" {
1601 pub fn vips_buf_change(
1602 buf: *mut VipsBuf,
1603 o: *const core::ffi::c_char,
1604 n: *const core::ffi::c_char,
1605 ) -> gboolean;
1606}
1607unsafe extern "C" {
1608 pub fn vips_buf_is_empty(buf: *mut VipsBuf) -> gboolean;
1609}
1610unsafe extern "C" {
1611 pub fn vips_buf_is_full(buf: *mut VipsBuf) -> gboolean;
1612}
1613unsafe extern "C" {
1614 pub fn vips_buf_all(buf: *mut VipsBuf) -> *const core::ffi::c_char;
1615}
1616unsafe extern "C" {
1617 pub fn vips_buf_firstline(buf: *mut VipsBuf) -> *const core::ffi::c_char;
1618}
1619unsafe extern "C" {
1620 pub fn vips_buf_appendg(buf: *mut VipsBuf, g: f64) -> gboolean;
1621}
1622unsafe extern "C" {
1623 pub fn vips_buf_appendd(buf: *mut VipsBuf, d: core::ffi::c_int) -> gboolean;
1624}
1625unsafe extern "C" {
1626 pub fn vips_buf_len(buf: *mut VipsBuf) -> core::ffi::c_int;
1627}
1628#[repr(C)]
1629#[derive(Debug, Copy, Clone)]
1630pub struct _VipsDbuf {
1631 pub data: *mut core::ffi::c_uchar,
1632 pub allocated_size: usize,
1633 pub data_size: usize,
1634 pub write_point: usize,
1635}
1636pub type VipsDbuf = _VipsDbuf;
1637unsafe extern "C" {
1638 pub fn vips_dbuf_init(dbuf: *mut VipsDbuf);
1639}
1640unsafe extern "C" {
1641 pub fn vips_dbuf_minimum_size(dbuf: *mut VipsDbuf, size: usize) -> gboolean;
1642}
1643unsafe extern "C" {
1644 pub fn vips_dbuf_allocate(dbuf: *mut VipsDbuf, size: usize) -> gboolean;
1645}
1646unsafe extern "C" {
1647 pub fn vips_dbuf_read(dbuf: *mut VipsDbuf, data: *mut core::ffi::c_uchar, size: usize)
1648 -> usize;
1649}
1650unsafe extern "C" {
1651 pub fn vips_dbuf_get_write(dbuf: *mut VipsDbuf, size: *mut usize) -> *mut core::ffi::c_uchar;
1652}
1653unsafe extern "C" {
1654 pub fn vips_dbuf_write(
1655 dbuf: *mut VipsDbuf,
1656 data: *const core::ffi::c_uchar,
1657 size: usize,
1658 ) -> gboolean;
1659}
1660unsafe extern "C" {
1661 pub fn vips_dbuf_writef(dbuf: *mut VipsDbuf, fmt: *const core::ffi::c_char, ...) -> gboolean;
1662}
1663unsafe extern "C" {
1664 pub fn vips_dbuf_write_amp(dbuf: *mut VipsDbuf, str_: *const core::ffi::c_char) -> gboolean;
1665}
1666unsafe extern "C" {
1667 pub fn vips_dbuf_reset(dbuf: *mut VipsDbuf);
1668}
1669unsafe extern "C" {
1670 pub fn vips_dbuf_destroy(dbuf: *mut VipsDbuf);
1671}
1672unsafe extern "C" {
1673 pub fn vips_dbuf_seek(dbuf: *mut VipsDbuf, offset: off_t, whence: core::ffi::c_int)
1674 -> gboolean;
1675}
1676unsafe extern "C" {
1677 pub fn vips_dbuf_truncate(dbuf: *mut VipsDbuf);
1678}
1679unsafe extern "C" {
1680 pub fn vips_dbuf_tell(dbuf: *mut VipsDbuf) -> off_t;
1681}
1682unsafe extern "C" {
1683 pub fn vips_dbuf_string(dbuf: *mut VipsDbuf, size: *mut usize) -> *mut core::ffi::c_uchar;
1684}
1685unsafe extern "C" {
1686 pub fn vips_dbuf_steal(dbuf: *mut VipsDbuf, size: *mut usize) -> *mut core::ffi::c_uchar;
1687}
1688unsafe extern "C" {
1689 pub fn vips_enum_string(enm: GType, value: core::ffi::c_int) -> *const core::ffi::c_char;
1690}
1691unsafe extern "C" {
1692 pub fn vips_enum_nick(enm: GType, value: core::ffi::c_int) -> *const core::ffi::c_char;
1693}
1694unsafe extern "C" {
1695 pub fn vips_enum_from_nick(
1696 domain: *const core::ffi::c_char,
1697 type_: GType,
1698 str_: *const core::ffi::c_char,
1699 ) -> core::ffi::c_int;
1700}
1701unsafe extern "C" {
1702 pub fn vips_flags_from_nick(
1703 domain: *const core::ffi::c_char,
1704 type_: GType,
1705 nick: *const core::ffi::c_char,
1706 ) -> core::ffi::c_int;
1707}
1708unsafe extern "C" {
1709 pub fn vips_slist_equal(l1: *mut GSList, l2: *mut GSList) -> gboolean;
1710}
1711unsafe extern "C" {
1712 pub fn vips_slist_map2(
1713 list: *mut GSList,
1714 fn_: VipsSListMap2Fn,
1715 a: *mut core::ffi::c_void,
1716 b: *mut core::ffi::c_void,
1717 ) -> *mut core::ffi::c_void;
1718}
1719unsafe extern "C" {
1720 pub fn vips_slist_map2_rev(
1721 list: *mut GSList,
1722 fn_: VipsSListMap2Fn,
1723 a: *mut core::ffi::c_void,
1724 b: *mut core::ffi::c_void,
1725 ) -> *mut core::ffi::c_void;
1726}
1727unsafe extern "C" {
1728 pub fn vips_slist_map4(
1729 list: *mut GSList,
1730 fn_: VipsSListMap4Fn,
1731 a: *mut core::ffi::c_void,
1732 b: *mut core::ffi::c_void,
1733 c: *mut core::ffi::c_void,
1734 d: *mut core::ffi::c_void,
1735 ) -> *mut core::ffi::c_void;
1736}
1737unsafe extern "C" {
1738 pub fn vips_slist_fold2(
1739 list: *mut GSList,
1740 start: *mut core::ffi::c_void,
1741 fn_: VipsSListFold2Fn,
1742 a: *mut core::ffi::c_void,
1743 b: *mut core::ffi::c_void,
1744 ) -> *mut core::ffi::c_void;
1745}
1746unsafe extern "C" {
1747 pub fn vips_slist_filter(
1748 list: *mut GSList,
1749 fn_: VipsSListMap2Fn,
1750 a: *mut core::ffi::c_void,
1751 b: *mut core::ffi::c_void,
1752 ) -> *mut GSList;
1753}
1754unsafe extern "C" {
1755 pub fn vips_slist_free_all(list: *mut GSList);
1756}
1757unsafe extern "C" {
1758 pub fn vips_map_equal(
1759 a: *mut core::ffi::c_void,
1760 b: *mut core::ffi::c_void,
1761 ) -> *mut core::ffi::c_void;
1762}
1763unsafe extern "C" {
1764 pub fn vips_hash_table_map(
1765 hash: *mut GHashTable,
1766 fn_: VipsSListMap2Fn,
1767 a: *mut core::ffi::c_void,
1768 b: *mut core::ffi::c_void,
1769 ) -> *mut core::ffi::c_void;
1770}
1771unsafe extern "C" {
1772 pub fn vips_iscasepostfix(a: *const core::ffi::c_char, b: *const core::ffi::c_char)
1773 -> gboolean;
1774}
1775unsafe extern "C" {
1776 pub fn vips_isprefix(a: *const core::ffi::c_char, b: *const core::ffi::c_char) -> gboolean;
1777}
1778unsafe extern "C" {
1779 pub fn vips_break_token(
1780 str_: *mut core::ffi::c_char,
1781 brk: *const core::ffi::c_char,
1782 ) -> *mut core::ffi::c_char;
1783}
1784unsafe extern "C" {
1785 pub fn vips_filename_suffix_match(
1786 path: *const core::ffi::c_char,
1787 suffixes: *mut *const core::ffi::c_char,
1788 ) -> core::ffi::c_int;
1789}
1790unsafe extern "C" {
1791 pub fn vips_file_length(fd: core::ffi::c_int) -> gint64;
1792}
1793unsafe extern "C" {
1794 pub fn vips_existsf(name: *const core::ffi::c_char, ...) -> core::ffi::c_int;
1795}
1796unsafe extern "C" {
1797 pub fn vips_isdirf(name: *const core::ffi::c_char, ...) -> core::ffi::c_int;
1798}
1799unsafe extern "C" {
1800 pub fn vips_mkdirf(name: *const core::ffi::c_char, ...) -> core::ffi::c_int;
1801}
1802unsafe extern "C" {
1803 pub fn vips_rmdirf(name: *const core::ffi::c_char, ...) -> core::ffi::c_int;
1804}
1805unsafe extern "C" {
1806 pub fn vips_rename(
1807 old_name: *const core::ffi::c_char,
1808 new_name: *const core::ffi::c_char,
1809 ) -> core::ffi::c_int;
1810}
1811#[repr(u32)]
1812#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1813pub enum VipsToken {
1814 VIPS_TOKEN_LEFT = 1,
1815 VIPS_TOKEN_RIGHT = 2,
1816 VIPS_TOKEN_STRING = 3,
1817 VIPS_TOKEN_EQUALS = 4,
1818 VIPS_TOKEN_COMMA = 5,
1819}
1820unsafe extern "C" {
1821 pub fn vips__token_get(
1822 buffer: *const core::ffi::c_char,
1823 token: *mut VipsToken,
1824 string: *mut core::ffi::c_char,
1825 size: core::ffi::c_int,
1826 ) -> *const core::ffi::c_char;
1827}
1828unsafe extern "C" {
1829 pub fn vips_ispoweroftwo(p: core::ffi::c_int) -> core::ffi::c_int;
1830}
1831unsafe extern "C" {
1832 pub fn vips_amiMSBfirst() -> core::ffi::c_int;
1833}
1834unsafe extern "C" {
1835 pub fn vips_realpath(path: *const core::ffi::c_char) -> *mut core::ffi::c_char;
1836}
1837unsafe extern "C" {
1838 pub fn vips_strtod(str_: *const core::ffi::c_char, out: *mut f64) -> core::ffi::c_int;
1839}
1840pub type VipsObject = _VipsObject;
1841pub type VipsObjectClass = _VipsObjectClass;
1842#[repr(u32)]
1843#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1844pub enum VipsArgumentFlags {
1845 VIPS_ARGUMENT_NONE = 0,
1846 VIPS_ARGUMENT_REQUIRED = 1,
1847 VIPS_ARGUMENT_CONSTRUCT = 2,
1848 VIPS_ARGUMENT_SET_ONCE = 4,
1849 VIPS_ARGUMENT_SET_ALWAYS = 8,
1850 VIPS_ARGUMENT_INPUT = 16,
1851 VIPS_ARGUMENT_OUTPUT = 32,
1852 VIPS_ARGUMENT_DEPRECATED = 64,
1853 VIPS_ARGUMENT_MODIFY = 128,
1854 VIPS_ARGUMENT_NON_HASHABLE = 256,
1855}
1856#[repr(C)]
1857#[derive(Debug, Copy, Clone)]
1858pub struct _VipsArgument {
1859 pub pspec: *mut GParamSpec,
1860}
1861pub type VipsArgument = _VipsArgument;
1862#[repr(C)]
1863#[derive(Debug, Copy, Clone)]
1864pub struct _VipsArgumentClass {
1865 pub parent: VipsArgument,
1866 pub object_class: *mut VipsObjectClass,
1867 pub flags: VipsArgumentFlags,
1868 pub priority: core::ffi::c_int,
1869 pub offset: guint,
1870}
1871pub type VipsArgumentClass = _VipsArgumentClass;
1872#[repr(C)]
1873#[derive(Debug, Copy, Clone)]
1874pub struct _VipsArgumentInstance {
1875 pub parent: VipsArgument,
1876 pub argument_class: *mut VipsArgumentClass,
1877 pub object: *mut VipsObject,
1878 pub assigned: gboolean,
1879 pub close_id: gulong,
1880 pub invalidate_id: gulong,
1881}
1882pub type VipsArgumentInstance = _VipsArgumentInstance;
1883pub type VipsArgumentTable = GHashTable;
1884unsafe extern "C" {
1885 pub fn vips_argument_get_id() -> core::ffi::c_int;
1886}
1887unsafe extern "C" {
1888 pub fn vips__object_set_member(
1889 object: *mut VipsObject,
1890 pspec: *mut GParamSpec,
1891 member: *mut *mut GObject,
1892 argument: *mut GObject,
1893 );
1894}
1895pub type VipsArgumentMapFn = ::core::option::Option<
1896 unsafe extern "C" fn(
1897 object: *mut VipsObject,
1898 pspec: *mut GParamSpec,
1899 argument_class: *mut VipsArgumentClass,
1900 argument_instance: *mut VipsArgumentInstance,
1901 a: *mut core::ffi::c_void,
1902 b: *mut core::ffi::c_void,
1903 ) -> *mut core::ffi::c_void,
1904>;
1905unsafe extern "C" {
1906 pub fn vips_argument_map(
1907 object: *mut VipsObject,
1908 fn_: VipsArgumentMapFn,
1909 a: *mut core::ffi::c_void,
1910 b: *mut core::ffi::c_void,
1911 ) -> *mut core::ffi::c_void;
1912}
1913unsafe extern "C" {
1914 pub fn vips_object_get_args(
1915 object: *mut VipsObject,
1916 names: *mut *mut *const core::ffi::c_char,
1917 flags: *mut *mut core::ffi::c_int,
1918 n_args: *mut core::ffi::c_int,
1919 ) -> core::ffi::c_int;
1920}
1921pub type VipsArgumentClassMapFn = ::core::option::Option<
1922 unsafe extern "C" fn(
1923 object_class: *mut VipsObjectClass,
1924 pspec: *mut GParamSpec,
1925 argument_class: *mut VipsArgumentClass,
1926 a: *mut core::ffi::c_void,
1927 b: *mut core::ffi::c_void,
1928 ) -> *mut core::ffi::c_void,
1929>;
1930unsafe extern "C" {
1931 pub fn vips_argument_class_map(
1932 object_class: *mut VipsObjectClass,
1933 fn_: VipsArgumentClassMapFn,
1934 a: *mut core::ffi::c_void,
1935 b: *mut core::ffi::c_void,
1936 ) -> *mut core::ffi::c_void;
1937}
1938unsafe extern "C" {
1939 pub fn vips_argument_class_needsstring(argument_class: *mut VipsArgumentClass) -> gboolean;
1940}
1941unsafe extern "C" {
1942 pub fn vips_object_get_argument(
1943 object: *mut VipsObject,
1944 name: *const core::ffi::c_char,
1945 pspec: *mut *mut GParamSpec,
1946 argument_class: *mut *mut VipsArgumentClass,
1947 argument_instance: *mut *mut VipsArgumentInstance,
1948 ) -> core::ffi::c_int;
1949}
1950unsafe extern "C" {
1951 pub fn vips_object_argument_isset(
1952 object: *mut VipsObject,
1953 name: *const core::ffi::c_char,
1954 ) -> gboolean;
1955}
1956unsafe extern "C" {
1957 pub fn vips_object_get_argument_flags(
1958 object: *mut VipsObject,
1959 name: *const core::ffi::c_char,
1960 ) -> VipsArgumentFlags;
1961}
1962unsafe extern "C" {
1963 pub fn vips_object_get_argument_priority(
1964 object: *mut VipsObject,
1965 name: *const core::ffi::c_char,
1966 ) -> core::ffi::c_int;
1967}
1968#[repr(C)]
1969#[derive(Debug, Copy, Clone)]
1970pub struct _VipsObject {
1971 pub parent_instance: GObject,
1972 pub constructed: gboolean,
1973 pub static_object: gboolean,
1974 pub argument_table: *mut VipsArgumentTable,
1975 pub nickname: *mut core::ffi::c_char,
1976 pub description: *mut core::ffi::c_char,
1977 pub preclose: gboolean,
1978 pub close: gboolean,
1979 pub postclose: gboolean,
1980 pub local_memory: usize,
1981}
1982#[repr(C)]
1983#[derive(Debug, Copy, Clone)]
1984pub struct _VipsObjectClass {
1985 pub parent_class: GObjectClass,
1986 pub build:
1987 ::core::option::Option<unsafe extern "C" fn(object: *mut VipsObject) -> core::ffi::c_int>,
1988 pub postbuild: ::core::option::Option<
1989 unsafe extern "C" fn(
1990 object: *mut VipsObject,
1991 data: *mut core::ffi::c_void,
1992 ) -> core::ffi::c_int,
1993 >,
1994 pub summary_class:
1995 ::core::option::Option<unsafe extern "C" fn(cls: *mut _VipsObjectClass, buf: *mut VipsBuf)>,
1996 pub summary:
1997 ::core::option::Option<unsafe extern "C" fn(object: *mut VipsObject, buf: *mut VipsBuf)>,
1998 pub dump:
1999 ::core::option::Option<unsafe extern "C" fn(object: *mut VipsObject, buf: *mut VipsBuf)>,
2000 pub sanity:
2001 ::core::option::Option<unsafe extern "C" fn(object: *mut VipsObject, buf: *mut VipsBuf)>,
2002 pub rewind: ::core::option::Option<unsafe extern "C" fn(object: *mut VipsObject)>,
2003 pub preclose: ::core::option::Option<unsafe extern "C" fn(object: *mut VipsObject)>,
2004 pub close: ::core::option::Option<unsafe extern "C" fn(object: *mut VipsObject)>,
2005 pub postclose: ::core::option::Option<unsafe extern "C" fn(object: *mut VipsObject)>,
2006 pub new_from_string: ::core::option::Option<
2007 unsafe extern "C" fn(string: *const core::ffi::c_char) -> *mut VipsObject,
2008 >,
2009 pub to_string:
2010 ::core::option::Option<unsafe extern "C" fn(object: *mut VipsObject, buf: *mut VipsBuf)>,
2011 pub output_needs_arg: gboolean,
2012 pub output_to_arg: ::core::option::Option<
2013 unsafe extern "C" fn(
2014 object: *mut VipsObject,
2015 string: *const core::ffi::c_char,
2016 ) -> core::ffi::c_int,
2017 >,
2018 pub nickname: *const core::ffi::c_char,
2019 pub description: *const core::ffi::c_char,
2020 pub argument_table: *mut VipsArgumentTable,
2021 pub argument_table_traverse: *mut GSList,
2022 pub argument_table_traverse_gtype: GType,
2023 pub deprecated: gboolean,
2024 pub _vips_reserved1: ::core::option::Option<unsafe extern "C" fn()>,
2025 pub _vips_reserved2: ::core::option::Option<unsafe extern "C" fn()>,
2026 pub _vips_reserved3: ::core::option::Option<unsafe extern "C" fn()>,
2027 pub _vips_reserved4: ::core::option::Option<unsafe extern "C" fn()>,
2028}
2029unsafe extern "C" {
2030 pub fn vips_value_is_null(psoec: *mut GParamSpec, value: *const GValue) -> gboolean;
2031}
2032unsafe extern "C" {
2033 pub fn vips_object_set_property(
2034 gobject: *mut GObject,
2035 property_id: guint,
2036 value: *const GValue,
2037 pspec: *mut GParamSpec,
2038 );
2039}
2040unsafe extern "C" {
2041 pub fn vips_object_get_property(
2042 gobject: *mut GObject,
2043 property_id: guint,
2044 value: *mut GValue,
2045 pspec: *mut GParamSpec,
2046 );
2047}
2048unsafe extern "C" {
2049 pub fn vips_object_preclose(object: *mut VipsObject);
2050}
2051unsafe extern "C" {
2052 pub fn vips_object_build(object: *mut VipsObject) -> core::ffi::c_int;
2053}
2054unsafe extern "C" {
2055 pub fn vips_object_summary_class(klass: *mut VipsObjectClass, buf: *mut VipsBuf);
2056}
2057unsafe extern "C" {
2058 pub fn vips_object_summary(object: *mut VipsObject, buf: *mut VipsBuf);
2059}
2060unsafe extern "C" {
2061 pub fn vips_object_dump(object: *mut VipsObject, buf: *mut VipsBuf);
2062}
2063unsafe extern "C" {
2064 pub fn vips_object_print_summary_class(klass: *mut VipsObjectClass);
2065}
2066unsafe extern "C" {
2067 pub fn vips_object_print_summary(object: *mut VipsObject);
2068}
2069unsafe extern "C" {
2070 pub fn vips_object_print_dump(object: *mut VipsObject);
2071}
2072unsafe extern "C" {
2073 pub fn vips_object_print_name(object: *mut VipsObject);
2074}
2075unsafe extern "C" {
2076 pub fn vips_object_sanity(object: *mut VipsObject) -> gboolean;
2077}
2078unsafe extern "C" {
2079 pub fn vips_object_get_type() -> GType;
2080}
2081unsafe extern "C" {
2082 pub fn vips_object_class_install_argument(
2083 cls: *mut VipsObjectClass,
2084 pspec: *mut GParamSpec,
2085 flags: VipsArgumentFlags,
2086 priority: core::ffi::c_int,
2087 offset: guint,
2088 );
2089}
2090unsafe extern "C" {
2091 pub fn vips_object_set_argument_from_string(
2092 object: *mut VipsObject,
2093 name: *const core::ffi::c_char,
2094 value: *const core::ffi::c_char,
2095 ) -> core::ffi::c_int;
2096}
2097unsafe extern "C" {
2098 pub fn vips_object_argument_needsstring(
2099 object: *mut VipsObject,
2100 name: *const core::ffi::c_char,
2101 ) -> gboolean;
2102}
2103unsafe extern "C" {
2104 pub fn vips_object_get_argument_to_string(
2105 object: *mut VipsObject,
2106 name: *const core::ffi::c_char,
2107 arg: *const core::ffi::c_char,
2108 ) -> core::ffi::c_int;
2109}
2110unsafe extern "C" {
2111 pub fn vips_object_set_required(
2112 object: *mut VipsObject,
2113 value: *const core::ffi::c_char,
2114 ) -> core::ffi::c_int;
2115}
2116pub type VipsObjectSetArguments = ::core::option::Option<
2117 unsafe extern "C" fn(
2118 object: *mut VipsObject,
2119 a: *mut core::ffi::c_void,
2120 b: *mut core::ffi::c_void,
2121 ) -> *mut core::ffi::c_void,
2122>;
2123unsafe extern "C" {
2124 pub fn vips_object_new(
2125 type_: GType,
2126 set: VipsObjectSetArguments,
2127 a: *mut core::ffi::c_void,
2128 b: *mut core::ffi::c_void,
2129 ) -> *mut VipsObject;
2130}
2131unsafe extern "C" {
2132 pub fn vips_object_set_valist(object: *mut VipsObject, ap: va_list) -> core::ffi::c_int;
2133}
2134unsafe extern "C" {
2135 pub fn vips_object_set(object: *mut VipsObject, ...) -> core::ffi::c_int;
2136}
2137unsafe extern "C" {
2138 pub fn vips_object_set_from_string(
2139 object: *mut VipsObject,
2140 string: *const core::ffi::c_char,
2141 ) -> core::ffi::c_int;
2142}
2143unsafe extern "C" {
2144 pub fn vips_object_new_from_string(
2145 object_class: *mut VipsObjectClass,
2146 p: *const core::ffi::c_char,
2147 ) -> *mut VipsObject;
2148}
2149unsafe extern "C" {
2150 pub fn vips_object_to_string(object: *mut VipsObject, buf: *mut VipsBuf);
2151}
2152unsafe extern "C" {
2153 pub fn vips_object_map(
2154 fn_: VipsSListMap2Fn,
2155 a: *mut core::ffi::c_void,
2156 b: *mut core::ffi::c_void,
2157 ) -> *mut core::ffi::c_void;
2158}
2159pub type VipsTypeMapFn = ::core::option::Option<
2160 unsafe extern "C" fn(type_: GType, a: *mut core::ffi::c_void) -> *mut core::ffi::c_void,
2161>;
2162pub type VipsTypeMap2Fn = ::core::option::Option<
2163 unsafe extern "C" fn(
2164 type_: GType,
2165 a: *mut core::ffi::c_void,
2166 b: *mut core::ffi::c_void,
2167 ) -> *mut core::ffi::c_void,
2168>;
2169pub type VipsClassMapFn = ::core::option::Option<
2170 unsafe extern "C" fn(
2171 cls: *mut VipsObjectClass,
2172 a: *mut core::ffi::c_void,
2173 ) -> *mut core::ffi::c_void,
2174>;
2175unsafe extern "C" {
2176 pub fn vips_type_map(
2177 base: GType,
2178 fn_: VipsTypeMap2Fn,
2179 a: *mut core::ffi::c_void,
2180 b: *mut core::ffi::c_void,
2181 ) -> *mut core::ffi::c_void;
2182}
2183unsafe extern "C" {
2184 pub fn vips_type_map_all(
2185 base: GType,
2186 fn_: VipsTypeMapFn,
2187 a: *mut core::ffi::c_void,
2188 ) -> *mut core::ffi::c_void;
2189}
2190unsafe extern "C" {
2191 pub fn vips_type_depth(type_: GType) -> core::ffi::c_int;
2192}
2193unsafe extern "C" {
2194 pub fn vips_type_find(
2195 basename: *const core::ffi::c_char,
2196 nickname: *const core::ffi::c_char,
2197 ) -> GType;
2198}
2199unsafe extern "C" {
2200 pub fn vips_nickname_find(type_: GType) -> *const core::ffi::c_char;
2201}
2202unsafe extern "C" {
2203 pub fn vips_class_map_all(
2204 type_: GType,
2205 fn_: VipsClassMapFn,
2206 a: *mut core::ffi::c_void,
2207 ) -> *mut core::ffi::c_void;
2208}
2209unsafe extern "C" {
2210 pub fn vips_class_find(
2211 basename: *const core::ffi::c_char,
2212 nickname: *const core::ffi::c_char,
2213 ) -> *const VipsObjectClass;
2214}
2215unsafe extern "C" {
2216 pub fn vips_object_local_array(
2217 parent: *mut VipsObject,
2218 n: core::ffi::c_int,
2219 ) -> *mut *mut VipsObject;
2220}
2221unsafe extern "C" {
2222 pub fn vips_object_local_cb(vobject: *mut VipsObject, gobject: *mut GObject);
2223}
2224unsafe extern "C" {
2225 pub fn vips_object_set_static(object: *mut VipsObject, static_object: gboolean);
2226}
2227unsafe extern "C" {
2228 pub fn vips_object_print_all();
2229}
2230unsafe extern "C" {
2231 pub fn vips_object_sanity_all();
2232}
2233unsafe extern "C" {
2234 pub fn vips_object_rewind(object: *mut VipsObject);
2235}
2236unsafe extern "C" {
2237 pub fn vips_object_unref_outputs(object: *mut VipsObject);
2238}
2239unsafe extern "C" {
2240 pub fn vips_object_get_description(object: *mut VipsObject) -> *const core::ffi::c_char;
2241}
2242#[repr(C)]
2243#[derive(Debug, Copy, Clone)]
2244pub struct _VipsThing {
2245 pub i: core::ffi::c_int,
2246}
2247pub type VipsThing = _VipsThing;
2248unsafe extern "C" {
2249 pub fn vips_thing_get_type() -> GType;
2250}
2251unsafe extern "C" {
2252 pub fn vips_thing_new(i: core::ffi::c_int) -> *mut VipsThing;
2253}
2254#[repr(C)]
2255#[derive(Copy, Clone)]
2256pub struct _VipsArea {
2257 pub data: *mut core::ffi::c_void,
2258 pub length: usize,
2259 pub n: core::ffi::c_int,
2260 pub count: core::ffi::c_int,
2261 pub lock: GMutex,
2262 pub free_fn: VipsCallbackFn,
2263 pub client: *mut core::ffi::c_void,
2264 pub type_: GType,
2265 pub sizeof_type: usize,
2266}
2267pub type VipsArea = _VipsArea;
2268unsafe extern "C" {
2269 pub fn vips_area_copy(area: *mut VipsArea) -> *mut VipsArea;
2270}
2271unsafe extern "C" {
2272 pub fn vips_area_free_cb(mem: *mut core::ffi::c_void, area: *mut VipsArea) -> core::ffi::c_int;
2273}
2274unsafe extern "C" {
2275 pub fn vips_area_unref(area: *mut VipsArea);
2276}
2277unsafe extern "C" {
2278 pub fn vips_area_new(free_fn: VipsCallbackFn, data: *mut core::ffi::c_void) -> *mut VipsArea;
2279}
2280unsafe extern "C" {
2281 pub fn vips_area_new_array(
2282 type_: GType,
2283 sizeof_type: usize,
2284 n: core::ffi::c_int,
2285 ) -> *mut VipsArea;
2286}
2287unsafe extern "C" {
2288 pub fn vips_area_new_array_object(n: core::ffi::c_int) -> *mut VipsArea;
2289}
2290unsafe extern "C" {
2291 pub fn vips_area_get_data(
2292 area: *mut VipsArea,
2293 length: *mut usize,
2294 n: *mut core::ffi::c_int,
2295 type_: *mut GType,
2296 sizeof_type: *mut usize,
2297 ) -> *mut core::ffi::c_void;
2298}
2299unsafe extern "C" {
2300 pub fn vips_area_get_type() -> GType;
2301}
2302unsafe extern "C" {
2303 pub fn vips_save_string_get_type() -> GType;
2304}
2305#[repr(C)]
2306#[derive(Debug, Copy, Clone)]
2307pub struct _VipsSaveString {
2308 pub s: *mut core::ffi::c_char,
2309}
2310pub type VipsSaveString = _VipsSaveString;
2311#[repr(C)]
2312#[derive(Copy, Clone)]
2313pub struct _VipsRefString {
2314 pub area: VipsArea,
2315}
2316pub type VipsRefString = _VipsRefString;
2317unsafe extern "C" {
2318 pub fn vips_ref_string_new(str_: *const core::ffi::c_char) -> *mut VipsRefString;
2319}
2320unsafe extern "C" {
2321 pub fn vips_ref_string_get(
2322 refstr: *mut VipsRefString,
2323 length: *mut usize,
2324 ) -> *const core::ffi::c_char;
2325}
2326unsafe extern "C" {
2327 pub fn vips_ref_string_get_type() -> GType;
2328}
2329#[repr(C)]
2330#[derive(Copy, Clone)]
2331pub struct _VipsBlob {
2332 pub area: VipsArea,
2333}
2334pub type VipsBlob = _VipsBlob;
2335unsafe extern "C" {
2336 pub fn vips_blob_new(
2337 free_fn: VipsCallbackFn,
2338 data: *const core::ffi::c_void,
2339 length: usize,
2340 ) -> *mut VipsBlob;
2341}
2342unsafe extern "C" {
2343 pub fn vips_blob_copy(data: *const core::ffi::c_void, length: usize) -> *mut VipsBlob;
2344}
2345unsafe extern "C" {
2346 pub fn vips_blob_get(blob: *mut VipsBlob, length: *mut usize) -> *const core::ffi::c_void;
2347}
2348unsafe extern "C" {
2349 pub fn vips_blob_set(
2350 blob: *mut VipsBlob,
2351 free_fn: VipsCallbackFn,
2352 data: *const core::ffi::c_void,
2353 length: usize,
2354 );
2355}
2356unsafe extern "C" {
2357 pub fn vips_blob_get_type() -> GType;
2358}
2359#[repr(C)]
2360#[derive(Copy, Clone)]
2361pub struct _VipsArrayDouble {
2362 pub area: VipsArea,
2363}
2364pub type VipsArrayDouble = _VipsArrayDouble;
2365unsafe extern "C" {
2366 pub fn vips_array_double_new(array: *const f64, n: core::ffi::c_int) -> *mut VipsArrayDouble;
2367}
2368unsafe extern "C" {
2369 pub fn vips_array_double_newv(n: core::ffi::c_int, ...) -> *mut VipsArrayDouble;
2370}
2371unsafe extern "C" {
2372 pub fn vips_array_double_get(array: *mut VipsArrayDouble, n: *mut core::ffi::c_int)
2373 -> *mut f64;
2374}
2375unsafe extern "C" {
2376 pub fn vips_array_double_get_type() -> GType;
2377}
2378#[repr(C)]
2379#[derive(Copy, Clone)]
2380pub struct _VipsArrayInt {
2381 pub area: VipsArea,
2382}
2383pub type VipsArrayInt = _VipsArrayInt;
2384unsafe extern "C" {
2385 pub fn vips_array_int_new(
2386 array: *const core::ffi::c_int,
2387 n: core::ffi::c_int,
2388 ) -> *mut VipsArrayInt;
2389}
2390unsafe extern "C" {
2391 pub fn vips_array_int_newv(n: core::ffi::c_int, ...) -> *mut VipsArrayInt;
2392}
2393unsafe extern "C" {
2394 pub fn vips_array_int_get(
2395 array: *mut VipsArrayInt,
2396 n: *mut core::ffi::c_int,
2397 ) -> *mut core::ffi::c_int;
2398}
2399unsafe extern "C" {
2400 pub fn vips_array_int_get_type() -> GType;
2401}
2402#[repr(C)]
2403#[derive(Copy, Clone)]
2404pub struct _VipsArrayImage {
2405 pub area: VipsArea,
2406}
2407pub type VipsArrayImage = _VipsArrayImage;
2408unsafe extern "C" {
2409 pub fn vips_array_image_get_type() -> GType;
2410}
2411unsafe extern "C" {
2412 pub fn vips_value_set_area(
2413 value: *mut GValue,
2414 free_fn: VipsCallbackFn,
2415 data: *mut core::ffi::c_void,
2416 );
2417}
2418unsafe extern "C" {
2419 pub fn vips_value_get_area(value: *const GValue, length: *mut usize) -> *mut core::ffi::c_void;
2420}
2421unsafe extern "C" {
2422 pub fn vips_value_get_save_string(value: *const GValue) -> *const core::ffi::c_char;
2423}
2424unsafe extern "C" {
2425 pub fn vips_value_set_save_string(value: *mut GValue, str_: *const core::ffi::c_char);
2426}
2427unsafe extern "C" {
2428 pub fn vips_value_set_save_stringf(value: *mut GValue, fmt: *const core::ffi::c_char, ...);
2429}
2430unsafe extern "C" {
2431 pub fn vips_value_get_ref_string(
2432 value: *const GValue,
2433 length: *mut usize,
2434 ) -> *const core::ffi::c_char;
2435}
2436unsafe extern "C" {
2437 pub fn vips_value_set_ref_string(value: *mut GValue, str_: *const core::ffi::c_char);
2438}
2439unsafe extern "C" {
2440 pub fn vips_value_get_blob(value: *const GValue, length: *mut usize) -> *mut core::ffi::c_void;
2441}
2442unsafe extern "C" {
2443 pub fn vips_value_set_blob(
2444 value: *mut GValue,
2445 free_fn: VipsCallbackFn,
2446 data: *const core::ffi::c_void,
2447 length: usize,
2448 );
2449}
2450unsafe extern "C" {
2451 pub fn vips_value_set_blob_free(
2452 value: *mut GValue,
2453 data: *mut core::ffi::c_void,
2454 length: usize,
2455 );
2456}
2457unsafe extern "C" {
2458 pub fn vips_value_set_array(
2459 value: *mut GValue,
2460 n: core::ffi::c_int,
2461 type_: GType,
2462 sizeof_type: usize,
2463 );
2464}
2465unsafe extern "C" {
2466 pub fn vips_value_get_array(
2467 value: *const GValue,
2468 n: *mut core::ffi::c_int,
2469 type_: *mut GType,
2470 sizeof_type: *mut usize,
2471 ) -> *mut core::ffi::c_void;
2472}
2473unsafe extern "C" {
2474 pub fn vips_value_get_array_double(value: *const GValue, n: *mut core::ffi::c_int) -> *mut f64;
2475}
2476unsafe extern "C" {
2477 pub fn vips_value_set_array_double(value: *mut GValue, array: *const f64, n: core::ffi::c_int);
2478}
2479unsafe extern "C" {
2480 pub fn vips_value_get_array_int(
2481 value: *const GValue,
2482 n: *mut core::ffi::c_int,
2483 ) -> *mut core::ffi::c_int;
2484}
2485unsafe extern "C" {
2486 pub fn vips_value_set_array_int(
2487 value: *mut GValue,
2488 array: *const core::ffi::c_int,
2489 n: core::ffi::c_int,
2490 );
2491}
2492unsafe extern "C" {
2493 pub fn vips_value_get_array_object(
2494 value: *const GValue,
2495 n: *mut core::ffi::c_int,
2496 ) -> *mut *mut GObject;
2497}
2498unsafe extern "C" {
2499 pub fn vips_value_set_array_object(value: *mut GValue, n: core::ffi::c_int);
2500}
2501unsafe extern "C" {
2502 pub fn vips_profile_set(profile: gboolean);
2503}
2504#[repr(C)]
2505#[derive(Debug, Copy, Clone)]
2506pub struct _VipsConnection {
2507 pub parent_object: VipsObject,
2508 pub descriptor: core::ffi::c_int,
2509 pub tracked_descriptor: core::ffi::c_int,
2510 pub close_descriptor: core::ffi::c_int,
2511 pub filename: *mut core::ffi::c_char,
2512}
2513pub type VipsConnection = _VipsConnection;
2514#[repr(C)]
2515#[derive(Debug, Copy, Clone)]
2516pub struct _VipsConnectionClass {
2517 pub parent_class: VipsObjectClass,
2518}
2519pub type VipsConnectionClass = _VipsConnectionClass;
2520unsafe extern "C" {
2521 pub fn vips_connection_get_type() -> GType;
2522}
2523unsafe extern "C" {
2524 pub fn vips_connection_filename(connection: *mut VipsConnection) -> *const core::ffi::c_char;
2525}
2526unsafe extern "C" {
2527 pub fn vips_connection_nick(connection: *mut VipsConnection) -> *const core::ffi::c_char;
2528}
2529unsafe extern "C" {
2530 pub fn vips_pipe_read_limit_set(limit: gint64);
2531}
2532#[repr(C)]
2533#[derive(Debug, Copy, Clone)]
2534pub struct _VipsSource {
2535 pub parent_object: VipsConnection,
2536 pub decode: gboolean,
2537 pub have_tested_seek: gboolean,
2538 pub is_pipe: gboolean,
2539 pub read_position: gint64,
2540 pub length: gint64,
2541 pub data: *const core::ffi::c_void,
2542 pub header_bytes: *mut GByteArray,
2543 pub sniff: *mut GByteArray,
2544 pub blob: *mut VipsBlob,
2545 pub mmap_baseaddr: *mut core::ffi::c_void,
2546 pub mmap_length: usize,
2547}
2548#[repr(C)]
2549#[derive(Debug, Copy, Clone)]
2550pub struct _VipsSourceClass {
2551 pub parent_class: VipsConnectionClass,
2552 pub read: ::core::option::Option<
2553 unsafe extern "C" fn(
2554 source: *mut VipsSource,
2555 buffer: *mut core::ffi::c_void,
2556 length: usize,
2557 ) -> gint64,
2558 >,
2559 pub seek: ::core::option::Option<
2560 unsafe extern "C" fn(
2561 source: *mut VipsSource,
2562 offset: gint64,
2563 whence: core::ffi::c_int,
2564 ) -> gint64,
2565 >,
2566}
2567pub type VipsSourceClass = _VipsSourceClass;
2568unsafe extern "C" {
2569 pub fn vips_source_get_type() -> GType;
2570}
2571unsafe extern "C" {
2572 pub fn vips_source_new_from_descriptor(descriptor: core::ffi::c_int) -> *mut VipsSource;
2573}
2574unsafe extern "C" {
2575 pub fn vips_source_new_from_file(filename: *const core::ffi::c_char) -> *mut VipsSource;
2576}
2577unsafe extern "C" {
2578 pub fn vips_source_new_from_blob(blob: *mut VipsBlob) -> *mut VipsSource;
2579}
2580unsafe extern "C" {
2581 pub fn vips_source_new_from_target(target: *mut VipsTarget) -> *mut VipsSource;
2582}
2583unsafe extern "C" {
2584 pub fn vips_source_new_from_memory(
2585 data: *const core::ffi::c_void,
2586 length: usize,
2587 ) -> *mut VipsSource;
2588}
2589unsafe extern "C" {
2590 pub fn vips_source_new_from_options(options: *const core::ffi::c_char) -> *mut VipsSource;
2591}
2592unsafe extern "C" {
2593 pub fn vips_source_minimise(source: *mut VipsSource);
2594}
2595unsafe extern "C" {
2596 pub fn vips_source_unminimise(source: *mut VipsSource) -> core::ffi::c_int;
2597}
2598unsafe extern "C" {
2599 pub fn vips_source_decode(source: *mut VipsSource) -> core::ffi::c_int;
2600}
2601unsafe extern "C" {
2602 pub fn vips_source_read(
2603 source: *mut VipsSource,
2604 buffer: *mut core::ffi::c_void,
2605 length: usize,
2606 ) -> gint64;
2607}
2608unsafe extern "C" {
2609 pub fn vips_source_is_mappable(source: *mut VipsSource) -> gboolean;
2610}
2611unsafe extern "C" {
2612 pub fn vips_source_is_file(source: *mut VipsSource) -> gboolean;
2613}
2614unsafe extern "C" {
2615 pub fn vips_source_map(source: *mut VipsSource, length: *mut usize)
2616 -> *const core::ffi::c_void;
2617}
2618unsafe extern "C" {
2619 pub fn vips_source_map_blob(source: *mut VipsSource) -> *mut VipsBlob;
2620}
2621unsafe extern "C" {
2622 pub fn vips_source_seek(
2623 source: *mut VipsSource,
2624 offset: gint64,
2625 whence: core::ffi::c_int,
2626 ) -> gint64;
2627}
2628unsafe extern "C" {
2629 pub fn vips_source_rewind(source: *mut VipsSource) -> core::ffi::c_int;
2630}
2631unsafe extern "C" {
2632 pub fn vips_source_sniff_at_most(
2633 source: *mut VipsSource,
2634 data: *mut *mut core::ffi::c_uchar,
2635 length: usize,
2636 ) -> gint64;
2637}
2638unsafe extern "C" {
2639 pub fn vips_source_sniff(source: *mut VipsSource, length: usize) -> *mut core::ffi::c_uchar;
2640}
2641unsafe extern "C" {
2642 pub fn vips_source_length(source: *mut VipsSource) -> gint64;
2643}
2644#[repr(C)]
2645#[derive(Debug, Copy, Clone)]
2646pub struct _VipsSourceCustom {
2647 pub parent_object: VipsSource,
2648}
2649pub type VipsSourceCustom = _VipsSourceCustom;
2650#[repr(C)]
2651#[derive(Debug, Copy, Clone)]
2652pub struct _VipsSourceCustomClass {
2653 pub parent_class: VipsSourceClass,
2654 pub read: ::core::option::Option<
2655 unsafe extern "C" fn(
2656 source: *mut VipsSourceCustom,
2657 buffer: *mut core::ffi::c_void,
2658 length: gint64,
2659 ) -> gint64,
2660 >,
2661 pub seek: ::core::option::Option<
2662 unsafe extern "C" fn(
2663 source: *mut VipsSourceCustom,
2664 offset: gint64,
2665 whence: core::ffi::c_int,
2666 ) -> gint64,
2667 >,
2668}
2669pub type VipsSourceCustomClass = _VipsSourceCustomClass;
2670unsafe extern "C" {
2671 pub fn vips_source_custom_get_type() -> GType;
2672}
2673unsafe extern "C" {
2674 pub fn vips_source_custom_new() -> *mut VipsSourceCustom;
2675}
2676#[repr(C)]
2677#[derive(Debug, Copy, Clone)]
2678pub struct _VipsGInputStream {
2679 pub parent_instance: GInputStream,
2680 pub source: *mut VipsSource,
2681}
2682pub type VipsGInputStream = _VipsGInputStream;
2683#[repr(C)]
2684#[derive(Debug, Copy, Clone)]
2685pub struct _VipsGInputStreamClass {
2686 pub parent_class: GInputStreamClass,
2687}
2688pub type VipsGInputStreamClass = _VipsGInputStreamClass;
2689unsafe extern "C" {
2690 pub fn vips_g_input_stream_get_type() -> GType;
2691}
2692unsafe extern "C" {
2693 pub fn vips_g_input_stream_new_from_source(source: *mut VipsSource) -> *mut GInputStream;
2694}
2695#[repr(C)]
2696#[derive(Debug, Copy, Clone)]
2697pub struct _VipsSourceGInputStream {
2698 pub parent_instance: VipsSource,
2699 pub stream: *mut GInputStream,
2700 pub seekable: *mut GSeekable,
2701 pub info: *mut GFileInfo,
2702}
2703pub type VipsSourceGInputStream = _VipsSourceGInputStream;
2704#[repr(C)]
2705#[derive(Debug, Copy, Clone)]
2706pub struct _VipsSourceGInputStreamClass {
2707 pub parent_class: VipsSourceClass,
2708}
2709pub type VipsSourceGInputStreamClass = _VipsSourceGInputStreamClass;
2710unsafe extern "C" {
2711 pub fn vips_source_g_input_stream_get_type() -> GType;
2712}
2713unsafe extern "C" {
2714 pub fn vips_source_g_input_stream_new(stream: *mut GInputStream)
2715 -> *mut VipsSourceGInputStream;
2716}
2717#[repr(C)]
2718#[derive(Debug, Copy, Clone)]
2719pub struct _VipsTarget {
2720 pub parent_object: VipsConnection,
2721 pub memory: gboolean,
2722 pub ended: gboolean,
2723 pub memory_buffer: *mut GString,
2724 pub blob: *mut VipsBlob,
2725 pub output_buffer: [core::ffi::c_uchar; 8500usize],
2726 pub write_point: core::ffi::c_int,
2727 pub position: gint64,
2728 pub delete_on_close: gboolean,
2729 pub delete_on_close_filename: *mut core::ffi::c_char,
2730}
2731#[repr(C)]
2732#[derive(Debug, Copy, Clone)]
2733pub struct _VipsTargetClass {
2734 pub parent_class: VipsConnectionClass,
2735 pub write: ::core::option::Option<
2736 unsafe extern "C" fn(
2737 target: *mut VipsTarget,
2738 data: *const core::ffi::c_void,
2739 length: usize,
2740 ) -> gint64,
2741 >,
2742 pub finish: ::core::option::Option<unsafe extern "C" fn(target: *mut VipsTarget)>,
2743 pub read: ::core::option::Option<
2744 unsafe extern "C" fn(
2745 target: *mut VipsTarget,
2746 buffer: *mut core::ffi::c_void,
2747 length: usize,
2748 ) -> gint64,
2749 >,
2750 pub seek: ::core::option::Option<
2751 unsafe extern "C" fn(
2752 target: *mut VipsTarget,
2753 offset: gint64,
2754 whence: core::ffi::c_int,
2755 ) -> gint64,
2756 >,
2757 pub end:
2758 ::core::option::Option<unsafe extern "C" fn(target: *mut VipsTarget) -> core::ffi::c_int>,
2759}
2760pub type VipsTargetClass = _VipsTargetClass;
2761unsafe extern "C" {
2762 pub fn vips_target_get_type() -> GType;
2763}
2764unsafe extern "C" {
2765 pub fn vips_target_new_to_descriptor(descriptor: core::ffi::c_int) -> *mut VipsTarget;
2766}
2767unsafe extern "C" {
2768 pub fn vips_target_new_to_file(filename: *const core::ffi::c_char) -> *mut VipsTarget;
2769}
2770unsafe extern "C" {
2771 pub fn vips_target_new_to_memory() -> *mut VipsTarget;
2772}
2773unsafe extern "C" {
2774 pub fn vips_target_new_temp(based_on: *mut VipsTarget) -> *mut VipsTarget;
2775}
2776unsafe extern "C" {
2777 pub fn vips_target_write(
2778 target: *mut VipsTarget,
2779 data: *const core::ffi::c_void,
2780 length: usize,
2781 ) -> core::ffi::c_int;
2782}
2783unsafe extern "C" {
2784 pub fn vips_target_read(
2785 target: *mut VipsTarget,
2786 buffer: *mut core::ffi::c_void,
2787 length: usize,
2788 ) -> gint64;
2789}
2790unsafe extern "C" {
2791 pub fn vips_target_seek(
2792 target: *mut VipsTarget,
2793 offset: gint64,
2794 whence: core::ffi::c_int,
2795 ) -> gint64;
2796}
2797unsafe extern "C" {
2798 pub fn vips_target_end(target: *mut VipsTarget) -> core::ffi::c_int;
2799}
2800unsafe extern "C" {
2801 pub fn vips_target_steal(
2802 target: *mut VipsTarget,
2803 length: *mut usize,
2804 ) -> *mut core::ffi::c_uchar;
2805}
2806unsafe extern "C" {
2807 pub fn vips_target_steal_text(target: *mut VipsTarget) -> *mut core::ffi::c_char;
2808}
2809unsafe extern "C" {
2810 pub fn vips_target_putc(target: *mut VipsTarget, ch: core::ffi::c_int) -> core::ffi::c_int;
2811}
2812unsafe extern "C" {
2813 pub fn vips_target_writes(
2814 target: *mut VipsTarget,
2815 str_: *const core::ffi::c_char,
2816 ) -> core::ffi::c_int;
2817}
2818unsafe extern "C" {
2819 pub fn vips_target_writef(
2820 target: *mut VipsTarget,
2821 fmt: *const core::ffi::c_char,
2822 ...
2823 ) -> core::ffi::c_int;
2824}
2825unsafe extern "C" {
2826 pub fn vips_target_write_amp(
2827 target: *mut VipsTarget,
2828 str_: *const core::ffi::c_char,
2829 ) -> core::ffi::c_int;
2830}
2831#[repr(C)]
2832#[derive(Debug, Copy, Clone)]
2833pub struct _VipsTargetCustom {
2834 pub parent_object: VipsTarget,
2835}
2836pub type VipsTargetCustom = _VipsTargetCustom;
2837#[repr(C)]
2838#[derive(Debug, Copy, Clone)]
2839pub struct _VipsTargetCustomClass {
2840 pub parent_class: VipsTargetClass,
2841 pub write: ::core::option::Option<
2842 unsafe extern "C" fn(
2843 target: *mut VipsTargetCustom,
2844 data: *const core::ffi::c_void,
2845 length: gint64,
2846 ) -> gint64,
2847 >,
2848 pub finish: ::core::option::Option<unsafe extern "C" fn(target: *mut VipsTargetCustom)>,
2849 pub read: ::core::option::Option<
2850 unsafe extern "C" fn(
2851 target: *mut VipsTargetCustom,
2852 buffer: *mut core::ffi::c_void,
2853 length: gint64,
2854 ) -> gint64,
2855 >,
2856 pub seek: ::core::option::Option<
2857 unsafe extern "C" fn(
2858 target: *mut VipsTargetCustom,
2859 offset: gint64,
2860 whence: core::ffi::c_int,
2861 ) -> gint64,
2862 >,
2863 pub end: ::core::option::Option<
2864 unsafe extern "C" fn(target: *mut VipsTargetCustom) -> core::ffi::c_int,
2865 >,
2866}
2867pub type VipsTargetCustomClass = _VipsTargetCustomClass;
2868unsafe extern "C" {
2869 pub fn vips_target_custom_get_type() -> GType;
2870}
2871unsafe extern "C" {
2872 pub fn vips_target_custom_new() -> *mut VipsTargetCustom;
2873}
2874#[repr(C)]
2875#[derive(Debug, Copy, Clone)]
2876pub struct _VipsSbuf {
2877 pub parent_object: VipsObject,
2878 pub source: *mut VipsSource,
2879 pub input_buffer: [core::ffi::c_uchar; 4097usize],
2880 pub chars_in_buffer: core::ffi::c_int,
2881 pub read_point: core::ffi::c_int,
2882 pub line: [core::ffi::c_uchar; 4097usize],
2883}
2884pub type VipsSbuf = _VipsSbuf;
2885#[repr(C)]
2886#[derive(Debug, Copy, Clone)]
2887pub struct _VipsSbufClass {
2888 pub parent_class: VipsObjectClass,
2889}
2890pub type VipsSbufClass = _VipsSbufClass;
2891unsafe extern "C" {
2892 pub fn vips_sbuf_get_type() -> GType;
2893}
2894unsafe extern "C" {
2895 pub fn vips_sbuf_new_from_source(source: *mut VipsSource) -> *mut VipsSbuf;
2896}
2897unsafe extern "C" {
2898 pub fn vips_sbuf_unbuffer(sbuf: *mut VipsSbuf);
2899}
2900unsafe extern "C" {
2901 pub fn vips_sbuf_getc(sbuf: *mut VipsSbuf) -> core::ffi::c_int;
2902}
2903unsafe extern "C" {
2904 pub fn vips_sbuf_ungetc(sbuf: *mut VipsSbuf);
2905}
2906unsafe extern "C" {
2907 pub fn vips_sbuf_require(sbuf: *mut VipsSbuf, require: core::ffi::c_int) -> core::ffi::c_int;
2908}
2909unsafe extern "C" {
2910 pub fn vips_sbuf_get_line(sbuf: *mut VipsSbuf) -> *const core::ffi::c_char;
2911}
2912unsafe extern "C" {
2913 pub fn vips_sbuf_get_line_copy(sbuf: *mut VipsSbuf) -> *mut core::ffi::c_char;
2914}
2915unsafe extern "C" {
2916 pub fn vips_sbuf_get_non_whitespace(sbuf: *mut VipsSbuf) -> *const core::ffi::c_char;
2917}
2918unsafe extern "C" {
2919 pub fn vips_sbuf_skip_whitespace(sbuf: *mut VipsSbuf) -> core::ffi::c_int;
2920}
2921#[repr(C)]
2922#[derive(Debug, Copy, Clone)]
2923pub struct _VipsRect {
2924 pub left: core::ffi::c_int,
2925 pub top: core::ffi::c_int,
2926 pub width: core::ffi::c_int,
2927 pub height: core::ffi::c_int,
2928}
2929pub type VipsRect = _VipsRect;
2930unsafe extern "C" {
2931 pub fn vips_rect_isempty(r: *const VipsRect) -> gboolean;
2932}
2933unsafe extern "C" {
2934 pub fn vips_rect_includespoint(
2935 r: *const VipsRect,
2936 x: core::ffi::c_int,
2937 y: core::ffi::c_int,
2938 ) -> gboolean;
2939}
2940unsafe extern "C" {
2941 pub fn vips_rect_includesrect(r1: *const VipsRect, r2: *const VipsRect) -> gboolean;
2942}
2943unsafe extern "C" {
2944 pub fn vips_rect_equalsrect(r1: *const VipsRect, r2: *const VipsRect) -> gboolean;
2945}
2946unsafe extern "C" {
2947 pub fn vips_rect_overlapsrect(r1: *const VipsRect, r2: *const VipsRect) -> gboolean;
2948}
2949unsafe extern "C" {
2950 pub fn vips_rect_marginadjust(r: *mut VipsRect, n: core::ffi::c_int);
2951}
2952unsafe extern "C" {
2953 pub fn vips_rect_intersectrect(r1: *const VipsRect, r2: *const VipsRect, out: *mut VipsRect);
2954}
2955unsafe extern "C" {
2956 pub fn vips_rect_unionrect(r1: *const VipsRect, r2: *const VipsRect, out: *mut VipsRect);
2957}
2958unsafe extern "C" {
2959 pub fn vips_rect_dup(r: *const VipsRect) -> *mut VipsRect;
2960}
2961unsafe extern "C" {
2962 pub fn vips_rect_normalise(r: *mut VipsRect);
2963}
2964#[repr(C)]
2965#[derive(Debug, Copy, Clone)]
2966pub struct VipsWindow {
2967 pub ref_count: core::ffi::c_int,
2968 pub im: *mut _VipsImage,
2969 pub top: core::ffi::c_int,
2970 pub height: core::ffi::c_int,
2971 pub data: *mut VipsPel,
2972 pub baseaddr: *mut core::ffi::c_void,
2973 pub length: usize,
2974}
2975unsafe extern "C" {
2976 pub fn vips_window_unref(window: *mut VipsWindow) -> core::ffi::c_int;
2977}
2978unsafe extern "C" {
2979 pub fn vips_window_print(window: *mut VipsWindow);
2980}
2981#[repr(C)]
2982#[derive(Debug, Copy, Clone)]
2983pub struct VipsBufferThread {
2984 pub hash: *mut GHashTable,
2985 pub thread: *mut GThread,
2986}
2987#[repr(C)]
2988#[derive(Debug, Copy, Clone)]
2989pub struct _VipsBufferCache {
2990 pub buffers: *mut GSList,
2991 pub thread: *mut GThread,
2992 pub im: *mut _VipsImage,
2993 pub buffer_thread: *mut VipsBufferThread,
2994 pub reserve: *mut GSList,
2995 pub n_reserve: core::ffi::c_int,
2996}
2997pub type VipsBufferCache = _VipsBufferCache;
2998#[repr(C)]
2999#[derive(Debug, Copy, Clone)]
3000pub struct _VipsBuffer {
3001 pub ref_count: core::ffi::c_int,
3002 pub im: *mut _VipsImage,
3003 pub area: VipsRect,
3004 pub done: gboolean,
3005 pub cache: *mut VipsBufferCache,
3006 pub buf: *mut VipsPel,
3007 pub bsize: usize,
3008}
3009pub type VipsBuffer = _VipsBuffer;
3010unsafe extern "C" {
3011 pub fn vips_buffer_dump_all();
3012}
3013unsafe extern "C" {
3014 pub fn vips_buffer_done(buffer: *mut VipsBuffer);
3015}
3016unsafe extern "C" {
3017 pub fn vips_buffer_undone(buffer: *mut VipsBuffer);
3018}
3019unsafe extern "C" {
3020 pub fn vips_buffer_unref(buffer: *mut VipsBuffer);
3021}
3022unsafe extern "C" {
3023 pub fn vips_buffer_new(im: *mut _VipsImage, area: *mut VipsRect) -> *mut VipsBuffer;
3024}
3025unsafe extern "C" {
3026 pub fn vips_buffer_ref(im: *mut _VipsImage, area: *mut VipsRect) -> *mut VipsBuffer;
3027}
3028unsafe extern "C" {
3029 pub fn vips_buffer_unref_ref(
3030 buffer: *mut VipsBuffer,
3031 im: *mut _VipsImage,
3032 area: *mut VipsRect,
3033 ) -> *mut VipsBuffer;
3034}
3035unsafe extern "C" {
3036 pub fn vips_buffer_print(buffer: *mut VipsBuffer);
3037}
3038unsafe extern "C" {
3039 pub fn vips__render_shutdown();
3040}
3041#[repr(u32)]
3042#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3043pub enum _RegionType {
3044 VIPS_REGION_NONE = 0,
3045 VIPS_REGION_BUFFER = 1,
3046 VIPS_REGION_OTHER_REGION = 2,
3047 VIPS_REGION_OTHER_IMAGE = 3,
3048 VIPS_REGION_WINDOW = 4,
3049}
3050pub use self::_RegionType as RegionType;
3051unsafe extern "C" {
3052 pub fn vips__region_take_ownership(reg: *mut _VipsRegion);
3053}
3054unsafe extern "C" {
3055 pub fn vips__region_check_ownership(reg: *mut _VipsRegion);
3056}
3057unsafe extern "C" {
3058 pub fn vips__region_no_ownership(reg: *mut _VipsRegion);
3059}
3060pub type VipsRegionFillFn = ::core::option::Option<
3061 unsafe extern "C" fn(arg1: *mut _VipsRegion, arg2: *mut core::ffi::c_void) -> core::ffi::c_int,
3062>;
3063unsafe extern "C" {
3064 pub fn vips_region_fill(
3065 reg: *mut _VipsRegion,
3066 r: *const VipsRect,
3067 fn_: VipsRegionFillFn,
3068 a: *mut core::ffi::c_void,
3069 ) -> core::ffi::c_int;
3070}
3071unsafe extern "C" {
3072 pub fn vips__image_wio_output(image: *mut _VipsImage) -> core::ffi::c_int;
3073}
3074unsafe extern "C" {
3075 pub fn vips__image_pio_output(image: *mut _VipsImage) -> core::ffi::c_int;
3076}
3077unsafe extern "C" {
3078 pub fn vips__argument_get_instance(
3079 argument_class: *mut VipsArgumentClass,
3080 object: *mut VipsObject,
3081 ) -> *mut VipsArgumentInstance;
3082}
3083unsafe extern "C" {
3084 pub fn vips__argument_table_lookup(
3085 table: *mut VipsArgumentTable,
3086 pspec: *mut GParamSpec,
3087 ) -> *mut VipsArgument;
3088}
3089unsafe extern "C" {
3090 pub fn vips__demand_hint_array(
3091 image: *mut _VipsImage,
3092 hint: core::ffi::c_int,
3093 in_: *mut *mut _VipsImage,
3094 );
3095}
3096unsafe extern "C" {
3097 pub fn vips__image_copy_fields_array(
3098 out: *mut _VipsImage,
3099 in_: *mut *mut _VipsImage,
3100 ) -> core::ffi::c_int;
3101}
3102unsafe extern "C" {
3103 pub fn vips__region_count_pixels(region: *mut _VipsRegion, nickname: *const core::ffi::c_char);
3104}
3105unsafe extern "C" {
3106 pub fn vips_region_dump_all();
3107}
3108unsafe extern "C" {
3109 pub fn vips_region_prepare_many(
3110 reg: *mut *mut _VipsRegion,
3111 r: *const VipsRect,
3112 ) -> core::ffi::c_int;
3113}
3114unsafe extern "C" {
3115 pub fn vips__view_image(image: *mut _VipsImage) -> core::ffi::c_int;
3116}
3117unsafe extern "C" {
3118 pub fn vips__thread_gate_start(gate_name: *const core::ffi::c_char);
3119}
3120unsafe extern "C" {
3121 pub fn vips__thread_gate_stop(gate_name: *const core::ffi::c_char);
3122}
3123unsafe extern "C" {
3124 pub fn vips__thread_malloc_free(size: gint64);
3125}
3126unsafe extern "C" {
3127 pub fn vips__file_open_read(
3128 filename: *const core::ffi::c_char,
3129 fallback_dir: *const core::ffi::c_char,
3130 text_mode: gboolean,
3131 ) -> *mut FILE;
3132}
3133unsafe extern "C" {
3134 pub fn vips__file_open_write(
3135 filename: *const core::ffi::c_char,
3136 text_mode: gboolean,
3137 ) -> *mut FILE;
3138}
3139unsafe extern "C" {
3140 pub fn vips__write(
3141 fd: core::ffi::c_int,
3142 buf: *const core::ffi::c_void,
3143 count: usize,
3144 ) -> core::ffi::c_int;
3145}
3146unsafe extern "C" {
3147 pub fn vips__open(
3148 filename: *const core::ffi::c_char,
3149 flags: core::ffi::c_int,
3150 mode: core::ffi::c_int,
3151 ) -> core::ffi::c_int;
3152}
3153unsafe extern "C" {
3154 pub fn vips__file_read(
3155 fp: *mut FILE,
3156 name: *const core::ffi::c_char,
3157 length_out: *mut usize,
3158 ) -> *mut core::ffi::c_char;
3159}
3160unsafe extern "C" {
3161 pub fn vips__get_bytes(
3162 filename: *const core::ffi::c_char,
3163 buf: *mut core::ffi::c_uchar,
3164 len: gint64,
3165 ) -> gint64;
3166}
3167unsafe extern "C" {
3168 pub fn vips__seek(fd: core::ffi::c_int, pos: gint64, whence: core::ffi::c_int) -> gint64;
3169}
3170unsafe extern "C" {
3171 pub fn vips__filename_split8(
3172 name: *const core::ffi::c_char,
3173 filename: *mut core::ffi::c_char,
3174 option_string: *mut core::ffi::c_char,
3175 );
3176}
3177unsafe extern "C" {
3178 pub fn vips__temp_name(format: *const core::ffi::c_char) -> *mut core::ffi::c_char;
3179}
3180unsafe extern "C" {
3181 pub fn vips__win32_terminate(ret: core::ffi::c_int);
3182}
3183#[repr(u32)]
3184#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3185pub enum VipsRegionShrink {
3186 VIPS_REGION_SHRINK_MEAN = 0,
3187 VIPS_REGION_SHRINK_MEDIAN = 1,
3188 VIPS_REGION_SHRINK_MODE = 2,
3189 VIPS_REGION_SHRINK_MAX = 3,
3190 VIPS_REGION_SHRINK_MIN = 4,
3191 VIPS_REGION_SHRINK_NEAREST = 5,
3192 VIPS_REGION_SHRINK_LAST = 6,
3193}
3194#[repr(C)]
3195#[derive(Debug, Copy, Clone)]
3196pub struct _VipsRegion {
3197 pub parent_object: VipsObject,
3198 pub im: *mut VipsImage,
3199 pub valid: VipsRect,
3200 pub type_: RegionType,
3201 pub data: *mut VipsPel,
3202 pub bpl: core::ffi::c_int,
3203 pub seq: *mut core::ffi::c_void,
3204 pub thread: *mut GThread,
3205 pub window: *mut VipsWindow,
3206 pub buffer: *mut VipsBuffer,
3207 pub invalid: gboolean,
3208}
3209#[repr(C)]
3210#[derive(Debug, Copy, Clone)]
3211pub struct _VipsRegionClass {
3212 pub parent_class: VipsObjectClass,
3213}
3214pub type VipsRegionClass = _VipsRegionClass;
3215unsafe extern "C" {
3216 pub fn vips_region_get_type() -> GType;
3217}
3218unsafe extern "C" {
3219 pub fn vips_region_new(image: *mut VipsImage) -> *mut VipsRegion;
3220}
3221unsafe extern "C" {
3222 pub fn vips_region_buffer(reg: *mut VipsRegion, r: *const VipsRect) -> core::ffi::c_int;
3223}
3224unsafe extern "C" {
3225 pub fn vips_region_image(reg: *mut VipsRegion, r: *const VipsRect) -> core::ffi::c_int;
3226}
3227unsafe extern "C" {
3228 pub fn vips_region_region(
3229 reg: *mut VipsRegion,
3230 dest: *mut VipsRegion,
3231 r: *const VipsRect,
3232 x: core::ffi::c_int,
3233 y: core::ffi::c_int,
3234 ) -> core::ffi::c_int;
3235}
3236unsafe extern "C" {
3237 pub fn vips_region_equalsregion(
3238 reg1: *mut VipsRegion,
3239 reg2: *mut VipsRegion,
3240 ) -> core::ffi::c_int;
3241}
3242unsafe extern "C" {
3243 pub fn vips_region_position(
3244 reg: *mut VipsRegion,
3245 x: core::ffi::c_int,
3246 y: core::ffi::c_int,
3247 ) -> core::ffi::c_int;
3248}
3249unsafe extern "C" {
3250 pub fn vips_region_paint(reg: *mut VipsRegion, r: *const VipsRect, value: core::ffi::c_int);
3251}
3252unsafe extern "C" {
3253 pub fn vips_region_paint_pel(reg: *mut VipsRegion, r: *const VipsRect, ink: *const VipsPel);
3254}
3255unsafe extern "C" {
3256 pub fn vips_region_black(reg: *mut VipsRegion);
3257}
3258unsafe extern "C" {
3259 pub fn vips_region_copy(
3260 reg: *mut VipsRegion,
3261 dest: *mut VipsRegion,
3262 r: *const VipsRect,
3263 x: core::ffi::c_int,
3264 y: core::ffi::c_int,
3265 );
3266}
3267unsafe extern "C" {
3268 pub fn vips_region_shrink_method(
3269 from: *mut VipsRegion,
3270 to: *mut VipsRegion,
3271 target: *const VipsRect,
3272 method: VipsRegionShrink,
3273 ) -> core::ffi::c_int;
3274}
3275unsafe extern "C" {
3276 pub fn vips_region_shrink(
3277 from: *mut VipsRegion,
3278 to: *mut VipsRegion,
3279 target: *const VipsRect,
3280 ) -> core::ffi::c_int;
3281}
3282unsafe extern "C" {
3283 pub fn vips_region_prepare(reg: *mut VipsRegion, r: *const VipsRect) -> core::ffi::c_int;
3284}
3285unsafe extern "C" {
3286 pub fn vips_region_prepare_to(
3287 reg: *mut VipsRegion,
3288 dest: *mut VipsRegion,
3289 r: *const VipsRect,
3290 x: core::ffi::c_int,
3291 y: core::ffi::c_int,
3292 ) -> core::ffi::c_int;
3293}
3294unsafe extern "C" {
3295 pub fn vips_region_fetch(
3296 region: *mut VipsRegion,
3297 left: core::ffi::c_int,
3298 top: core::ffi::c_int,
3299 width: core::ffi::c_int,
3300 height: core::ffi::c_int,
3301 len: *mut usize,
3302 ) -> *mut VipsPel;
3303}
3304unsafe extern "C" {
3305 pub fn vips_region_width(region: *mut VipsRegion) -> core::ffi::c_int;
3306}
3307unsafe extern "C" {
3308 pub fn vips_region_height(region: *mut VipsRegion) -> core::ffi::c_int;
3309}
3310unsafe extern "C" {
3311 pub fn vips_region_invalidate(reg: *mut VipsRegion);
3312}
3313#[repr(i32)]
3314#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3315pub enum VipsDemandStyle {
3316 VIPS_DEMAND_STYLE_ERROR = -1,
3317 VIPS_DEMAND_STYLE_SMALLTILE = 0,
3318 VIPS_DEMAND_STYLE_FATSTRIP = 1,
3319 VIPS_DEMAND_STYLE_THINSTRIP = 2,
3320 VIPS_DEMAND_STYLE_ANY = 3,
3321}
3322#[repr(i32)]
3323#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3324pub enum VipsImageType {
3325 VIPS_IMAGE_ERROR = -1,
3326 VIPS_IMAGE_NONE = 0,
3327 VIPS_IMAGE_SETBUF = 1,
3328 VIPS_IMAGE_SETBUF_FOREIGN = 2,
3329 VIPS_IMAGE_OPENIN = 3,
3330 VIPS_IMAGE_MMAPIN = 4,
3331 VIPS_IMAGE_MMAPINRW = 5,
3332 VIPS_IMAGE_OPENOUT = 6,
3333 VIPS_IMAGE_PARTIAL = 7,
3334}
3335#[repr(i32)]
3336#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3337pub enum VipsInterpretation {
3338 VIPS_INTERPRETATION_ERROR = -1,
3339 VIPS_INTERPRETATION_MULTIBAND = 0,
3340 VIPS_INTERPRETATION_B_W = 1,
3341 VIPS_INTERPRETATION_HISTOGRAM = 10,
3342 VIPS_INTERPRETATION_XYZ = 12,
3343 VIPS_INTERPRETATION_LAB = 13,
3344 VIPS_INTERPRETATION_CMYK = 15,
3345 VIPS_INTERPRETATION_LABQ = 16,
3346 VIPS_INTERPRETATION_RGB = 17,
3347 VIPS_INTERPRETATION_CMC = 18,
3348 VIPS_INTERPRETATION_LCH = 19,
3349 VIPS_INTERPRETATION_LABS = 21,
3350 VIPS_INTERPRETATION_sRGB = 22,
3351 VIPS_INTERPRETATION_YXY = 23,
3352 VIPS_INTERPRETATION_FOURIER = 24,
3353 VIPS_INTERPRETATION_RGB16 = 25,
3354 VIPS_INTERPRETATION_GREY16 = 26,
3355 VIPS_INTERPRETATION_MATRIX = 27,
3356 VIPS_INTERPRETATION_scRGB = 28,
3357 VIPS_INTERPRETATION_HSV = 29,
3358 VIPS_INTERPRETATION_OKLAB = 30,
3359 VIPS_INTERPRETATION_OKLCH = 31,
3360 VIPS_INTERPRETATION_LAST = 32,
3361}
3362#[repr(i32)]
3363#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3364pub enum VipsBandFormat {
3365 VIPS_FORMAT_NOTSET = -1,
3366 VIPS_FORMAT_UCHAR = 0,
3367 VIPS_FORMAT_CHAR = 1,
3368 VIPS_FORMAT_USHORT = 2,
3369 VIPS_FORMAT_SHORT = 3,
3370 VIPS_FORMAT_UINT = 4,
3371 VIPS_FORMAT_INT = 5,
3372 VIPS_FORMAT_FLOAT = 6,
3373 VIPS_FORMAT_COMPLEX = 7,
3374 VIPS_FORMAT_DOUBLE = 8,
3375 VIPS_FORMAT_DPCOMPLEX = 9,
3376 VIPS_FORMAT_LAST = 10,
3377}
3378#[repr(i32)]
3379#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3380pub enum VipsCoding {
3381 VIPS_CODING_ERROR = -1,
3382 VIPS_CODING_NONE = 0,
3383 VIPS_CODING_LABQ = 2,
3384 VIPS_CODING_RAD = 6,
3385 VIPS_CODING_LAST = 7,
3386}
3387#[repr(u32)]
3388#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3389pub enum VipsAccess {
3390 VIPS_ACCESS_RANDOM = 0,
3391 VIPS_ACCESS_SEQUENTIAL = 1,
3392 VIPS_ACCESS_SEQUENTIAL_UNBUFFERED = 2,
3393 VIPS_ACCESS_LAST = 3,
3394}
3395pub type VipsStartFn = ::core::option::Option<
3396 unsafe extern "C" fn(
3397 out: *mut VipsImage,
3398 a: *mut core::ffi::c_void,
3399 b: *mut core::ffi::c_void,
3400 ) -> *mut core::ffi::c_void,
3401>;
3402pub type VipsGenerateFn = ::core::option::Option<
3403 unsafe extern "C" fn(
3404 out: *mut VipsRegion,
3405 seq: *mut core::ffi::c_void,
3406 a: *mut core::ffi::c_void,
3407 b: *mut core::ffi::c_void,
3408 stop: *mut gboolean,
3409 ) -> core::ffi::c_int,
3410>;
3411pub type VipsStopFn = ::core::option::Option<
3412 unsafe extern "C" fn(
3413 seq: *mut core::ffi::c_void,
3414 a: *mut core::ffi::c_void,
3415 b: *mut core::ffi::c_void,
3416 ) -> core::ffi::c_int,
3417>;
3418#[repr(C)]
3419#[derive(Debug, Copy, Clone)]
3420pub struct _VipsProgress {
3421 pub im: *mut VipsImage,
3422 pub run: core::ffi::c_int,
3423 pub eta: core::ffi::c_int,
3424 pub tpels: gint64,
3425 pub npels: gint64,
3426 pub percent: core::ffi::c_int,
3427 pub start: *mut GTimer,
3428}
3429pub type VipsProgress = _VipsProgress;
3430#[repr(C)]
3431#[derive(Copy, Clone)]
3432pub struct _VipsImage {
3433 pub parent_instance: VipsObject,
3434 pub Xsize: core::ffi::c_int,
3435 pub Ysize: core::ffi::c_int,
3436 pub Bands: core::ffi::c_int,
3437 pub BandFmt: VipsBandFormat,
3438 pub Coding: VipsCoding,
3439 pub Type: VipsInterpretation,
3440 pub Xres: f64,
3441 pub Yres: f64,
3442 pub Xoffset: core::ffi::c_int,
3443 pub Yoffset: core::ffi::c_int,
3444 pub Length: core::ffi::c_int,
3445 pub Compression: core::ffi::c_short,
3446 pub Level: core::ffi::c_short,
3447 pub Bbits: core::ffi::c_int,
3448 pub time: *mut VipsProgress,
3449 pub Hist: *mut core::ffi::c_char,
3450 pub filename: *mut core::ffi::c_char,
3451 pub data: *mut VipsPel,
3452 pub kill: core::ffi::c_int,
3453 pub Xres_float: f32,
3454 pub Yres_float: f32,
3455 pub mode: *mut core::ffi::c_char,
3456 pub dtype: VipsImageType,
3457 pub fd: core::ffi::c_int,
3458 pub baseaddr: *mut core::ffi::c_void,
3459 pub length: usize,
3460 pub magic: guint32,
3461 pub start_fn: VipsStartFn,
3462 pub generate_fn: VipsGenerateFn,
3463 pub stop_fn: VipsStopFn,
3464 pub client1: *mut core::ffi::c_void,
3465 pub client2: *mut core::ffi::c_void,
3466 pub sslock: GMutex,
3467 pub regions: *mut GSList,
3468 pub dhint: VipsDemandStyle,
3469 pub meta: *mut GHashTable,
3470 pub meta_traverse: *mut GSList,
3471 pub sizeof_header: gint64,
3472 pub windows: *mut GSList,
3473 pub upstream: *mut GSList,
3474 pub downstream: *mut GSList,
3475 pub serial: core::ffi::c_int,
3476 pub history_list: *mut GSList,
3477 pub progress_signal: *mut VipsImage,
3478 pub file_length: gint64,
3479 pub hint_set: gboolean,
3480 pub delete_on_close: gboolean,
3481 pub delete_on_close_filename: *mut core::ffi::c_char,
3482}
3483#[repr(C)]
3484#[derive(Debug, Copy, Clone)]
3485pub struct _VipsImageClass {
3486 pub parent_class: VipsObjectClass,
3487 pub preeval: ::core::option::Option<
3488 unsafe extern "C" fn(
3489 image: *mut VipsImage,
3490 progress: *mut VipsProgress,
3491 data: *mut core::ffi::c_void,
3492 ),
3493 >,
3494 pub eval: ::core::option::Option<
3495 unsafe extern "C" fn(
3496 image: *mut VipsImage,
3497 progress: *mut VipsProgress,
3498 data: *mut core::ffi::c_void,
3499 ),
3500 >,
3501 pub posteval: ::core::option::Option<
3502 unsafe extern "C" fn(
3503 image: *mut VipsImage,
3504 progress: *mut VipsProgress,
3505 data: *mut core::ffi::c_void,
3506 ),
3507 >,
3508 pub written: ::core::option::Option<
3509 unsafe extern "C" fn(
3510 image: *mut VipsImage,
3511 result: *mut core::ffi::c_int,
3512 data: *mut core::ffi::c_void,
3513 ),
3514 >,
3515 pub invalidate: ::core::option::Option<
3516 unsafe extern "C" fn(image: *mut VipsImage, data: *mut core::ffi::c_void),
3517 >,
3518 pub minimise: ::core::option::Option<
3519 unsafe extern "C" fn(image: *mut VipsImage, data: *mut core::ffi::c_void),
3520 >,
3521}
3522pub type VipsImageClass = _VipsImageClass;
3523unsafe extern "C" {
3524 pub fn vips_image_get_type() -> GType;
3525}
3526unsafe extern "C" {
3527 pub fn vips_progress_set(progress: gboolean);
3528}
3529unsafe extern "C" {
3530 pub fn vips_image_invalidate_all(image: *mut VipsImage);
3531}
3532unsafe extern "C" {
3533 pub fn vips_image_minimise_all(image: *mut VipsImage);
3534}
3535unsafe extern "C" {
3536 pub fn vips_image_is_sequential(image: *mut VipsImage) -> gboolean;
3537}
3538unsafe extern "C" {
3539 pub fn vips_image_preeval(image: *mut VipsImage);
3540}
3541unsafe extern "C" {
3542 pub fn vips_image_eval(image: *mut VipsImage, processed: guint64);
3543}
3544unsafe extern "C" {
3545 pub fn vips_image_posteval(image: *mut VipsImage);
3546}
3547unsafe extern "C" {
3548 pub fn vips_image_set_progress(image: *mut VipsImage, progress: gboolean);
3549}
3550unsafe extern "C" {
3551 pub fn vips_image_iskilled(image: *mut VipsImage) -> gboolean;
3552}
3553unsafe extern "C" {
3554 pub fn vips_image_set_kill(image: *mut VipsImage, kill: gboolean);
3555}
3556unsafe extern "C" {
3557 pub fn vips_filename_get_filename(
3558 vips_filename: *const core::ffi::c_char,
3559 ) -> *mut core::ffi::c_char;
3560}
3561unsafe extern "C" {
3562 pub fn vips_filename_get_options(
3563 vips_filename: *const core::ffi::c_char,
3564 ) -> *mut core::ffi::c_char;
3565}
3566unsafe extern "C" {
3567 pub fn vips_image_new() -> *mut VipsImage;
3568}
3569unsafe extern "C" {
3570 pub fn vips_image_new_memory() -> *mut VipsImage;
3571}
3572unsafe extern "C" {
3573 pub fn vips_image_memory() -> *mut VipsImage;
3574}
3575unsafe extern "C" {
3576 pub fn vips_image_new_from_file(name: *const core::ffi::c_char, ...) -> *mut VipsImage;
3577}
3578unsafe extern "C" {
3579 pub fn vips_image_new_from_file_RW(filename: *const core::ffi::c_char) -> *mut VipsImage;
3580}
3581unsafe extern "C" {
3582 pub fn vips_image_new_from_file_raw(
3583 filename: *const core::ffi::c_char,
3584 xsize: core::ffi::c_int,
3585 ysize: core::ffi::c_int,
3586 bands: core::ffi::c_int,
3587 offset: guint64,
3588 ) -> *mut VipsImage;
3589}
3590unsafe extern "C" {
3591 pub fn vips_image_new_from_memory(
3592 data: *const core::ffi::c_void,
3593 size: usize,
3594 width: core::ffi::c_int,
3595 height: core::ffi::c_int,
3596 bands: core::ffi::c_int,
3597 format: VipsBandFormat,
3598 ) -> *mut VipsImage;
3599}
3600unsafe extern "C" {
3601 pub fn vips_image_new_from_memory_copy(
3602 data: *const core::ffi::c_void,
3603 size: usize,
3604 width: core::ffi::c_int,
3605 height: core::ffi::c_int,
3606 bands: core::ffi::c_int,
3607 format: VipsBandFormat,
3608 ) -> *mut VipsImage;
3609}
3610unsafe extern "C" {
3611 pub fn vips_image_new_from_buffer(
3612 buf: *const core::ffi::c_void,
3613 len: usize,
3614 option_string: *const core::ffi::c_char,
3615 ...
3616 ) -> *mut VipsImage;
3617}
3618unsafe extern "C" {
3619 pub fn vips_image_new_from_source(
3620 source: *mut VipsSource,
3621 option_string: *const core::ffi::c_char,
3622 ...
3623 ) -> *mut VipsImage;
3624}
3625unsafe extern "C" {
3626 pub fn vips_image_new_matrix(
3627 width: core::ffi::c_int,
3628 height: core::ffi::c_int,
3629 ) -> *mut VipsImage;
3630}
3631unsafe extern "C" {
3632 pub fn vips_image_new_matrixv(
3633 width: core::ffi::c_int,
3634 height: core::ffi::c_int,
3635 ...
3636 ) -> *mut VipsImage;
3637}
3638unsafe extern "C" {
3639 pub fn vips_image_new_matrix_from_array(
3640 width: core::ffi::c_int,
3641 height: core::ffi::c_int,
3642 array: *const f64,
3643 size: core::ffi::c_int,
3644 ) -> *mut VipsImage;
3645}
3646unsafe extern "C" {
3647 pub fn vips_image_matrix_from_array(
3648 width: core::ffi::c_int,
3649 height: core::ffi::c_int,
3650 array: *const f64,
3651 size: core::ffi::c_int,
3652 ) -> *mut VipsImage;
3653}
3654unsafe extern "C" {
3655 pub fn vips_image_new_from_image(
3656 image: *mut VipsImage,
3657 c: *const f64,
3658 n: core::ffi::c_int,
3659 ) -> *mut VipsImage;
3660}
3661unsafe extern "C" {
3662 pub fn vips_image_new_from_image1(image: *mut VipsImage, c: f64) -> *mut VipsImage;
3663}
3664unsafe extern "C" {
3665 pub fn vips_image_set_delete_on_close(image: *mut VipsImage, delete_on_close: gboolean);
3666}
3667unsafe extern "C" {
3668 pub fn vips_get_disc_threshold() -> guint64;
3669}
3670unsafe extern "C" {
3671 pub fn vips_image_new_temp_file(format: *const core::ffi::c_char) -> *mut VipsImage;
3672}
3673unsafe extern "C" {
3674 pub fn vips_image_write(image: *mut VipsImage, out: *mut VipsImage) -> core::ffi::c_int;
3675}
3676unsafe extern "C" {
3677 pub fn vips_image_write_to_file(
3678 image: *mut VipsImage,
3679 name: *const core::ffi::c_char,
3680 ...
3681 ) -> core::ffi::c_int;
3682}
3683unsafe extern "C" {
3684 pub fn vips_image_write_to_buffer(
3685 in_: *mut VipsImage,
3686 suffix: *const core::ffi::c_char,
3687 buf: *mut *mut core::ffi::c_void,
3688 size: *mut usize,
3689 ...
3690 ) -> core::ffi::c_int;
3691}
3692unsafe extern "C" {
3693 pub fn vips_image_write_to_target(
3694 in_: *mut VipsImage,
3695 suffix: *const core::ffi::c_char,
3696 target: *mut VipsTarget,
3697 ...
3698 ) -> core::ffi::c_int;
3699}
3700unsafe extern "C" {
3701 pub fn vips_image_write_to_memory(
3702 in_: *mut VipsImage,
3703 size: *mut usize,
3704 ) -> *mut core::ffi::c_void;
3705}
3706unsafe extern "C" {
3707 pub fn vips_image_decode_predict(
3708 in_: *mut VipsImage,
3709 bands: *mut core::ffi::c_int,
3710 format: *mut VipsBandFormat,
3711 ) -> core::ffi::c_int;
3712}
3713unsafe extern "C" {
3714 pub fn vips_image_decode(in_: *mut VipsImage, out: *mut *mut VipsImage) -> core::ffi::c_int;
3715}
3716unsafe extern "C" {
3717 pub fn vips_image_encode(
3718 in_: *mut VipsImage,
3719 out: *mut *mut VipsImage,
3720 coding: VipsCoding,
3721 ) -> core::ffi::c_int;
3722}
3723unsafe extern "C" {
3724 pub fn vips_image_isMSBfirst(image: *mut VipsImage) -> gboolean;
3725}
3726unsafe extern "C" {
3727 pub fn vips_image_isfile(image: *mut VipsImage) -> gboolean;
3728}
3729unsafe extern "C" {
3730 pub fn vips_image_ispartial(image: *mut VipsImage) -> gboolean;
3731}
3732unsafe extern "C" {
3733 pub fn vips_image_hasalpha(image: *mut VipsImage) -> gboolean;
3734}
3735unsafe extern "C" {
3736 pub fn vips_image_copy_memory(image: *mut VipsImage) -> *mut VipsImage;
3737}
3738unsafe extern "C" {
3739 pub fn vips_image_wio_input(image: *mut VipsImage) -> core::ffi::c_int;
3740}
3741unsafe extern "C" {
3742 pub fn vips_image_pio_input(image: *mut VipsImage) -> core::ffi::c_int;
3743}
3744unsafe extern "C" {
3745 pub fn vips_image_pio_output(image: *mut VipsImage) -> core::ffi::c_int;
3746}
3747unsafe extern "C" {
3748 pub fn vips_image_inplace(image: *mut VipsImage) -> core::ffi::c_int;
3749}
3750unsafe extern "C" {
3751 pub fn vips_image_write_prepare(image: *mut VipsImage) -> core::ffi::c_int;
3752}
3753unsafe extern "C" {
3754 pub fn vips_image_write_line(
3755 image: *mut VipsImage,
3756 ypos: core::ffi::c_int,
3757 linebuffer: *mut VipsPel,
3758 ) -> core::ffi::c_int;
3759}
3760unsafe extern "C" {
3761 pub fn vips_band_format_isint(format: VipsBandFormat) -> gboolean;
3762}
3763unsafe extern "C" {
3764 pub fn vips_band_format_isuint(format: VipsBandFormat) -> gboolean;
3765}
3766unsafe extern "C" {
3767 pub fn vips_band_format_is8bit(format: VipsBandFormat) -> gboolean;
3768}
3769unsafe extern "C" {
3770 pub fn vips_band_format_isfloat(format: VipsBandFormat) -> gboolean;
3771}
3772unsafe extern "C" {
3773 pub fn vips_band_format_iscomplex(format: VipsBandFormat) -> gboolean;
3774}
3775unsafe extern "C" {
3776 pub fn vips_system(cmd_format: *const core::ffi::c_char, ...) -> core::ffi::c_int;
3777}
3778unsafe extern "C" {
3779 pub fn vips_array_image_new(
3780 array: *mut *mut VipsImage,
3781 n: core::ffi::c_int,
3782 ) -> *mut VipsArrayImage;
3783}
3784unsafe extern "C" {
3785 pub fn vips_array_image_newv(n: core::ffi::c_int, ...) -> *mut VipsArrayImage;
3786}
3787unsafe extern "C" {
3788 pub fn vips_array_image_new_from_string(
3789 string: *const core::ffi::c_char,
3790 flags: VipsAccess,
3791 ) -> *mut VipsArrayImage;
3792}
3793unsafe extern "C" {
3794 pub fn vips_array_image_empty() -> *mut VipsArrayImage;
3795}
3796unsafe extern "C" {
3797 pub fn vips_array_image_append(
3798 array: *mut VipsArrayImage,
3799 image: *mut VipsImage,
3800 ) -> *mut VipsArrayImage;
3801}
3802unsafe extern "C" {
3803 pub fn vips_array_image_get(
3804 array: *mut VipsArrayImage,
3805 n: *mut core::ffi::c_int,
3806 ) -> *mut *mut VipsImage;
3807}
3808unsafe extern "C" {
3809 pub fn vips_value_get_array_image(
3810 value: *const GValue,
3811 n: *mut core::ffi::c_int,
3812 ) -> *mut *mut VipsImage;
3813}
3814unsafe extern "C" {
3815 pub fn vips_value_set_array_image(value: *mut GValue, n: core::ffi::c_int);
3816}
3817unsafe extern "C" {
3818 pub fn vips_reorder_prepare_many(
3819 image: *mut VipsImage,
3820 regions: *mut *mut VipsRegion,
3821 r: *mut VipsRect,
3822 ) -> core::ffi::c_int;
3823}
3824unsafe extern "C" {
3825 pub fn vips_reorder_margin_hint(image: *mut VipsImage, margin: core::ffi::c_int);
3826}
3827unsafe extern "C" {
3828 pub fn vips_image_free_buffer(image: *mut VipsImage, buffer: *mut core::ffi::c_void);
3829}
3830pub type VipsImage_autoptr = *mut VipsImage;
3831pub type VipsImage_listautoptr = *mut GList;
3832pub type VipsImage_slistautoptr = *mut GSList;
3833pub type VipsImage_queueautoptr = *mut GQueue;
3834pub type VipsObject_autoptr = *mut VipsObject;
3835pub type VipsObject_listautoptr = *mut GList;
3836pub type VipsObject_slistautoptr = *mut GSList;
3837pub type VipsObject_queueautoptr = *mut GQueue;
3838pub type VipsRegion_autoptr = *mut VipsRegion;
3839pub type VipsRegion_listautoptr = *mut GList;
3840pub type VipsRegion_slistautoptr = *mut GSList;
3841pub type VipsRegion_queueautoptr = *mut GQueue;
3842pub type VipsConnection_autoptr = *mut VipsConnection;
3843pub type VipsConnection_listautoptr = *mut GList;
3844pub type VipsConnection_slistautoptr = *mut GSList;
3845pub type VipsConnection_queueautoptr = *mut GQueue;
3846pub type VipsSource_autoptr = *mut VipsSource;
3847pub type VipsSource_listautoptr = *mut GList;
3848pub type VipsSource_slistautoptr = *mut GSList;
3849pub type VipsSource_queueautoptr = *mut GQueue;
3850pub type VipsSourceCustom_autoptr = *mut VipsSourceCustom;
3851pub type VipsSourceCustom_listautoptr = *mut GList;
3852pub type VipsSourceCustom_slistautoptr = *mut GSList;
3853pub type VipsSourceCustom_queueautoptr = *mut GQueue;
3854pub type VipsGInputStream_autoptr = *mut VipsGInputStream;
3855pub type VipsGInputStream_listautoptr = *mut GList;
3856pub type VipsGInputStream_slistautoptr = *mut GSList;
3857pub type VipsGInputStream_queueautoptr = *mut GQueue;
3858pub type VipsSourceGInputStream_autoptr = *mut VipsSourceGInputStream;
3859pub type VipsSourceGInputStream_listautoptr = *mut GList;
3860pub type VipsSourceGInputStream_slistautoptr = *mut GSList;
3861pub type VipsSourceGInputStream_queueautoptr = *mut GQueue;
3862pub type VipsTarget_autoptr = *mut VipsTarget;
3863pub type VipsTarget_listautoptr = *mut GList;
3864pub type VipsTarget_slistautoptr = *mut GSList;
3865pub type VipsTarget_queueautoptr = *mut GQueue;
3866pub type VipsTargetCustom_autoptr = *mut VipsTargetCustom;
3867pub type VipsTargetCustom_listautoptr = *mut GList;
3868pub type VipsTargetCustom_slistautoptr = *mut GSList;
3869pub type VipsTargetCustom_queueautoptr = *mut GQueue;
3870pub type VipsSbuf_autoptr = *mut VipsSbuf;
3871pub type VipsSbuf_listautoptr = *mut GList;
3872pub type VipsSbuf_slistautoptr = *mut GSList;
3873pub type VipsSbuf_queueautoptr = *mut GQueue;
3874pub type VipsInterpolate_autoptr = *mut VipsInterpolate;
3875pub type VipsInterpolate_listautoptr = *mut GList;
3876pub type VipsInterpolate_slistautoptr = *mut GSList;
3877pub type VipsInterpolate_queueautoptr = *mut GQueue;
3878pub type VipsOperation_autoptr = *mut VipsOperation;
3879pub type VipsOperation_listautoptr = *mut GList;
3880pub type VipsOperation_slistautoptr = *mut GSList;
3881pub type VipsOperation_queueautoptr = *mut GQueue;
3882pub type VipsArrayDouble_autoptr = *mut VipsArrayDouble;
3883pub type VipsArrayDouble_listautoptr = *mut GList;
3884pub type VipsArrayDouble_slistautoptr = *mut GSList;
3885pub type VipsArrayDouble_queueautoptr = *mut GQueue;
3886pub type VipsArrayImage_autoptr = *mut VipsArrayImage;
3887pub type VipsArrayImage_listautoptr = *mut GList;
3888pub type VipsArrayImage_slistautoptr = *mut GSList;
3889pub type VipsArrayImage_queueautoptr = *mut GQueue;
3890unsafe extern "C" {
3891 pub fn vips_malloc(object: *mut VipsObject, size: usize) -> *mut core::ffi::c_void;
3892}
3893unsafe extern "C" {
3894 pub fn vips_strdup(
3895 object: *mut VipsObject,
3896 str_: *const core::ffi::c_char,
3897 ) -> *mut core::ffi::c_char;
3898}
3899unsafe extern "C" {
3900 pub fn vips_tracked_free(s: *mut core::ffi::c_void);
3901}
3902unsafe extern "C" {
3903 pub fn vips_tracked_aligned_free(s: *mut core::ffi::c_void);
3904}
3905unsafe extern "C" {
3906 pub fn vips_tracked_malloc(size: usize) -> *mut core::ffi::c_void;
3907}
3908unsafe extern "C" {
3909 pub fn vips_tracked_aligned_alloc(size: usize, align: usize) -> *mut core::ffi::c_void;
3910}
3911unsafe extern "C" {
3912 pub fn vips_tracked_get_mem() -> usize;
3913}
3914unsafe extern "C" {
3915 pub fn vips_tracked_get_mem_highwater() -> usize;
3916}
3917unsafe extern "C" {
3918 pub fn vips_tracked_get_allocs() -> core::ffi::c_int;
3919}
3920unsafe extern "C" {
3921 pub fn vips_tracked_open(
3922 pathname: *const core::ffi::c_char,
3923 flags: core::ffi::c_int,
3924 mode: core::ffi::c_int,
3925 ) -> core::ffi::c_int;
3926}
3927unsafe extern "C" {
3928 pub fn vips_tracked_close(fd: core::ffi::c_int) -> core::ffi::c_int;
3929}
3930unsafe extern "C" {
3931 pub fn vips_tracked_get_files() -> core::ffi::c_int;
3932}
3933unsafe extern "C" {
3934 pub fn vips_error_buffer() -> *const core::ffi::c_char;
3935}
3936unsafe extern "C" {
3937 pub fn vips_error_buffer_copy() -> *mut core::ffi::c_char;
3938}
3939unsafe extern "C" {
3940 pub fn vips_error_clear();
3941}
3942unsafe extern "C" {
3943 pub fn vips_error_freeze();
3944}
3945unsafe extern "C" {
3946 pub fn vips_error_thaw();
3947}
3948unsafe extern "C" {
3949 pub fn vips_error(domain: *const core::ffi::c_char, fmt: *const core::ffi::c_char, ...);
3950}
3951unsafe extern "C" {
3952 pub fn vips_verror(
3953 domain: *const core::ffi::c_char,
3954 fmt: *const core::ffi::c_char,
3955 ap: va_list,
3956 );
3957}
3958unsafe extern "C" {
3959 pub fn vips_error_system(
3960 err: core::ffi::c_int,
3961 domain: *const core::ffi::c_char,
3962 fmt: *const core::ffi::c_char,
3963 ...
3964 );
3965}
3966unsafe extern "C" {
3967 pub fn vips_verror_system(
3968 err: core::ffi::c_int,
3969 domain: *const core::ffi::c_char,
3970 fmt: *const core::ffi::c_char,
3971 ap: va_list,
3972 );
3973}
3974unsafe extern "C" {
3975 pub fn vips_error_g(error: *mut *mut GError);
3976}
3977unsafe extern "C" {
3978 pub fn vips_g_error(error: *mut *mut GError);
3979}
3980unsafe extern "C" {
3981 pub fn vips_error_exit(fmt: *const core::ffi::c_char, ...) -> !;
3982}
3983unsafe extern "C" {
3984 pub fn vips_check_uncoded(
3985 domain: *const core::ffi::c_char,
3986 im: *mut VipsImage,
3987 ) -> core::ffi::c_int;
3988}
3989unsafe extern "C" {
3990 pub fn vips_check_coding(
3991 domain: *const core::ffi::c_char,
3992 im: *mut VipsImage,
3993 coding: VipsCoding,
3994 ) -> core::ffi::c_int;
3995}
3996unsafe extern "C" {
3997 pub fn vips_check_coding_known(
3998 domain: *const core::ffi::c_char,
3999 im: *mut VipsImage,
4000 ) -> core::ffi::c_int;
4001}
4002unsafe extern "C" {
4003 pub fn vips_check_coding_noneorlabq(
4004 domain: *const core::ffi::c_char,
4005 im: *mut VipsImage,
4006 ) -> core::ffi::c_int;
4007}
4008unsafe extern "C" {
4009 pub fn vips_check_coding_same(
4010 domain: *const core::ffi::c_char,
4011 im1: *mut VipsImage,
4012 im2: *mut VipsImage,
4013 ) -> core::ffi::c_int;
4014}
4015unsafe extern "C" {
4016 pub fn vips_check_mono(
4017 domain: *const core::ffi::c_char,
4018 im: *mut VipsImage,
4019 ) -> core::ffi::c_int;
4020}
4021unsafe extern "C" {
4022 pub fn vips_check_bands(
4023 domain: *const core::ffi::c_char,
4024 im: *mut VipsImage,
4025 bands: core::ffi::c_int,
4026 ) -> core::ffi::c_int;
4027}
4028unsafe extern "C" {
4029 pub fn vips_check_bands_1or3(
4030 domain: *const core::ffi::c_char,
4031 im: *mut VipsImage,
4032 ) -> core::ffi::c_int;
4033}
4034unsafe extern "C" {
4035 pub fn vips_check_bands_atleast(
4036 domain: *const core::ffi::c_char,
4037 im: *mut VipsImage,
4038 bands: core::ffi::c_int,
4039 ) -> core::ffi::c_int;
4040}
4041unsafe extern "C" {
4042 pub fn vips_check_bands_1orn(
4043 domain: *const core::ffi::c_char,
4044 im1: *mut VipsImage,
4045 im2: *mut VipsImage,
4046 ) -> core::ffi::c_int;
4047}
4048unsafe extern "C" {
4049 pub fn vips_check_bands_1orn_unary(
4050 domain: *const core::ffi::c_char,
4051 im: *mut VipsImage,
4052 n: core::ffi::c_int,
4053 ) -> core::ffi::c_int;
4054}
4055unsafe extern "C" {
4056 pub fn vips_check_bands_same(
4057 domain: *const core::ffi::c_char,
4058 im1: *mut VipsImage,
4059 im2: *mut VipsImage,
4060 ) -> core::ffi::c_int;
4061}
4062unsafe extern "C" {
4063 pub fn vips_check_bandno(
4064 domain: *const core::ffi::c_char,
4065 im: *mut VipsImage,
4066 bandno: core::ffi::c_int,
4067 ) -> core::ffi::c_int;
4068}
4069unsafe extern "C" {
4070 pub fn vips_check_int(domain: *const core::ffi::c_char, im: *mut VipsImage)
4071 -> core::ffi::c_int;
4072}
4073unsafe extern "C" {
4074 pub fn vips_check_uint(
4075 domain: *const core::ffi::c_char,
4076 im: *mut VipsImage,
4077 ) -> core::ffi::c_int;
4078}
4079unsafe extern "C" {
4080 pub fn vips_check_uintorf(
4081 domain: *const core::ffi::c_char,
4082 im: *mut VipsImage,
4083 ) -> core::ffi::c_int;
4084}
4085unsafe extern "C" {
4086 pub fn vips_check_noncomplex(
4087 domain: *const core::ffi::c_char,
4088 im: *mut VipsImage,
4089 ) -> core::ffi::c_int;
4090}
4091unsafe extern "C" {
4092 pub fn vips_check_complex(
4093 domain: *const core::ffi::c_char,
4094 im: *mut VipsImage,
4095 ) -> core::ffi::c_int;
4096}
4097unsafe extern "C" {
4098 pub fn vips_check_twocomponents(
4099 domain: *const core::ffi::c_char,
4100 im: *mut VipsImage,
4101 ) -> core::ffi::c_int;
4102}
4103unsafe extern "C" {
4104 pub fn vips_check_format(
4105 domain: *const core::ffi::c_char,
4106 im: *mut VipsImage,
4107 fmt: VipsBandFormat,
4108 ) -> core::ffi::c_int;
4109}
4110unsafe extern "C" {
4111 pub fn vips_check_u8or16(
4112 domain: *const core::ffi::c_char,
4113 im: *mut VipsImage,
4114 ) -> core::ffi::c_int;
4115}
4116unsafe extern "C" {
4117 pub fn vips_check_8or16(
4118 domain: *const core::ffi::c_char,
4119 im: *mut VipsImage,
4120 ) -> core::ffi::c_int;
4121}
4122unsafe extern "C" {
4123 pub fn vips_check_u8or16orf(
4124 domain: *const core::ffi::c_char,
4125 im: *mut VipsImage,
4126 ) -> core::ffi::c_int;
4127}
4128unsafe extern "C" {
4129 pub fn vips_check_format_same(
4130 domain: *const core::ffi::c_char,
4131 im1: *mut VipsImage,
4132 im2: *mut VipsImage,
4133 ) -> core::ffi::c_int;
4134}
4135unsafe extern "C" {
4136 pub fn vips_check_size_same(
4137 domain: *const core::ffi::c_char,
4138 im1: *mut VipsImage,
4139 im2: *mut VipsImage,
4140 ) -> core::ffi::c_int;
4141}
4142unsafe extern "C" {
4143 pub fn vips_check_oddsquare(
4144 domain: *const core::ffi::c_char,
4145 im: *mut VipsImage,
4146 ) -> core::ffi::c_int;
4147}
4148unsafe extern "C" {
4149 pub fn vips_check_vector_length(
4150 domain: *const core::ffi::c_char,
4151 n: core::ffi::c_int,
4152 len: core::ffi::c_int,
4153 ) -> core::ffi::c_int;
4154}
4155unsafe extern "C" {
4156 pub fn vips_check_vector(
4157 domain: *const core::ffi::c_char,
4158 n: core::ffi::c_int,
4159 im: *mut VipsImage,
4160 ) -> core::ffi::c_int;
4161}
4162unsafe extern "C" {
4163 pub fn vips_check_hist(
4164 domain: *const core::ffi::c_char,
4165 im: *mut VipsImage,
4166 ) -> core::ffi::c_int;
4167}
4168unsafe extern "C" {
4169 pub fn vips_check_matrix(
4170 domain: *const core::ffi::c_char,
4171 im: *mut VipsImage,
4172 out: *mut *mut VipsImage,
4173 ) -> core::ffi::c_int;
4174}
4175unsafe extern "C" {
4176 pub fn vips_check_separable(
4177 domain: *const core::ffi::c_char,
4178 im: *mut VipsImage,
4179 ) -> core::ffi::c_int;
4180}
4181unsafe extern "C" {
4182 pub fn vips_check_precision_intfloat(
4183 domain: *const core::ffi::c_char,
4184 precision: VipsPrecision,
4185 ) -> core::ffi::c_int;
4186}
4187#[repr(u32)]
4188#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
4189pub enum VipsFormatFlags {
4190 VIPS_FORMAT_NONE = 0,
4191 VIPS_FORMAT_PARTIAL = 1,
4192 VIPS_FORMAT_BIGENDIAN = 2,
4193}
4194#[repr(C)]
4195#[derive(Debug, Copy, Clone)]
4196pub struct _VipsFormat {
4197 pub parent_object: VipsObject,
4198}
4199pub type VipsFormat = _VipsFormat;
4200#[repr(C)]
4201#[derive(Debug, Copy, Clone)]
4202pub struct _VipsFormatClass {
4203 pub parent_class: VipsObjectClass,
4204 pub is_a: ::core::option::Option<
4205 unsafe extern "C" fn(filename: *const core::ffi::c_char) -> gboolean,
4206 >,
4207 pub header: ::core::option::Option<
4208 unsafe extern "C" fn(
4209 filename: *const core::ffi::c_char,
4210 image: *mut VipsImage,
4211 ) -> core::ffi::c_int,
4212 >,
4213 pub load: ::core::option::Option<
4214 unsafe extern "C" fn(
4215 filename: *const core::ffi::c_char,
4216 image: *mut VipsImage,
4217 ) -> core::ffi::c_int,
4218 >,
4219 pub save: ::core::option::Option<
4220 unsafe extern "C" fn(
4221 image: *mut VipsImage,
4222 filename: *const core::ffi::c_char,
4223 ) -> core::ffi::c_int,
4224 >,
4225 pub get_flags: ::core::option::Option<
4226 unsafe extern "C" fn(filename: *const core::ffi::c_char) -> VipsFormatFlags,
4227 >,
4228 pub priority: core::ffi::c_int,
4229 pub suffs: *mut *const core::ffi::c_char,
4230}
4231pub type VipsFormatClass = _VipsFormatClass;
4232unsafe extern "C" {
4233 pub fn vips_format_get_type() -> GType;
4234}
4235unsafe extern "C" {
4236 pub fn vips_format_map(
4237 fn_: VipsSListMap2Fn,
4238 a: *mut core::ffi::c_void,
4239 b: *mut core::ffi::c_void,
4240 ) -> *mut core::ffi::c_void;
4241}
4242unsafe extern "C" {
4243 pub fn vips_format_for_file(filename: *const core::ffi::c_char) -> *mut VipsFormatClass;
4244}
4245unsafe extern "C" {
4246 pub fn vips_format_for_name(filename: *const core::ffi::c_char) -> *mut VipsFormatClass;
4247}
4248unsafe extern "C" {
4249 pub fn vips_format_get_flags(
4250 format: *mut VipsFormatClass,
4251 filename: *const core::ffi::c_char,
4252 ) -> VipsFormatFlags;
4253}
4254unsafe extern "C" {
4255 pub fn vips_format_read(
4256 filename: *const core::ffi::c_char,
4257 out: *mut VipsImage,
4258 ) -> core::ffi::c_int;
4259}
4260unsafe extern "C" {
4261 pub fn vips_format_write(
4262 in_: *mut VipsImage,
4263 filename: *const core::ffi::c_char,
4264 ) -> core::ffi::c_int;
4265}
4266pub type VipsRegionWrite = ::core::option::Option<
4267 unsafe extern "C" fn(
4268 region: *mut VipsRegion,
4269 area: *mut VipsRect,
4270 a: *mut core::ffi::c_void,
4271 ) -> core::ffi::c_int,
4272>;
4273unsafe extern "C" {
4274 pub fn vips_sink_disc(
4275 im: *mut VipsImage,
4276 write_fn: VipsRegionWrite,
4277 a: *mut core::ffi::c_void,
4278 ) -> core::ffi::c_int;
4279}
4280unsafe extern "C" {
4281 pub fn vips_sink(
4282 im: *mut VipsImage,
4283 start_fn: VipsStartFn,
4284 generate_fn: VipsGenerateFn,
4285 stop_fn: VipsStopFn,
4286 a: *mut core::ffi::c_void,
4287 b: *mut core::ffi::c_void,
4288 ) -> core::ffi::c_int;
4289}
4290unsafe extern "C" {
4291 pub fn vips_sink_tile(
4292 im: *mut VipsImage,
4293 tile_width: core::ffi::c_int,
4294 tile_height: core::ffi::c_int,
4295 start_fn: VipsStartFn,
4296 generate_fn: VipsGenerateFn,
4297 stop_fn: VipsStopFn,
4298 a: *mut core::ffi::c_void,
4299 b: *mut core::ffi::c_void,
4300 ) -> core::ffi::c_int;
4301}
4302pub type VipsSinkNotify = ::core::option::Option<
4303 unsafe extern "C" fn(im: *mut VipsImage, rect: *mut VipsRect, a: *mut core::ffi::c_void),
4304>;
4305unsafe extern "C" {
4306 pub fn vips_sink_screen(
4307 in_: *mut VipsImage,
4308 out: *mut VipsImage,
4309 mask: *mut VipsImage,
4310 tile_width: core::ffi::c_int,
4311 tile_height: core::ffi::c_int,
4312 max_tiles: core::ffi::c_int,
4313 priority: core::ffi::c_int,
4314 notify_fn: VipsSinkNotify,
4315 a: *mut core::ffi::c_void,
4316 ) -> core::ffi::c_int;
4317}
4318unsafe extern "C" {
4319 pub fn vips_sink_memory(im: *mut VipsImage) -> core::ffi::c_int;
4320}
4321unsafe extern "C" {
4322 pub fn vips_start_one(
4323 out: *mut VipsImage,
4324 a: *mut core::ffi::c_void,
4325 b: *mut core::ffi::c_void,
4326 ) -> *mut core::ffi::c_void;
4327}
4328unsafe extern "C" {
4329 pub fn vips_stop_one(
4330 seq: *mut core::ffi::c_void,
4331 a: *mut core::ffi::c_void,
4332 b: *mut core::ffi::c_void,
4333 ) -> core::ffi::c_int;
4334}
4335unsafe extern "C" {
4336 pub fn vips_start_many(
4337 out: *mut VipsImage,
4338 a: *mut core::ffi::c_void,
4339 b: *mut core::ffi::c_void,
4340 ) -> *mut core::ffi::c_void;
4341}
4342unsafe extern "C" {
4343 pub fn vips_stop_many(
4344 seq: *mut core::ffi::c_void,
4345 a: *mut core::ffi::c_void,
4346 b: *mut core::ffi::c_void,
4347 ) -> core::ffi::c_int;
4348}
4349unsafe extern "C" {
4350 pub fn vips_allocate_input_array(out: *mut VipsImage, ...) -> *mut *mut VipsImage;
4351}
4352unsafe extern "C" {
4353 pub fn vips_image_generate(
4354 image: *mut VipsImage,
4355 start_fn: VipsStartFn,
4356 generate_fn: VipsGenerateFn,
4357 stop_fn: VipsStopFn,
4358 a: *mut core::ffi::c_void,
4359 b: *mut core::ffi::c_void,
4360 ) -> core::ffi::c_int;
4361}
4362unsafe extern "C" {
4363 pub fn vips_image_pipeline_array(
4364 image: *mut VipsImage,
4365 hint: VipsDemandStyle,
4366 in_: *mut *mut VipsImage,
4367 ) -> core::ffi::c_int;
4368}
4369unsafe extern "C" {
4370 pub fn vips_image_pipelinev(
4371 image: *mut VipsImage,
4372 hint: VipsDemandStyle,
4373 ...
4374 ) -> core::ffi::c_int;
4375}
4376#[repr(C)]
4377#[derive(Debug, Copy, Clone)]
4378pub struct _VipsInterpolate {
4379 pub parent_object: VipsObject,
4380}
4381pub type VipsInterpolateMethod = ::core::option::Option<
4382 unsafe extern "C" fn(
4383 interpolate: *mut VipsInterpolate,
4384 out: *mut core::ffi::c_void,
4385 in_: *mut VipsRegion,
4386 x: f64,
4387 y: f64,
4388 ),
4389>;
4390#[repr(C)]
4391#[derive(Debug, Copy, Clone)]
4392pub struct _VipsInterpolateClass {
4393 pub parent_class: VipsObjectClass,
4394 pub interpolate: VipsInterpolateMethod,
4395 pub get_window_size: ::core::option::Option<
4396 unsafe extern "C" fn(interpolate: *mut VipsInterpolate) -> core::ffi::c_int,
4397 >,
4398 pub window_size: core::ffi::c_int,
4399 pub get_window_offset: ::core::option::Option<
4400 unsafe extern "C" fn(interpolate: *mut VipsInterpolate) -> core::ffi::c_int,
4401 >,
4402 pub window_offset: core::ffi::c_int,
4403}
4404pub type VipsInterpolateClass = _VipsInterpolateClass;
4405unsafe extern "C" {
4406 pub fn vips_interpolate_get_type() -> GType;
4407}
4408unsafe extern "C" {
4409 pub fn vips_interpolate(
4410 interpolate: *mut VipsInterpolate,
4411 out: *mut core::ffi::c_void,
4412 in_: *mut VipsRegion,
4413 x: f64,
4414 y: f64,
4415 );
4416}
4417unsafe extern "C" {
4418 pub fn vips_interpolate_get_method(interpolate: *mut VipsInterpolate) -> VipsInterpolateMethod;
4419}
4420unsafe extern "C" {
4421 pub fn vips_interpolate_get_window_size(interpolate: *mut VipsInterpolate) -> core::ffi::c_int;
4422}
4423unsafe extern "C" {
4424 pub fn vips_interpolate_get_window_offset(
4425 interpolate: *mut VipsInterpolate,
4426 ) -> core::ffi::c_int;
4427}
4428unsafe extern "C" {
4429 pub fn vips_interpolate_nearest_static() -> *mut VipsInterpolate;
4430}
4431unsafe extern "C" {
4432 pub fn vips_interpolate_bilinear_static() -> *mut VipsInterpolate;
4433}
4434unsafe extern "C" {
4435 pub fn vips_interpolate_new(nickname: *const core::ffi::c_char) -> *mut VipsInterpolate;
4436}
4437#[repr(C)]
4438#[derive(Copy, Clone)]
4439pub struct VipsSemaphore {
4440 pub name: *mut core::ffi::c_char,
4441 pub v: core::ffi::c_int,
4442 pub mutex: GMutex,
4443 pub cond: GCond,
4444}
4445unsafe extern "C" {
4446 pub fn vips_semaphore_up(s: *mut VipsSemaphore) -> core::ffi::c_int;
4447}
4448unsafe extern "C" {
4449 pub fn vips_semaphore_upn(s: *mut VipsSemaphore, n: core::ffi::c_int) -> core::ffi::c_int;
4450}
4451unsafe extern "C" {
4452 pub fn vips_semaphore_down(s: *mut VipsSemaphore) -> core::ffi::c_int;
4453}
4454unsafe extern "C" {
4455 pub fn vips_semaphore_downn(s: *mut VipsSemaphore, n: core::ffi::c_int) -> core::ffi::c_int;
4456}
4457unsafe extern "C" {
4458 pub fn vips_semaphore_down_timeout(s: *mut VipsSemaphore, timeout: gint64) -> core::ffi::c_int;
4459}
4460unsafe extern "C" {
4461 pub fn vips_semaphore_destroy(s: *mut VipsSemaphore);
4462}
4463unsafe extern "C" {
4464 pub fn vips_semaphore_init(
4465 s: *mut VipsSemaphore,
4466 v: core::ffi::c_int,
4467 name: *mut core::ffi::c_char,
4468 );
4469}
4470unsafe extern "C" {
4471 pub fn vips_g_thread_new(
4472 domain: *const core::ffi::c_char,
4473 func: GThreadFunc,
4474 data: gpointer,
4475 ) -> *mut GThread;
4476}
4477unsafe extern "C" {
4478 pub fn vips_thread_isvips() -> gboolean;
4479}
4480unsafe extern "C" {
4481 pub fn vips_thread_execute(
4482 domain: *const core::ffi::c_char,
4483 func: GFunc,
4484 data: gpointer,
4485 ) -> core::ffi::c_int;
4486}
4487#[repr(C)]
4488#[derive(Debug, Copy, Clone)]
4489pub struct _VipsThreadState {
4490 pub parent_object: VipsObject,
4491 pub im: *mut VipsImage,
4492 pub reg: *mut VipsRegion,
4493 pub pos: VipsRect,
4494 pub x: core::ffi::c_int,
4495 pub y: core::ffi::c_int,
4496 pub stop: gboolean,
4497 pub a: *mut core::ffi::c_void,
4498 pub stall: gboolean,
4499}
4500pub type VipsThreadState = _VipsThreadState;
4501#[repr(C)]
4502#[derive(Debug, Copy, Clone)]
4503pub struct _VipsThreadStateClass {
4504 pub parent_class: VipsObjectClass,
4505}
4506pub type VipsThreadStateClass = _VipsThreadStateClass;
4507unsafe extern "C" {
4508 pub fn vips_thread_state_set(
4509 object: *mut VipsObject,
4510 a: *mut core::ffi::c_void,
4511 b: *mut core::ffi::c_void,
4512 ) -> *mut core::ffi::c_void;
4513}
4514unsafe extern "C" {
4515 pub fn vips_thread_state_get_type() -> GType;
4516}
4517unsafe extern "C" {
4518 pub fn vips_thread_state_new(
4519 im: *mut VipsImage,
4520 a: *mut core::ffi::c_void,
4521 ) -> *mut VipsThreadState;
4522}
4523pub type VipsThreadStartFn = ::core::option::Option<
4524 unsafe extern "C" fn(im: *mut VipsImage, a: *mut core::ffi::c_void) -> *mut VipsThreadState,
4525>;
4526pub type VipsThreadpoolAllocateFn = ::core::option::Option<
4527 unsafe extern "C" fn(
4528 state: *mut VipsThreadState,
4529 a: *mut core::ffi::c_void,
4530 stop: *mut gboolean,
4531 ) -> core::ffi::c_int,
4532>;
4533pub type VipsThreadpoolWorkFn = ::core::option::Option<
4534 unsafe extern "C" fn(
4535 state: *mut VipsThreadState,
4536 a: *mut core::ffi::c_void,
4537 ) -> core::ffi::c_int,
4538>;
4539pub type VipsThreadpoolProgressFn =
4540 ::core::option::Option<unsafe extern "C" fn(a: *mut core::ffi::c_void) -> core::ffi::c_int>;
4541unsafe extern "C" {
4542 pub fn vips_threadpool_run(
4543 im: *mut VipsImage,
4544 start: VipsThreadStartFn,
4545 allocate: VipsThreadpoolAllocateFn,
4546 work: VipsThreadpoolWorkFn,
4547 progress: VipsThreadpoolProgressFn,
4548 a: *mut core::ffi::c_void,
4549 ) -> core::ffi::c_int;
4550}
4551unsafe extern "C" {
4552 pub fn vips_get_tile_size(
4553 im: *mut VipsImage,
4554 tile_width: *mut core::ffi::c_int,
4555 tile_height: *mut core::ffi::c_int,
4556 n_lines: *mut core::ffi::c_int,
4557 );
4558}
4559unsafe extern "C" {
4560 pub fn vips_format_sizeof(format: VipsBandFormat) -> guint64;
4561}
4562unsafe extern "C" {
4563 pub fn vips_format_sizeof_unsafe(format: VipsBandFormat) -> guint64;
4564}
4565unsafe extern "C" {
4566 pub fn vips_interpretation_max_alpha(interpretation: VipsInterpretation) -> f64;
4567}
4568unsafe extern "C" {
4569 pub fn vips_interpretation_bands(interpretation: VipsInterpretation) -> core::ffi::c_int;
4570}
4571unsafe extern "C" {
4572 pub fn vips_image_get_width(image: *const VipsImage) -> core::ffi::c_int;
4573}
4574unsafe extern "C" {
4575 pub fn vips_image_get_height(image: *const VipsImage) -> core::ffi::c_int;
4576}
4577unsafe extern "C" {
4578 pub fn vips_image_get_bands(image: *const VipsImage) -> core::ffi::c_int;
4579}
4580unsafe extern "C" {
4581 pub fn vips_image_get_format(image: *const VipsImage) -> VipsBandFormat;
4582}
4583unsafe extern "C" {
4584 pub fn vips_image_get_format_max(format: VipsBandFormat) -> f64;
4585}
4586unsafe extern "C" {
4587 pub fn vips_image_guess_format(image: *const VipsImage) -> VipsBandFormat;
4588}
4589unsafe extern "C" {
4590 pub fn vips_image_get_coding(image: *const VipsImage) -> VipsCoding;
4591}
4592unsafe extern "C" {
4593 pub fn vips_image_get_interpretation(image: *const VipsImage) -> VipsInterpretation;
4594}
4595unsafe extern "C" {
4596 pub fn vips_image_guess_interpretation(image: *const VipsImage) -> VipsInterpretation;
4597}
4598unsafe extern "C" {
4599 pub fn vips_image_get_xres(image: *const VipsImage) -> f64;
4600}
4601unsafe extern "C" {
4602 pub fn vips_image_get_yres(image: *const VipsImage) -> f64;
4603}
4604unsafe extern "C" {
4605 pub fn vips_image_get_xoffset(image: *const VipsImage) -> core::ffi::c_int;
4606}
4607unsafe extern "C" {
4608 pub fn vips_image_get_yoffset(image: *const VipsImage) -> core::ffi::c_int;
4609}
4610unsafe extern "C" {
4611 pub fn vips_image_get_filename(image: *const VipsImage) -> *const core::ffi::c_char;
4612}
4613unsafe extern "C" {
4614 pub fn vips_image_get_mode(image: *const VipsImage) -> *const core::ffi::c_char;
4615}
4616unsafe extern "C" {
4617 pub fn vips_image_get_scale(image: *const VipsImage) -> f64;
4618}
4619unsafe extern "C" {
4620 pub fn vips_image_get_offset(image: *const VipsImage) -> f64;
4621}
4622unsafe extern "C" {
4623 pub fn vips_image_get_page_height(image: *mut VipsImage) -> core::ffi::c_int;
4624}
4625unsafe extern "C" {
4626 pub fn vips_image_get_n_pages(image: *mut VipsImage) -> core::ffi::c_int;
4627}
4628unsafe extern "C" {
4629 pub fn vips_image_get_n_subifds(image: *mut VipsImage) -> core::ffi::c_int;
4630}
4631unsafe extern "C" {
4632 pub fn vips_image_get_orientation(image: *mut VipsImage) -> core::ffi::c_int;
4633}
4634unsafe extern "C" {
4635 pub fn vips_image_get_orientation_swap(image: *mut VipsImage) -> gboolean;
4636}
4637unsafe extern "C" {
4638 pub fn vips_image_get_concurrency(
4639 image: *mut VipsImage,
4640 default_concurrency: core::ffi::c_int,
4641 ) -> core::ffi::c_int;
4642}
4643unsafe extern "C" {
4644 pub fn vips_image_get_tile_width(image: *mut VipsImage) -> core::ffi::c_int;
4645}
4646unsafe extern "C" {
4647 pub fn vips_image_get_tile_height(image: *mut VipsImage) -> core::ffi::c_int;
4648}
4649unsafe extern "C" {
4650 pub fn vips_image_get_gainmap(image: *mut VipsImage) -> *mut VipsImage;
4651}
4652unsafe extern "C" {
4653 pub fn vips_image_get_data(image: *mut VipsImage) -> *const core::ffi::c_void;
4654}
4655unsafe extern "C" {
4656 pub fn vips_image_init_fields(
4657 image: *mut VipsImage,
4658 xsize: core::ffi::c_int,
4659 ysize: core::ffi::c_int,
4660 bands: core::ffi::c_int,
4661 format: VipsBandFormat,
4662 coding: VipsCoding,
4663 interpretation: VipsInterpretation,
4664 xres: f64,
4665 yres: f64,
4666 );
4667}
4668unsafe extern "C" {
4669 pub fn vips_image_set(
4670 image: *mut VipsImage,
4671 name: *const core::ffi::c_char,
4672 value: *mut GValue,
4673 );
4674}
4675unsafe extern "C" {
4676 pub fn vips_image_get(
4677 image: *const VipsImage,
4678 name: *const core::ffi::c_char,
4679 value_copy: *mut GValue,
4680 ) -> core::ffi::c_int;
4681}
4682unsafe extern "C" {
4683 pub fn vips_image_get_as_string(
4684 image: *const VipsImage,
4685 name: *const core::ffi::c_char,
4686 out: *mut *mut core::ffi::c_char,
4687 ) -> core::ffi::c_int;
4688}
4689unsafe extern "C" {
4690 pub fn vips_image_get_typeof(image: *const VipsImage, name: *const core::ffi::c_char) -> GType;
4691}
4692unsafe extern "C" {
4693 pub fn vips_image_remove(image: *mut VipsImage, name: *const core::ffi::c_char) -> gboolean;
4694}
4695pub type VipsImageMapFn = ::core::option::Option<
4696 unsafe extern "C" fn(
4697 image: *mut VipsImage,
4698 name: *const core::ffi::c_char,
4699 value: *mut GValue,
4700 a: *mut core::ffi::c_void,
4701 ) -> *mut core::ffi::c_void,
4702>;
4703unsafe extern "C" {
4704 pub fn vips_image_map(
4705 image: *mut VipsImage,
4706 fn_: VipsImageMapFn,
4707 a: *mut core::ffi::c_void,
4708 ) -> *mut core::ffi::c_void;
4709}
4710unsafe extern "C" {
4711 pub fn vips_image_get_fields(image: *mut VipsImage) -> *mut *mut gchar;
4712}
4713unsafe extern "C" {
4714 pub fn vips_image_set_area(
4715 image: *mut VipsImage,
4716 name: *const core::ffi::c_char,
4717 free_fn: VipsCallbackFn,
4718 data: *mut core::ffi::c_void,
4719 );
4720}
4721unsafe extern "C" {
4722 pub fn vips_image_get_area(
4723 image: *const VipsImage,
4724 name: *const core::ffi::c_char,
4725 data: *mut *const core::ffi::c_void,
4726 ) -> core::ffi::c_int;
4727}
4728unsafe extern "C" {
4729 pub fn vips_image_set_blob(
4730 image: *mut VipsImage,
4731 name: *const core::ffi::c_char,
4732 free_fn: VipsCallbackFn,
4733 data: *const core::ffi::c_void,
4734 length: usize,
4735 );
4736}
4737unsafe extern "C" {
4738 pub fn vips_image_set_blob_copy(
4739 image: *mut VipsImage,
4740 name: *const core::ffi::c_char,
4741 data: *const core::ffi::c_void,
4742 length: usize,
4743 );
4744}
4745unsafe extern "C" {
4746 pub fn vips_image_get_blob(
4747 image: *const VipsImage,
4748 name: *const core::ffi::c_char,
4749 data: *mut *const core::ffi::c_void,
4750 length: *mut usize,
4751 ) -> core::ffi::c_int;
4752}
4753unsafe extern "C" {
4754 pub fn vips_image_get_int(
4755 image: *const VipsImage,
4756 name: *const core::ffi::c_char,
4757 out: *mut core::ffi::c_int,
4758 ) -> core::ffi::c_int;
4759}
4760unsafe extern "C" {
4761 pub fn vips_image_set_int(
4762 image: *mut VipsImage,
4763 name: *const core::ffi::c_char,
4764 i: core::ffi::c_int,
4765 );
4766}
4767unsafe extern "C" {
4768 pub fn vips_image_get_double(
4769 image: *const VipsImage,
4770 name: *const core::ffi::c_char,
4771 out: *mut f64,
4772 ) -> core::ffi::c_int;
4773}
4774unsafe extern "C" {
4775 pub fn vips_image_set_double(image: *mut VipsImage, name: *const core::ffi::c_char, d: f64);
4776}
4777unsafe extern "C" {
4778 pub fn vips_image_get_string(
4779 image: *const VipsImage,
4780 name: *const core::ffi::c_char,
4781 out: *mut *const core::ffi::c_char,
4782 ) -> core::ffi::c_int;
4783}
4784unsafe extern "C" {
4785 pub fn vips_image_set_string(
4786 image: *mut VipsImage,
4787 name: *const core::ffi::c_char,
4788 str_: *const core::ffi::c_char,
4789 );
4790}
4791unsafe extern "C" {
4792 pub fn vips_image_print_field(image: *const VipsImage, name: *const core::ffi::c_char);
4793}
4794unsafe extern "C" {
4795 pub fn vips_image_get_image(
4796 image: *const VipsImage,
4797 name: *const core::ffi::c_char,
4798 out: *mut *mut VipsImage,
4799 ) -> core::ffi::c_int;
4800}
4801unsafe extern "C" {
4802 pub fn vips_image_set_image(
4803 image: *mut VipsImage,
4804 name: *const core::ffi::c_char,
4805 im: *mut VipsImage,
4806 );
4807}
4808unsafe extern "C" {
4809 pub fn vips_image_set_array_int(
4810 image: *mut VipsImage,
4811 name: *const core::ffi::c_char,
4812 array: *const core::ffi::c_int,
4813 n: core::ffi::c_int,
4814 );
4815}
4816unsafe extern "C" {
4817 pub fn vips_image_get_array_int(
4818 image: *mut VipsImage,
4819 name: *const core::ffi::c_char,
4820 out: *mut *mut core::ffi::c_int,
4821 n: *mut core::ffi::c_int,
4822 ) -> core::ffi::c_int;
4823}
4824unsafe extern "C" {
4825 pub fn vips_image_get_array_double(
4826 image: *mut VipsImage,
4827 name: *const core::ffi::c_char,
4828 out: *mut *mut f64,
4829 n: *mut core::ffi::c_int,
4830 ) -> core::ffi::c_int;
4831}
4832unsafe extern "C" {
4833 pub fn vips_image_set_array_double(
4834 image: *mut VipsImage,
4835 name: *const core::ffi::c_char,
4836 array: *const f64,
4837 n: core::ffi::c_int,
4838 );
4839}
4840unsafe extern "C" {
4841 pub fn vips_image_history_printf(
4842 image: *mut VipsImage,
4843 format: *const core::ffi::c_char,
4844 ...
4845 ) -> core::ffi::c_int;
4846}
4847unsafe extern "C" {
4848 pub fn vips_image_history_args(
4849 image: *mut VipsImage,
4850 name: *const core::ffi::c_char,
4851 argc: core::ffi::c_int,
4852 argv: *mut *mut core::ffi::c_char,
4853 ) -> core::ffi::c_int;
4854}
4855unsafe extern "C" {
4856 pub fn vips_image_get_history(image: *mut VipsImage) -> *const core::ffi::c_char;
4857}
4858#[repr(u32)]
4859#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
4860pub enum VipsOperationFlags {
4861 VIPS_OPERATION_NONE = 0,
4862 VIPS_OPERATION_SEQUENTIAL = 1,
4863 VIPS_OPERATION_SEQUENTIAL_UNBUFFERED = 2,
4864 VIPS_OPERATION_NOCACHE = 4,
4865 VIPS_OPERATION_DEPRECATED = 8,
4866 VIPS_OPERATION_UNTRUSTED = 16,
4867 VIPS_OPERATION_BLOCKED = 32,
4868 VIPS_OPERATION_REVALIDATE = 64,
4869}
4870pub type VipsOperationBuildFn =
4871 ::core::option::Option<unsafe extern "C" fn(object: *mut VipsObject) -> gboolean>;
4872#[repr(C)]
4873#[derive(Debug, Copy, Clone)]
4874pub struct _VipsOperation {
4875 pub parent_instance: VipsObject,
4876 pub hash: guint,
4877 pub found_hash: gboolean,
4878 pub pixels: core::ffi::c_int,
4879}
4880#[repr(C)]
4881#[derive(Debug, Copy, Clone)]
4882pub struct _VipsOperationClass {
4883 pub parent_class: VipsObjectClass,
4884 pub usage: ::core::option::Option<
4885 unsafe extern "C" fn(cls: *mut _VipsOperationClass, buf: *mut VipsBuf),
4886 >,
4887 pub get_flags: ::core::option::Option<
4888 unsafe extern "C" fn(operation: *mut VipsOperation) -> VipsOperationFlags,
4889 >,
4890 pub flags: VipsOperationFlags,
4891 pub invalidate: ::core::option::Option<unsafe extern "C" fn(operation: *mut VipsOperation)>,
4892}
4893pub type VipsOperationClass = _VipsOperationClass;
4894unsafe extern "C" {
4895 pub fn vips_operation_get_type() -> GType;
4896}
4897unsafe extern "C" {
4898 pub fn vips_operation_get_flags(operation: *mut VipsOperation) -> VipsOperationFlags;
4899}
4900unsafe extern "C" {
4901 pub fn vips_operation_class_print_usage(operation_class: *mut VipsOperationClass);
4902}
4903unsafe extern "C" {
4904 pub fn vips_operation_invalidate(operation: *mut VipsOperation);
4905}
4906unsafe extern "C" {
4907 pub fn vips_operation_call_valist(
4908 operation: *mut VipsOperation,
4909 ap: va_list,
4910 ) -> core::ffi::c_int;
4911}
4912unsafe extern "C" {
4913 pub fn vips_operation_new(name: *const core::ffi::c_char) -> *mut VipsOperation;
4914}
4915unsafe extern "C" {
4916 pub fn vips_call_required_optional(
4917 operation: *mut *mut VipsOperation,
4918 required: va_list,
4919 optional: va_list,
4920 ) -> core::ffi::c_int;
4921}
4922unsafe extern "C" {
4923 pub fn vips_call(operation_name: *const core::ffi::c_char, ...) -> core::ffi::c_int;
4924}
4925unsafe extern "C" {
4926 pub fn vips_call_split(
4927 operation_name: *const core::ffi::c_char,
4928 optional: va_list,
4929 ...
4930 ) -> core::ffi::c_int;
4931}
4932unsafe extern "C" {
4933 pub fn vips_call_split_option_string(
4934 operation_name: *const core::ffi::c_char,
4935 option_string: *const core::ffi::c_char,
4936 optional: va_list,
4937 ...
4938 ) -> core::ffi::c_int;
4939}
4940unsafe extern "C" {
4941 pub fn vips_call_options(group: *mut GOptionGroup, operation: *mut VipsOperation);
4942}
4943unsafe extern "C" {
4944 pub fn vips_call_argv(
4945 operation: *mut VipsOperation,
4946 argc: core::ffi::c_int,
4947 argv: *mut *mut core::ffi::c_char,
4948 ) -> core::ffi::c_int;
4949}
4950unsafe extern "C" {
4951 pub fn vips_cache_drop_all();
4952}
4953unsafe extern "C" {
4954 pub fn vips_cache_operation_buildp(operation: *mut *mut VipsOperation) -> core::ffi::c_int;
4955}
4956unsafe extern "C" {
4957 pub fn vips_cache_operation_build(operation: *mut VipsOperation) -> *mut VipsOperation;
4958}
4959unsafe extern "C" {
4960 pub fn vips_cache_print();
4961}
4962unsafe extern "C" {
4963 pub fn vips_cache_set_max(max: core::ffi::c_int);
4964}
4965unsafe extern "C" {
4966 pub fn vips_cache_set_max_mem(max_mem: usize);
4967}
4968unsafe extern "C" {
4969 pub fn vips_cache_get_max() -> core::ffi::c_int;
4970}
4971unsafe extern "C" {
4972 pub fn vips_cache_get_size() -> core::ffi::c_int;
4973}
4974unsafe extern "C" {
4975 pub fn vips_cache_get_max_mem() -> usize;
4976}
4977unsafe extern "C" {
4978 pub fn vips_cache_get_max_files() -> core::ffi::c_int;
4979}
4980unsafe extern "C" {
4981 pub fn vips_cache_set_max_files(max_files: core::ffi::c_int);
4982}
4983unsafe extern "C" {
4984 pub fn vips_cache_set_dump(dump: gboolean);
4985}
4986unsafe extern "C" {
4987 pub fn vips_cache_set_trace(trace: gboolean);
4988}
4989unsafe extern "C" {
4990 pub fn vips_concurrency_set(concurrency: core::ffi::c_int);
4991}
4992unsafe extern "C" {
4993 pub fn vips_concurrency_get() -> core::ffi::c_int;
4994}
4995unsafe extern "C" {
4996 pub fn vips_operation_block_set(name: *const core::ffi::c_char, state: gboolean);
4997}
4998#[repr(C)]
4999#[derive(Debug, Copy, Clone)]
5000pub struct _VipsForeign {
5001 pub parent_object: VipsOperation,
5002}
5003pub type VipsForeign = _VipsForeign;
5004#[repr(C)]
5005#[derive(Debug, Copy, Clone)]
5006pub struct _VipsForeignClass {
5007 pub parent_class: VipsOperationClass,
5008 pub priority: core::ffi::c_int,
5009 pub suffs: *mut *const core::ffi::c_char,
5010}
5011pub type VipsForeignClass = _VipsForeignClass;
5012unsafe extern "C" {
5013 pub fn vips_foreign_get_type() -> GType;
5014}
5015unsafe extern "C" {
5016 pub fn vips_foreign_map(
5017 base: *const core::ffi::c_char,
5018 fn_: VipsSListMap2Fn,
5019 a: *mut core::ffi::c_void,
5020 b: *mut core::ffi::c_void,
5021 ) -> *mut core::ffi::c_void;
5022}
5023#[repr(u32)]
5024#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5025pub enum VipsForeignFlags {
5026 VIPS_FOREIGN_NONE = 0,
5027 VIPS_FOREIGN_PARTIAL = 1,
5028 VIPS_FOREIGN_BIGENDIAN = 2,
5029 VIPS_FOREIGN_SEQUENTIAL = 4,
5030 VIPS_FOREIGN_ALL = 7,
5031}
5032#[repr(u32)]
5033#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5034pub enum VipsFailOn {
5035 VIPS_FAIL_ON_NONE = 0,
5036 VIPS_FAIL_ON_TRUNCATED = 1,
5037 VIPS_FAIL_ON_ERROR = 2,
5038 VIPS_FAIL_ON_WARNING = 3,
5039 VIPS_FAIL_ON_LAST = 4,
5040}
5041#[repr(C)]
5042#[derive(Debug, Copy, Clone)]
5043pub struct _VipsForeignLoad {
5044 pub parent_object: VipsForeign,
5045 pub memory: gboolean,
5046 pub access: VipsAccess,
5047 pub flags: VipsForeignFlags,
5048 pub fail_on: VipsFailOn,
5049 pub fail: gboolean,
5050 pub sequential: gboolean,
5051 pub out: *mut VipsImage,
5052 pub real: *mut VipsImage,
5053 pub nocache: gboolean,
5054 pub disc: gboolean,
5055 pub error: gboolean,
5056 pub revalidate: gboolean,
5057}
5058pub type VipsForeignLoad = _VipsForeignLoad;
5059#[repr(C)]
5060#[derive(Debug, Copy, Clone)]
5061pub struct _VipsForeignLoadClass {
5062 pub parent_class: VipsForeignClass,
5063 pub is_a: ::core::option::Option<
5064 unsafe extern "C" fn(filename: *const core::ffi::c_char) -> gboolean,
5065 >,
5066 pub is_a_buffer: ::core::option::Option<
5067 unsafe extern "C" fn(data: *const core::ffi::c_void, size: usize) -> gboolean,
5068 >,
5069 pub is_a_source:
5070 ::core::option::Option<unsafe extern "C" fn(source: *mut VipsSource) -> gboolean>,
5071 pub get_flags_filename: ::core::option::Option<
5072 unsafe extern "C" fn(filename: *const core::ffi::c_char) -> VipsForeignFlags,
5073 >,
5074 pub get_flags: ::core::option::Option<
5075 unsafe extern "C" fn(load: *mut VipsForeignLoad) -> VipsForeignFlags,
5076 >,
5077 pub header: ::core::option::Option<
5078 unsafe extern "C" fn(load: *mut VipsForeignLoad) -> core::ffi::c_int,
5079 >,
5080 pub load: ::core::option::Option<
5081 unsafe extern "C" fn(load: *mut VipsForeignLoad) -> core::ffi::c_int,
5082 >,
5083}
5084pub type VipsForeignLoadClass = _VipsForeignLoadClass;
5085unsafe extern "C" {
5086 pub fn vips_foreign_load_get_type() -> GType;
5087}
5088unsafe extern "C" {
5089 pub fn vips_foreign_find_load(filename: *const core::ffi::c_char) -> *const core::ffi::c_char;
5090}
5091unsafe extern "C" {
5092 pub fn vips_foreign_find_load_buffer(
5093 data: *const core::ffi::c_void,
5094 size: usize,
5095 ) -> *const core::ffi::c_char;
5096}
5097unsafe extern "C" {
5098 pub fn vips_foreign_find_load_source(source: *mut VipsSource) -> *const core::ffi::c_char;
5099}
5100unsafe extern "C" {
5101 pub fn vips_foreign_flags(
5102 loader: *const core::ffi::c_char,
5103 filename: *const core::ffi::c_char,
5104 ) -> VipsForeignFlags;
5105}
5106unsafe extern "C" {
5107 pub fn vips_foreign_is_a(
5108 loader: *const core::ffi::c_char,
5109 filename: *const core::ffi::c_char,
5110 ) -> gboolean;
5111}
5112unsafe extern "C" {
5113 pub fn vips_foreign_is_a_buffer(
5114 loader: *const core::ffi::c_char,
5115 data: *const core::ffi::c_void,
5116 size: usize,
5117 ) -> gboolean;
5118}
5119unsafe extern "C" {
5120 pub fn vips_foreign_is_a_source(
5121 loader: *const core::ffi::c_char,
5122 source: *mut VipsSource,
5123 ) -> gboolean;
5124}
5125unsafe extern "C" {
5126 pub fn vips_foreign_load_invalidate(image: *mut VipsImage);
5127}
5128#[repr(u32)]
5129#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5130pub enum VipsForeignSaveable {
5131 VIPS_FOREIGN_SAVEABLE_ANY = 0,
5132 VIPS_FOREIGN_SAVEABLE_MONO = 1,
5133 VIPS_FOREIGN_SAVEABLE_RGB = 2,
5134 VIPS_FOREIGN_SAVEABLE_CMYK = 4,
5135 VIPS_FOREIGN_SAVEABLE_ALPHA = 8,
5136 VIPS_FOREIGN_SAVEABLE_ALL = 15,
5137}
5138#[repr(u32)]
5139#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5140pub enum VipsForeignCoding {
5141 VIPS_FOREIGN_CODING_NONE = 1,
5142 VIPS_FOREIGN_CODING_LABQ = 2,
5143 VIPS_FOREIGN_CODING_RAD = 4,
5144 VIPS_FOREIGN_CODING_ALL = 7,
5145}
5146#[repr(u32)]
5147#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5148pub enum VipsForeignKeep {
5149 VIPS_FOREIGN_KEEP_NONE = 0,
5150 VIPS_FOREIGN_KEEP_EXIF = 1,
5151 VIPS_FOREIGN_KEEP_XMP = 2,
5152 VIPS_FOREIGN_KEEP_IPTC = 4,
5153 VIPS_FOREIGN_KEEP_ICC = 8,
5154 VIPS_FOREIGN_KEEP_OTHER = 16,
5155 VIPS_FOREIGN_KEEP_GAINMAP = 32,
5156 VIPS_FOREIGN_KEEP_ALL = 63,
5157}
5158#[repr(C)]
5159#[derive(Debug, Copy, Clone)]
5160pub struct _VipsForeignSave {
5161 pub parent_object: VipsForeign,
5162 pub strip: gboolean,
5163 pub keep: VipsForeignKeep,
5164 pub profile: *mut core::ffi::c_char,
5165 pub background: *mut VipsArrayDouble,
5166 pub page_height: core::ffi::c_int,
5167 pub in_: *mut VipsImage,
5168 pub ready: *mut VipsImage,
5169}
5170pub type VipsForeignSave = _VipsForeignSave;
5171#[repr(C)]
5172#[derive(Debug, Copy, Clone)]
5173pub struct _VipsForeignSaveClass {
5174 pub parent_class: VipsForeignClass,
5175 pub saveable: VipsForeignSaveable,
5176 pub format_table: *mut VipsBandFormat,
5177 pub coding: VipsForeignCoding,
5178}
5179pub type VipsForeignSaveClass = _VipsForeignSaveClass;
5180unsafe extern "C" {
5181 pub fn vips_foreign_save_get_type() -> GType;
5182}
5183unsafe extern "C" {
5184 pub fn vips_foreign_find_save(filename: *const core::ffi::c_char) -> *const core::ffi::c_char;
5185}
5186unsafe extern "C" {
5187 pub fn vips_foreign_get_suffixes() -> *mut *mut gchar;
5188}
5189unsafe extern "C" {
5190 pub fn vips_foreign_find_save_buffer(
5191 suffix: *const core::ffi::c_char,
5192 ) -> *const core::ffi::c_char;
5193}
5194unsafe extern "C" {
5195 pub fn vips_foreign_find_save_target(
5196 suffix: *const core::ffi::c_char,
5197 ) -> *const core::ffi::c_char;
5198}
5199unsafe extern "C" {
5200 pub fn vips_vipsload(
5201 filename: *const core::ffi::c_char,
5202 out: *mut *mut VipsImage,
5203 ...
5204 ) -> core::ffi::c_int;
5205}
5206unsafe extern "C" {
5207 pub fn vips_vipsload_source(
5208 source: *mut VipsSource,
5209 out: *mut *mut VipsImage,
5210 ...
5211 ) -> core::ffi::c_int;
5212}
5213unsafe extern "C" {
5214 pub fn vips_vipssave(
5215 in_: *mut VipsImage,
5216 filename: *const core::ffi::c_char,
5217 ...
5218 ) -> core::ffi::c_int;
5219}
5220unsafe extern "C" {
5221 pub fn vips_vipssave_target(
5222 in_: *mut VipsImage,
5223 target: *mut VipsTarget,
5224 ...
5225 ) -> core::ffi::c_int;
5226}
5227unsafe extern "C" {
5228 pub fn vips_openslideload(
5229 filename: *const core::ffi::c_char,
5230 out: *mut *mut VipsImage,
5231 ...
5232 ) -> core::ffi::c_int;
5233}
5234unsafe extern "C" {
5235 pub fn vips_openslideload_source(
5236 source: *mut VipsSource,
5237 out: *mut *mut VipsImage,
5238 ...
5239 ) -> core::ffi::c_int;
5240}
5241#[repr(u32)]
5242#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5243pub enum VipsForeignSubsample {
5244 VIPS_FOREIGN_SUBSAMPLE_AUTO = 0,
5245 VIPS_FOREIGN_SUBSAMPLE_ON = 1,
5246 VIPS_FOREIGN_SUBSAMPLE_OFF = 2,
5247 VIPS_FOREIGN_SUBSAMPLE_LAST = 3,
5248}
5249unsafe extern "C" {
5250 pub fn vips_jpegload(
5251 filename: *const core::ffi::c_char,
5252 out: *mut *mut VipsImage,
5253 ...
5254 ) -> core::ffi::c_int;
5255}
5256unsafe extern "C" {
5257 pub fn vips_jpegload_buffer(
5258 buf: *mut core::ffi::c_void,
5259 len: usize,
5260 out: *mut *mut VipsImage,
5261 ...
5262 ) -> core::ffi::c_int;
5263}
5264unsafe extern "C" {
5265 pub fn vips_jpegload_source(
5266 source: *mut VipsSource,
5267 out: *mut *mut VipsImage,
5268 ...
5269 ) -> core::ffi::c_int;
5270}
5271unsafe extern "C" {
5272 pub fn vips_jpegsave_target(
5273 in_: *mut VipsImage,
5274 target: *mut VipsTarget,
5275 ...
5276 ) -> core::ffi::c_int;
5277}
5278unsafe extern "C" {
5279 pub fn vips_jpegsave(
5280 in_: *mut VipsImage,
5281 filename: *const core::ffi::c_char,
5282 ...
5283 ) -> core::ffi::c_int;
5284}
5285unsafe extern "C" {
5286 pub fn vips_jpegsave_buffer(
5287 in_: *mut VipsImage,
5288 buf: *mut *mut core::ffi::c_void,
5289 len: *mut usize,
5290 ...
5291 ) -> core::ffi::c_int;
5292}
5293unsafe extern "C" {
5294 pub fn vips_jpegsave_mime(in_: *mut VipsImage, ...) -> core::ffi::c_int;
5295}
5296#[repr(u32)]
5297#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5298pub enum VipsForeignWebpPreset {
5299 VIPS_FOREIGN_WEBP_PRESET_DEFAULT = 0,
5300 VIPS_FOREIGN_WEBP_PRESET_PICTURE = 1,
5301 VIPS_FOREIGN_WEBP_PRESET_PHOTO = 2,
5302 VIPS_FOREIGN_WEBP_PRESET_DRAWING = 3,
5303 VIPS_FOREIGN_WEBP_PRESET_ICON = 4,
5304 VIPS_FOREIGN_WEBP_PRESET_TEXT = 5,
5305 VIPS_FOREIGN_WEBP_PRESET_LAST = 6,
5306}
5307unsafe extern "C" {
5308 pub fn vips_webpload_source(
5309 source: *mut VipsSource,
5310 out: *mut *mut VipsImage,
5311 ...
5312 ) -> core::ffi::c_int;
5313}
5314unsafe extern "C" {
5315 pub fn vips_webpload(
5316 filename: *const core::ffi::c_char,
5317 out: *mut *mut VipsImage,
5318 ...
5319 ) -> core::ffi::c_int;
5320}
5321unsafe extern "C" {
5322 pub fn vips_webpload_buffer(
5323 buf: *mut core::ffi::c_void,
5324 len: usize,
5325 out: *mut *mut VipsImage,
5326 ...
5327 ) -> core::ffi::c_int;
5328}
5329unsafe extern "C" {
5330 pub fn vips_webpsave_target(
5331 in_: *mut VipsImage,
5332 target: *mut VipsTarget,
5333 ...
5334 ) -> core::ffi::c_int;
5335}
5336unsafe extern "C" {
5337 pub fn vips_webpsave(
5338 in_: *mut VipsImage,
5339 filename: *const core::ffi::c_char,
5340 ...
5341 ) -> core::ffi::c_int;
5342}
5343unsafe extern "C" {
5344 pub fn vips_webpsave_buffer(
5345 in_: *mut VipsImage,
5346 buf: *mut *mut core::ffi::c_void,
5347 len: *mut usize,
5348 ...
5349 ) -> core::ffi::c_int;
5350}
5351unsafe extern "C" {
5352 pub fn vips_webpsave_mime(in_: *mut VipsImage, ...) -> core::ffi::c_int;
5353}
5354#[repr(u32)]
5355#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5356pub enum VipsForeignTiffCompression {
5357 VIPS_FOREIGN_TIFF_COMPRESSION_NONE = 0,
5358 VIPS_FOREIGN_TIFF_COMPRESSION_JPEG = 1,
5359 VIPS_FOREIGN_TIFF_COMPRESSION_DEFLATE = 2,
5360 VIPS_FOREIGN_TIFF_COMPRESSION_PACKBITS = 3,
5361 VIPS_FOREIGN_TIFF_COMPRESSION_CCITTFAX4 = 4,
5362 VIPS_FOREIGN_TIFF_COMPRESSION_LZW = 5,
5363 VIPS_FOREIGN_TIFF_COMPRESSION_WEBP = 6,
5364 VIPS_FOREIGN_TIFF_COMPRESSION_ZSTD = 7,
5365 VIPS_FOREIGN_TIFF_COMPRESSION_JP2K = 8,
5366 VIPS_FOREIGN_TIFF_COMPRESSION_LAST = 9,
5367}
5368#[repr(u32)]
5369#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5370pub enum VipsForeignTiffPredictor {
5371 VIPS_FOREIGN_TIFF_PREDICTOR_NONE = 1,
5372 VIPS_FOREIGN_TIFF_PREDICTOR_HORIZONTAL = 2,
5373 VIPS_FOREIGN_TIFF_PREDICTOR_FLOAT = 3,
5374 VIPS_FOREIGN_TIFF_PREDICTOR_LAST = 4,
5375}
5376#[repr(u32)]
5377#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5378pub enum VipsForeignTiffResunit {
5379 VIPS_FOREIGN_TIFF_RESUNIT_CM = 0,
5380 VIPS_FOREIGN_TIFF_RESUNIT_INCH = 1,
5381 VIPS_FOREIGN_TIFF_RESUNIT_LAST = 2,
5382}
5383unsafe extern "C" {
5384 pub fn vips_tiffload(
5385 filename: *const core::ffi::c_char,
5386 out: *mut *mut VipsImage,
5387 ...
5388 ) -> core::ffi::c_int;
5389}
5390unsafe extern "C" {
5391 pub fn vips_tiffload_buffer(
5392 buf: *mut core::ffi::c_void,
5393 len: usize,
5394 out: *mut *mut VipsImage,
5395 ...
5396 ) -> core::ffi::c_int;
5397}
5398unsafe extern "C" {
5399 pub fn vips_tiffload_source(
5400 source: *mut VipsSource,
5401 out: *mut *mut VipsImage,
5402 ...
5403 ) -> core::ffi::c_int;
5404}
5405unsafe extern "C" {
5406 pub fn vips_tiffsave(
5407 in_: *mut VipsImage,
5408 filename: *const core::ffi::c_char,
5409 ...
5410 ) -> core::ffi::c_int;
5411}
5412unsafe extern "C" {
5413 pub fn vips_tiffsave_buffer(
5414 in_: *mut VipsImage,
5415 buf: *mut *mut core::ffi::c_void,
5416 len: *mut usize,
5417 ...
5418 ) -> core::ffi::c_int;
5419}
5420unsafe extern "C" {
5421 pub fn vips_tiffsave_target(
5422 in_: *mut VipsImage,
5423 target: *mut VipsTarget,
5424 ...
5425 ) -> core::ffi::c_int;
5426}
5427unsafe extern "C" {
5428 pub fn vips_openexrload(
5429 filename: *const core::ffi::c_char,
5430 out: *mut *mut VipsImage,
5431 ...
5432 ) -> core::ffi::c_int;
5433}
5434unsafe extern "C" {
5435 pub fn vips_fitsload(
5436 filename: *const core::ffi::c_char,
5437 out: *mut *mut VipsImage,
5438 ...
5439 ) -> core::ffi::c_int;
5440}
5441unsafe extern "C" {
5442 pub fn vips_fitsload_source(
5443 source: *mut VipsSource,
5444 out: *mut *mut VipsImage,
5445 ...
5446 ) -> core::ffi::c_int;
5447}
5448unsafe extern "C" {
5449 pub fn vips_fitssave(
5450 in_: *mut VipsImage,
5451 filename: *const core::ffi::c_char,
5452 ...
5453 ) -> core::ffi::c_int;
5454}
5455unsafe extern "C" {
5456 pub fn vips_analyzeload(
5457 filename: *const core::ffi::c_char,
5458 out: *mut *mut VipsImage,
5459 ...
5460 ) -> core::ffi::c_int;
5461}
5462unsafe extern "C" {
5463 pub fn vips_rawload(
5464 filename: *const core::ffi::c_char,
5465 out: *mut *mut VipsImage,
5466 width: core::ffi::c_int,
5467 height: core::ffi::c_int,
5468 bands: core::ffi::c_int,
5469 ...
5470 ) -> core::ffi::c_int;
5471}
5472unsafe extern "C" {
5473 pub fn vips_rawsave(
5474 in_: *mut VipsImage,
5475 filename: *const core::ffi::c_char,
5476 ...
5477 ) -> core::ffi::c_int;
5478}
5479unsafe extern "C" {
5480 pub fn vips_rawsave_buffer(
5481 in_: *mut VipsImage,
5482 buf: *mut *mut core::ffi::c_void,
5483 len: *mut usize,
5484 ...
5485 ) -> core::ffi::c_int;
5486}
5487unsafe extern "C" {
5488 pub fn vips_rawsave_target(
5489 in_: *mut VipsImage,
5490 target: *mut VipsTarget,
5491 ...
5492 ) -> core::ffi::c_int;
5493}
5494unsafe extern "C" {
5495 pub fn vips_csvload(
5496 filename: *const core::ffi::c_char,
5497 out: *mut *mut VipsImage,
5498 ...
5499 ) -> core::ffi::c_int;
5500}
5501unsafe extern "C" {
5502 pub fn vips_csvload_source(
5503 source: *mut VipsSource,
5504 out: *mut *mut VipsImage,
5505 ...
5506 ) -> core::ffi::c_int;
5507}
5508unsafe extern "C" {
5509 pub fn vips_csvsave(
5510 in_: *mut VipsImage,
5511 filename: *const core::ffi::c_char,
5512 ...
5513 ) -> core::ffi::c_int;
5514}
5515unsafe extern "C" {
5516 pub fn vips_csvsave_target(
5517 in_: *mut VipsImage,
5518 target: *mut VipsTarget,
5519 ...
5520 ) -> core::ffi::c_int;
5521}
5522unsafe extern "C" {
5523 pub fn vips_matrixload(
5524 filename: *const core::ffi::c_char,
5525 out: *mut *mut VipsImage,
5526 ...
5527 ) -> core::ffi::c_int;
5528}
5529unsafe extern "C" {
5530 pub fn vips_matrixload_source(
5531 source: *mut VipsSource,
5532 out: *mut *mut VipsImage,
5533 ...
5534 ) -> core::ffi::c_int;
5535}
5536unsafe extern "C" {
5537 pub fn vips_matrixsave(
5538 in_: *mut VipsImage,
5539 filename: *const core::ffi::c_char,
5540 ...
5541 ) -> core::ffi::c_int;
5542}
5543unsafe extern "C" {
5544 pub fn vips_matrixsave_target(
5545 in_: *mut VipsImage,
5546 target: *mut VipsTarget,
5547 ...
5548 ) -> core::ffi::c_int;
5549}
5550unsafe extern "C" {
5551 pub fn vips_matrixprint(in_: *mut VipsImage, ...) -> core::ffi::c_int;
5552}
5553unsafe extern "C" {
5554 pub fn vips_magickload(
5555 filename: *const core::ffi::c_char,
5556 out: *mut *mut VipsImage,
5557 ...
5558 ) -> core::ffi::c_int;
5559}
5560unsafe extern "C" {
5561 pub fn vips_magickload_buffer(
5562 buf: *mut core::ffi::c_void,
5563 len: usize,
5564 out: *mut *mut VipsImage,
5565 ...
5566 ) -> core::ffi::c_int;
5567}
5568unsafe extern "C" {
5569 pub fn vips_magickload_source(
5570 source: *mut VipsSource,
5571 out: *mut *mut VipsImage,
5572 ...
5573 ) -> core::ffi::c_int;
5574}
5575unsafe extern "C" {
5576 pub fn vips_magicksave(
5577 in_: *mut VipsImage,
5578 filename: *const core::ffi::c_char,
5579 ...
5580 ) -> core::ffi::c_int;
5581}
5582unsafe extern "C" {
5583 pub fn vips_magicksave_buffer(
5584 in_: *mut VipsImage,
5585 buf: *mut *mut core::ffi::c_void,
5586 len: *mut usize,
5587 ...
5588 ) -> core::ffi::c_int;
5589}
5590#[repr(u32)]
5591#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5592pub enum VipsForeignPngFilter {
5593 VIPS_FOREIGN_PNG_FILTER_NONE = 8,
5594 VIPS_FOREIGN_PNG_FILTER_SUB = 16,
5595 VIPS_FOREIGN_PNG_FILTER_UP = 32,
5596 VIPS_FOREIGN_PNG_FILTER_AVG = 64,
5597 VIPS_FOREIGN_PNG_FILTER_PAETH = 128,
5598 VIPS_FOREIGN_PNG_FILTER_ALL = 248,
5599}
5600unsafe extern "C" {
5601 pub fn vips_pngload_source(
5602 source: *mut VipsSource,
5603 out: *mut *mut VipsImage,
5604 ...
5605 ) -> core::ffi::c_int;
5606}
5607unsafe extern "C" {
5608 pub fn vips_pngload(
5609 filename: *const core::ffi::c_char,
5610 out: *mut *mut VipsImage,
5611 ...
5612 ) -> core::ffi::c_int;
5613}
5614unsafe extern "C" {
5615 pub fn vips_pngload_buffer(
5616 buf: *mut core::ffi::c_void,
5617 len: usize,
5618 out: *mut *mut VipsImage,
5619 ...
5620 ) -> core::ffi::c_int;
5621}
5622unsafe extern "C" {
5623 pub fn vips_pngsave_target(
5624 in_: *mut VipsImage,
5625 target: *mut VipsTarget,
5626 ...
5627 ) -> core::ffi::c_int;
5628}
5629unsafe extern "C" {
5630 pub fn vips_pngsave(
5631 in_: *mut VipsImage,
5632 filename: *const core::ffi::c_char,
5633 ...
5634 ) -> core::ffi::c_int;
5635}
5636unsafe extern "C" {
5637 pub fn vips_pngsave_buffer(
5638 in_: *mut VipsImage,
5639 buf: *mut *mut core::ffi::c_void,
5640 len: *mut usize,
5641 ...
5642 ) -> core::ffi::c_int;
5643}
5644#[repr(u32)]
5645#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5646pub enum VipsForeignPpmFormat {
5647 VIPS_FOREIGN_PPM_FORMAT_PBM = 0,
5648 VIPS_FOREIGN_PPM_FORMAT_PGM = 1,
5649 VIPS_FOREIGN_PPM_FORMAT_PPM = 2,
5650 VIPS_FOREIGN_PPM_FORMAT_PFM = 3,
5651 VIPS_FOREIGN_PPM_FORMAT_PNM = 4,
5652 VIPS_FOREIGN_PPM_FORMAT_LAST = 5,
5653}
5654unsafe extern "C" {
5655 pub fn vips_ppmload(
5656 filename: *const core::ffi::c_char,
5657 out: *mut *mut VipsImage,
5658 ...
5659 ) -> core::ffi::c_int;
5660}
5661unsafe extern "C" {
5662 pub fn vips_ppmload_buffer(
5663 buf: *mut core::ffi::c_void,
5664 len: usize,
5665 out: *mut *mut VipsImage,
5666 ...
5667 ) -> core::ffi::c_int;
5668}
5669unsafe extern "C" {
5670 pub fn vips_ppmload_source(
5671 source: *mut VipsSource,
5672 out: *mut *mut VipsImage,
5673 ...
5674 ) -> core::ffi::c_int;
5675}
5676unsafe extern "C" {
5677 pub fn vips_ppmsave(
5678 in_: *mut VipsImage,
5679 filename: *const core::ffi::c_char,
5680 ...
5681 ) -> core::ffi::c_int;
5682}
5683unsafe extern "C" {
5684 pub fn vips_ppmsave_target(
5685 in_: *mut VipsImage,
5686 target: *mut VipsTarget,
5687 ...
5688 ) -> core::ffi::c_int;
5689}
5690unsafe extern "C" {
5691 pub fn vips_matload(
5692 filename: *const core::ffi::c_char,
5693 out: *mut *mut VipsImage,
5694 ...
5695 ) -> core::ffi::c_int;
5696}
5697unsafe extern "C" {
5698 pub fn vips_radload_source(
5699 source: *mut VipsSource,
5700 out: *mut *mut VipsImage,
5701 ...
5702 ) -> core::ffi::c_int;
5703}
5704unsafe extern "C" {
5705 pub fn vips_radload(
5706 filename: *const core::ffi::c_char,
5707 out: *mut *mut VipsImage,
5708 ...
5709 ) -> core::ffi::c_int;
5710}
5711unsafe extern "C" {
5712 pub fn vips_radload_buffer(
5713 buf: *mut core::ffi::c_void,
5714 len: usize,
5715 out: *mut *mut VipsImage,
5716 ...
5717 ) -> core::ffi::c_int;
5718}
5719unsafe extern "C" {
5720 pub fn vips_radsave(
5721 in_: *mut VipsImage,
5722 filename: *const core::ffi::c_char,
5723 ...
5724 ) -> core::ffi::c_int;
5725}
5726unsafe extern "C" {
5727 pub fn vips_radsave_buffer(
5728 in_: *mut VipsImage,
5729 buf: *mut *mut core::ffi::c_void,
5730 len: *mut usize,
5731 ...
5732 ) -> core::ffi::c_int;
5733}
5734unsafe extern "C" {
5735 pub fn vips_radsave_target(
5736 in_: *mut VipsImage,
5737 target: *mut VipsTarget,
5738 ...
5739 ) -> core::ffi::c_int;
5740}
5741#[repr(u32)]
5742#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5743pub enum VipsForeignPdfPageBox {
5744 VIPS_FOREIGN_PDF_PAGE_BOX_MEDIA = 0,
5745 VIPS_FOREIGN_PDF_PAGE_BOX_CROP = 1,
5746 VIPS_FOREIGN_PDF_PAGE_BOX_TRIM = 2,
5747 VIPS_FOREIGN_PDF_PAGE_BOX_BLEED = 3,
5748 VIPS_FOREIGN_PDF_PAGE_BOX_ART = 4,
5749 VIPS_FOREIGN_PDF_PAGE_BOX_LAST = 5,
5750}
5751unsafe extern "C" {
5752 pub fn vips_pdfload(
5753 filename: *const core::ffi::c_char,
5754 out: *mut *mut VipsImage,
5755 ...
5756 ) -> core::ffi::c_int;
5757}
5758unsafe extern "C" {
5759 pub fn vips_pdfload_buffer(
5760 buf: *mut core::ffi::c_void,
5761 len: usize,
5762 out: *mut *mut VipsImage,
5763 ...
5764 ) -> core::ffi::c_int;
5765}
5766unsafe extern "C" {
5767 pub fn vips_pdfload_source(
5768 source: *mut VipsSource,
5769 out: *mut *mut VipsImage,
5770 ...
5771 ) -> core::ffi::c_int;
5772}
5773unsafe extern "C" {
5774 pub fn vips_svgload(
5775 filename: *const core::ffi::c_char,
5776 out: *mut *mut VipsImage,
5777 ...
5778 ) -> core::ffi::c_int;
5779}
5780unsafe extern "C" {
5781 pub fn vips_svgload_buffer(
5782 buf: *mut core::ffi::c_void,
5783 len: usize,
5784 out: *mut *mut VipsImage,
5785 ...
5786 ) -> core::ffi::c_int;
5787}
5788unsafe extern "C" {
5789 pub fn vips_svgload_string(
5790 str_: *const core::ffi::c_char,
5791 out: *mut *mut VipsImage,
5792 ...
5793 ) -> core::ffi::c_int;
5794}
5795unsafe extern "C" {
5796 pub fn vips_svgload_source(
5797 source: *mut VipsSource,
5798 out: *mut *mut VipsImage,
5799 ...
5800 ) -> core::ffi::c_int;
5801}
5802unsafe extern "C" {
5803 pub fn vips_gifload(
5804 filename: *const core::ffi::c_char,
5805 out: *mut *mut VipsImage,
5806 ...
5807 ) -> core::ffi::c_int;
5808}
5809unsafe extern "C" {
5810 pub fn vips_gifload_buffer(
5811 buf: *mut core::ffi::c_void,
5812 len: usize,
5813 out: *mut *mut VipsImage,
5814 ...
5815 ) -> core::ffi::c_int;
5816}
5817unsafe extern "C" {
5818 pub fn vips_gifload_source(
5819 source: *mut VipsSource,
5820 out: *mut *mut VipsImage,
5821 ...
5822 ) -> core::ffi::c_int;
5823}
5824unsafe extern "C" {
5825 pub fn vips_gifsave(
5826 in_: *mut VipsImage,
5827 filename: *const core::ffi::c_char,
5828 ...
5829 ) -> core::ffi::c_int;
5830}
5831unsafe extern "C" {
5832 pub fn vips_gifsave_buffer(
5833 in_: *mut VipsImage,
5834 buf: *mut *mut core::ffi::c_void,
5835 len: *mut usize,
5836 ...
5837 ) -> core::ffi::c_int;
5838}
5839unsafe extern "C" {
5840 pub fn vips_gifsave_target(
5841 in_: *mut VipsImage,
5842 target: *mut VipsTarget,
5843 ...
5844 ) -> core::ffi::c_int;
5845}
5846unsafe extern "C" {
5847 pub fn vips_dcrawload(
5848 filename: *const core::ffi::c_char,
5849 out: *mut *mut VipsImage,
5850 ...
5851 ) -> core::ffi::c_int;
5852}
5853unsafe extern "C" {
5854 pub fn vips_dcrawload_buffer(
5855 buf: *mut core::ffi::c_void,
5856 len: usize,
5857 out: *mut *mut VipsImage,
5858 ...
5859 ) -> core::ffi::c_int;
5860}
5861unsafe extern "C" {
5862 pub fn vips_dcrawload_source(
5863 source: *mut VipsSource,
5864 out: *mut *mut VipsImage,
5865 ...
5866 ) -> core::ffi::c_int;
5867}
5868unsafe extern "C" {
5869 pub fn vips_uhdrload(
5870 filename: *const core::ffi::c_char,
5871 out: *mut *mut VipsImage,
5872 ...
5873 ) -> core::ffi::c_int;
5874}
5875unsafe extern "C" {
5876 pub fn vips_uhdrload_buffer(
5877 buf: *mut core::ffi::c_void,
5878 len: usize,
5879 out: *mut *mut VipsImage,
5880 ...
5881 ) -> core::ffi::c_int;
5882}
5883unsafe extern "C" {
5884 pub fn vips_uhdrload_source(
5885 source: *mut VipsSource,
5886 out: *mut *mut VipsImage,
5887 ...
5888 ) -> core::ffi::c_int;
5889}
5890unsafe extern "C" {
5891 pub fn vips_uhdrsave(
5892 in_: *mut VipsImage,
5893 filename: *const core::ffi::c_char,
5894 ...
5895 ) -> core::ffi::c_int;
5896}
5897unsafe extern "C" {
5898 pub fn vips_uhdrsave_buffer(
5899 in_: *mut VipsImage,
5900 buf: *mut *mut core::ffi::c_void,
5901 len: *mut usize,
5902 ...
5903 ) -> core::ffi::c_int;
5904}
5905unsafe extern "C" {
5906 pub fn vips_uhdrsave_target(
5907 in_: *mut VipsImage,
5908 target: *mut VipsTarget,
5909 ...
5910 ) -> core::ffi::c_int;
5911}
5912unsafe extern "C" {
5913 pub fn vips_heifload(
5914 filename: *const core::ffi::c_char,
5915 out: *mut *mut VipsImage,
5916 ...
5917 ) -> core::ffi::c_int;
5918}
5919unsafe extern "C" {
5920 pub fn vips_heifload_buffer(
5921 buf: *mut core::ffi::c_void,
5922 len: usize,
5923 out: *mut *mut VipsImage,
5924 ...
5925 ) -> core::ffi::c_int;
5926}
5927unsafe extern "C" {
5928 pub fn vips_heifload_source(
5929 source: *mut VipsSource,
5930 out: *mut *mut VipsImage,
5931 ...
5932 ) -> core::ffi::c_int;
5933}
5934unsafe extern "C" {
5935 pub fn vips_heifsave(
5936 in_: *mut VipsImage,
5937 filename: *const core::ffi::c_char,
5938 ...
5939 ) -> core::ffi::c_int;
5940}
5941unsafe extern "C" {
5942 pub fn vips_heifsave_buffer(
5943 in_: *mut VipsImage,
5944 buf: *mut *mut core::ffi::c_void,
5945 len: *mut usize,
5946 ...
5947 ) -> core::ffi::c_int;
5948}
5949unsafe extern "C" {
5950 pub fn vips_heifsave_target(
5951 in_: *mut VipsImage,
5952 target: *mut VipsTarget,
5953 ...
5954 ) -> core::ffi::c_int;
5955}
5956unsafe extern "C" {
5957 pub fn vips_niftiload(
5958 filename: *const core::ffi::c_char,
5959 out: *mut *mut VipsImage,
5960 ...
5961 ) -> core::ffi::c_int;
5962}
5963unsafe extern "C" {
5964 pub fn vips_niftiload_source(
5965 source: *mut VipsSource,
5966 out: *mut *mut VipsImage,
5967 ...
5968 ) -> core::ffi::c_int;
5969}
5970unsafe extern "C" {
5971 pub fn vips_niftisave(
5972 in_: *mut VipsImage,
5973 filename: *const core::ffi::c_char,
5974 ...
5975 ) -> core::ffi::c_int;
5976}
5977unsafe extern "C" {
5978 pub fn vips_jp2kload(
5979 filename: *const core::ffi::c_char,
5980 out: *mut *mut VipsImage,
5981 ...
5982 ) -> core::ffi::c_int;
5983}
5984unsafe extern "C" {
5985 pub fn vips_jp2kload_buffer(
5986 buf: *mut core::ffi::c_void,
5987 len: usize,
5988 out: *mut *mut VipsImage,
5989 ...
5990 ) -> core::ffi::c_int;
5991}
5992unsafe extern "C" {
5993 pub fn vips_jp2kload_source(
5994 source: *mut VipsSource,
5995 out: *mut *mut VipsImage,
5996 ...
5997 ) -> core::ffi::c_int;
5998}
5999unsafe extern "C" {
6000 pub fn vips_jp2ksave(
6001 in_: *mut VipsImage,
6002 filename: *const core::ffi::c_char,
6003 ...
6004 ) -> core::ffi::c_int;
6005}
6006unsafe extern "C" {
6007 pub fn vips_jp2ksave_buffer(
6008 in_: *mut VipsImage,
6009 buf: *mut *mut core::ffi::c_void,
6010 len: *mut usize,
6011 ...
6012 ) -> core::ffi::c_int;
6013}
6014unsafe extern "C" {
6015 pub fn vips_jp2ksave_target(
6016 in_: *mut VipsImage,
6017 target: *mut VipsTarget,
6018 ...
6019 ) -> core::ffi::c_int;
6020}
6021unsafe extern "C" {
6022 pub fn vips_jxlload_source(
6023 source: *mut VipsSource,
6024 out: *mut *mut VipsImage,
6025 ...
6026 ) -> core::ffi::c_int;
6027}
6028unsafe extern "C" {
6029 pub fn vips_jxlload_buffer(
6030 buf: *mut core::ffi::c_void,
6031 len: usize,
6032 out: *mut *mut VipsImage,
6033 ...
6034 ) -> core::ffi::c_int;
6035}
6036unsafe extern "C" {
6037 pub fn vips_jxlload(
6038 filename: *const core::ffi::c_char,
6039 out: *mut *mut VipsImage,
6040 ...
6041 ) -> core::ffi::c_int;
6042}
6043unsafe extern "C" {
6044 pub fn vips_jxlsave(
6045 in_: *mut VipsImage,
6046 filename: *const core::ffi::c_char,
6047 ...
6048 ) -> core::ffi::c_int;
6049}
6050unsafe extern "C" {
6051 pub fn vips_jxlsave_buffer(
6052 in_: *mut VipsImage,
6053 buf: *mut *mut core::ffi::c_void,
6054 len: *mut usize,
6055 ...
6056 ) -> core::ffi::c_int;
6057}
6058unsafe extern "C" {
6059 pub fn vips_jxlsave_target(
6060 in_: *mut VipsImage,
6061 target: *mut VipsTarget,
6062 ...
6063 ) -> core::ffi::c_int;
6064}
6065#[repr(u32)]
6066#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
6067pub enum VipsForeignDzLayout {
6068 VIPS_FOREIGN_DZ_LAYOUT_DZ = 0,
6069 VIPS_FOREIGN_DZ_LAYOUT_ZOOMIFY = 1,
6070 VIPS_FOREIGN_DZ_LAYOUT_GOOGLE = 2,
6071 VIPS_FOREIGN_DZ_LAYOUT_IIIF = 3,
6072 VIPS_FOREIGN_DZ_LAYOUT_IIIF3 = 4,
6073 VIPS_FOREIGN_DZ_LAYOUT_LAST = 5,
6074}
6075#[repr(u32)]
6076#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
6077pub enum VipsForeignDzDepth {
6078 VIPS_FOREIGN_DZ_DEPTH_ONEPIXEL = 0,
6079 VIPS_FOREIGN_DZ_DEPTH_ONETILE = 1,
6080 VIPS_FOREIGN_DZ_DEPTH_ONE = 2,
6081 VIPS_FOREIGN_DZ_DEPTH_LAST = 3,
6082}
6083#[repr(u32)]
6084#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
6085pub enum VipsForeignDzContainer {
6086 VIPS_FOREIGN_DZ_CONTAINER_FS = 0,
6087 VIPS_FOREIGN_DZ_CONTAINER_ZIP = 1,
6088 VIPS_FOREIGN_DZ_CONTAINER_SZI = 2,
6089 VIPS_FOREIGN_DZ_CONTAINER_LAST = 3,
6090}
6091unsafe extern "C" {
6092 pub fn vips_dzsave(
6093 in_: *mut VipsImage,
6094 name: *const core::ffi::c_char,
6095 ...
6096 ) -> core::ffi::c_int;
6097}
6098unsafe extern "C" {
6099 pub fn vips_dzsave_buffer(
6100 in_: *mut VipsImage,
6101 buf: *mut *mut core::ffi::c_void,
6102 len: *mut usize,
6103 ...
6104 ) -> core::ffi::c_int;
6105}
6106unsafe extern "C" {
6107 pub fn vips_dzsave_target(
6108 in_: *mut VipsImage,
6109 target: *mut VipsTarget,
6110 ...
6111 ) -> core::ffi::c_int;
6112}
6113#[repr(u32)]
6114#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
6115pub enum VipsForeignHeifCompression {
6116 VIPS_FOREIGN_HEIF_COMPRESSION_HEVC = 1,
6117 VIPS_FOREIGN_HEIF_COMPRESSION_AVC = 2,
6118 VIPS_FOREIGN_HEIF_COMPRESSION_JPEG = 3,
6119 VIPS_FOREIGN_HEIF_COMPRESSION_AV1 = 4,
6120 VIPS_FOREIGN_HEIF_COMPRESSION_LAST = 5,
6121}
6122#[repr(u32)]
6123#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
6124pub enum VipsForeignHeifEncoder {
6125 VIPS_FOREIGN_HEIF_ENCODER_AUTO = 0,
6126 VIPS_FOREIGN_HEIF_ENCODER_AOM = 1,
6127 VIPS_FOREIGN_HEIF_ENCODER_RAV1E = 2,
6128 VIPS_FOREIGN_HEIF_ENCODER_SVT = 3,
6129 VIPS_FOREIGN_HEIF_ENCODER_X265 = 4,
6130 VIPS_FOREIGN_HEIF_ENCODER_LAST = 5,
6131}
6132unsafe extern "C" {
6133 pub fn vips_foreign_jpeg_subsample_get_type() -> GType;
6134}
6135unsafe extern "C" {
6136 pub fn vips_operation_math_get_type() -> GType;
6137}
6138unsafe extern "C" {
6139 pub fn vips_operation_math2_get_type() -> GType;
6140}
6141unsafe extern "C" {
6142 pub fn vips_operation_round_get_type() -> GType;
6143}
6144unsafe extern "C" {
6145 pub fn vips_operation_relational_get_type() -> GType;
6146}
6147unsafe extern "C" {
6148 pub fn vips_operation_boolean_get_type() -> GType;
6149}
6150unsafe extern "C" {
6151 pub fn vips_operation_complex_get_type() -> GType;
6152}
6153unsafe extern "C" {
6154 pub fn vips_operation_complex2_get_type() -> GType;
6155}
6156unsafe extern "C" {
6157 pub fn vips_operation_complexget_get_type() -> GType;
6158}
6159unsafe extern "C" {
6160 pub fn vips_precision_get_type() -> GType;
6161}
6162unsafe extern "C" {
6163 pub fn vips_intent_get_type() -> GType;
6164}
6165unsafe extern "C" {
6166 pub fn vips_pcs_get_type() -> GType;
6167}
6168unsafe extern "C" {
6169 pub fn vips_extend_get_type() -> GType;
6170}
6171unsafe extern "C" {
6172 pub fn vips_compass_direction_get_type() -> GType;
6173}
6174unsafe extern "C" {
6175 pub fn vips_direction_get_type() -> GType;
6176}
6177unsafe extern "C" {
6178 pub fn vips_align_get_type() -> GType;
6179}
6180unsafe extern "C" {
6181 pub fn vips_angle_get_type() -> GType;
6182}
6183unsafe extern "C" {
6184 pub fn vips_angle45_get_type() -> GType;
6185}
6186unsafe extern "C" {
6187 pub fn vips_interesting_get_type() -> GType;
6188}
6189unsafe extern "C" {
6190 pub fn vips_blend_mode_get_type() -> GType;
6191}
6192unsafe extern "C" {
6193 pub fn vips_combine_get_type() -> GType;
6194}
6195unsafe extern "C" {
6196 pub fn vips_text_wrap_get_type() -> GType;
6197}
6198unsafe extern "C" {
6199 pub fn vips_sdf_shape_get_type() -> GType;
6200}
6201unsafe extern "C" {
6202 pub fn vips_combine_mode_get_type() -> GType;
6203}
6204unsafe extern "C" {
6205 pub fn vips_foreign_flags_get_type() -> GType;
6206}
6207unsafe extern "C" {
6208 pub fn vips_fail_on_get_type() -> GType;
6209}
6210unsafe extern "C" {
6211 pub fn vips_foreign_saveable_get_type() -> GType;
6212}
6213unsafe extern "C" {
6214 pub fn vips_foreign_coding_get_type() -> GType;
6215}
6216unsafe extern "C" {
6217 pub fn vips_foreign_keep_get_type() -> GType;
6218}
6219unsafe extern "C" {
6220 pub fn vips_foreign_subsample_get_type() -> GType;
6221}
6222unsafe extern "C" {
6223 pub fn vips_foreign_webp_preset_get_type() -> GType;
6224}
6225unsafe extern "C" {
6226 pub fn vips_foreign_tiff_compression_get_type() -> GType;
6227}
6228unsafe extern "C" {
6229 pub fn vips_foreign_tiff_predictor_get_type() -> GType;
6230}
6231unsafe extern "C" {
6232 pub fn vips_foreign_tiff_resunit_get_type() -> GType;
6233}
6234unsafe extern "C" {
6235 pub fn vips_foreign_png_filter_get_type() -> GType;
6236}
6237unsafe extern "C" {
6238 pub fn vips_foreign_ppm_format_get_type() -> GType;
6239}
6240unsafe extern "C" {
6241 pub fn vips_foreign_pdf_page_box_get_type() -> GType;
6242}
6243unsafe extern "C" {
6244 pub fn vips_foreign_dz_layout_get_type() -> GType;
6245}
6246unsafe extern "C" {
6247 pub fn vips_foreign_dz_depth_get_type() -> GType;
6248}
6249unsafe extern "C" {
6250 pub fn vips_foreign_dz_container_get_type() -> GType;
6251}
6252unsafe extern "C" {
6253 pub fn vips_foreign_heif_compression_get_type() -> GType;
6254}
6255unsafe extern "C" {
6256 pub fn vips_foreign_heif_encoder_get_type() -> GType;
6257}
6258unsafe extern "C" {
6259 pub fn vips_demand_style_get_type() -> GType;
6260}
6261unsafe extern "C" {
6262 pub fn vips_image_type_get_type() -> GType;
6263}
6264unsafe extern "C" {
6265 pub fn vips_interpretation_get_type() -> GType;
6266}
6267unsafe extern "C" {
6268 pub fn vips_band_format_get_type() -> GType;
6269}
6270unsafe extern "C" {
6271 pub fn vips_coding_get_type() -> GType;
6272}
6273unsafe extern "C" {
6274 pub fn vips_access_get_type() -> GType;
6275}
6276unsafe extern "C" {
6277 pub fn vips_operation_morphology_get_type() -> GType;
6278}
6279unsafe extern "C" {
6280 pub fn vips_argument_flags_get_type() -> GType;
6281}
6282unsafe extern "C" {
6283 pub fn vips_operation_flags_get_type() -> GType;
6284}
6285unsafe extern "C" {
6286 pub fn vips_region_shrink_get_type() -> GType;
6287}
6288unsafe extern "C" {
6289 pub fn vips_kernel_get_type() -> GType;
6290}
6291unsafe extern "C" {
6292 pub fn vips_size_get_type() -> GType;
6293}
6294unsafe extern "C" {
6295 pub fn vips_token_get_type() -> GType;
6296}
6297unsafe extern "C" {
6298 pub fn vips_saveable_get_type() -> GType;
6299}
6300#[repr(u32)]
6301#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
6302pub enum VipsOperationMath {
6303 VIPS_OPERATION_MATH_SIN = 0,
6304 VIPS_OPERATION_MATH_COS = 1,
6305 VIPS_OPERATION_MATH_TAN = 2,
6306 VIPS_OPERATION_MATH_ASIN = 3,
6307 VIPS_OPERATION_MATH_ACOS = 4,
6308 VIPS_OPERATION_MATH_ATAN = 5,
6309 VIPS_OPERATION_MATH_LOG = 6,
6310 VIPS_OPERATION_MATH_LOG10 = 7,
6311 VIPS_OPERATION_MATH_EXP = 8,
6312 VIPS_OPERATION_MATH_EXP10 = 9,
6313 VIPS_OPERATION_MATH_SINH = 10,
6314 VIPS_OPERATION_MATH_COSH = 11,
6315 VIPS_OPERATION_MATH_TANH = 12,
6316 VIPS_OPERATION_MATH_ASINH = 13,
6317 VIPS_OPERATION_MATH_ACOSH = 14,
6318 VIPS_OPERATION_MATH_ATANH = 15,
6319 VIPS_OPERATION_MATH_LAST = 16,
6320}
6321#[repr(u32)]
6322#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
6323pub enum VipsOperationMath2 {
6324 VIPS_OPERATION_MATH2_POW = 0,
6325 VIPS_OPERATION_MATH2_WOP = 1,
6326 VIPS_OPERATION_MATH2_ATAN2 = 2,
6327 VIPS_OPERATION_MATH2_LAST = 3,
6328}
6329#[repr(u32)]
6330#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
6331pub enum VipsOperationRound {
6332 VIPS_OPERATION_ROUND_RINT = 0,
6333 VIPS_OPERATION_ROUND_CEIL = 1,
6334 VIPS_OPERATION_ROUND_FLOOR = 2,
6335 VIPS_OPERATION_ROUND_LAST = 3,
6336}
6337#[repr(u32)]
6338#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
6339pub enum VipsOperationRelational {
6340 VIPS_OPERATION_RELATIONAL_EQUAL = 0,
6341 VIPS_OPERATION_RELATIONAL_NOTEQ = 1,
6342 VIPS_OPERATION_RELATIONAL_LESS = 2,
6343 VIPS_OPERATION_RELATIONAL_LESSEQ = 3,
6344 VIPS_OPERATION_RELATIONAL_MORE = 4,
6345 VIPS_OPERATION_RELATIONAL_MOREEQ = 5,
6346 VIPS_OPERATION_RELATIONAL_LAST = 6,
6347}
6348#[repr(u32)]
6349#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
6350pub enum VipsOperationBoolean {
6351 VIPS_OPERATION_BOOLEAN_AND = 0,
6352 VIPS_OPERATION_BOOLEAN_OR = 1,
6353 VIPS_OPERATION_BOOLEAN_EOR = 2,
6354 VIPS_OPERATION_BOOLEAN_LSHIFT = 3,
6355 VIPS_OPERATION_BOOLEAN_RSHIFT = 4,
6356 VIPS_OPERATION_BOOLEAN_LAST = 5,
6357}
6358#[repr(u32)]
6359#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
6360pub enum VipsOperationComplex {
6361 VIPS_OPERATION_COMPLEX_POLAR = 0,
6362 VIPS_OPERATION_COMPLEX_RECT = 1,
6363 VIPS_OPERATION_COMPLEX_CONJ = 2,
6364 VIPS_OPERATION_COMPLEX_LAST = 3,
6365}
6366#[repr(u32)]
6367#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
6368pub enum VipsOperationComplex2 {
6369 VIPS_OPERATION_COMPLEX2_CROSS_PHASE = 0,
6370 VIPS_OPERATION_COMPLEX2_LAST = 1,
6371}
6372#[repr(u32)]
6373#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
6374pub enum VipsOperationComplexget {
6375 VIPS_OPERATION_COMPLEXGET_REAL = 0,
6376 VIPS_OPERATION_COMPLEXGET_IMAG = 1,
6377 VIPS_OPERATION_COMPLEXGET_LAST = 2,
6378}
6379unsafe extern "C" {
6380 pub fn vips_add(
6381 left: *mut VipsImage,
6382 right: *mut VipsImage,
6383 out: *mut *mut VipsImage,
6384 ...
6385 ) -> core::ffi::c_int;
6386}
6387unsafe extern "C" {
6388 pub fn vips_sum(
6389 in_: *mut *mut VipsImage,
6390 out: *mut *mut VipsImage,
6391 n: core::ffi::c_int,
6392 ...
6393 ) -> core::ffi::c_int;
6394}
6395unsafe extern "C" {
6396 pub fn vips_subtract(
6397 in1: *mut VipsImage,
6398 in2: *mut VipsImage,
6399 out: *mut *mut VipsImage,
6400 ...
6401 ) -> core::ffi::c_int;
6402}
6403unsafe extern "C" {
6404 pub fn vips_multiply(
6405 left: *mut VipsImage,
6406 right: *mut VipsImage,
6407 out: *mut *mut VipsImage,
6408 ...
6409 ) -> core::ffi::c_int;
6410}
6411unsafe extern "C" {
6412 pub fn vips_divide(
6413 left: *mut VipsImage,
6414 right: *mut VipsImage,
6415 out: *mut *mut VipsImage,
6416 ...
6417 ) -> core::ffi::c_int;
6418}
6419unsafe extern "C" {
6420 pub fn vips_linear(
6421 in_: *mut VipsImage,
6422 out: *mut *mut VipsImage,
6423 a: *const f64,
6424 b: *const f64,
6425 n: core::ffi::c_int,
6426 ...
6427 ) -> core::ffi::c_int;
6428}
6429unsafe extern "C" {
6430 pub fn vips_linear1(
6431 in_: *mut VipsImage,
6432 out: *mut *mut VipsImage,
6433 a: f64,
6434 b: f64,
6435 ...
6436 ) -> core::ffi::c_int;
6437}
6438unsafe extern "C" {
6439 pub fn vips_remainder(
6440 left: *mut VipsImage,
6441 right: *mut VipsImage,
6442 out: *mut *mut VipsImage,
6443 ...
6444 ) -> core::ffi::c_int;
6445}
6446unsafe extern "C" {
6447 pub fn vips_remainder_const(
6448 in_: *mut VipsImage,
6449 out: *mut *mut VipsImage,
6450 c: *const f64,
6451 n: core::ffi::c_int,
6452 ...
6453 ) -> core::ffi::c_int;
6454}
6455unsafe extern "C" {
6456 pub fn vips_remainder_const1(
6457 in_: *mut VipsImage,
6458 out: *mut *mut VipsImage,
6459 c: f64,
6460 ...
6461 ) -> core::ffi::c_int;
6462}
6463unsafe extern "C" {
6464 pub fn vips_invert(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6465}
6466unsafe extern "C" {
6467 pub fn vips_abs(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6468}
6469unsafe extern "C" {
6470 pub fn vips_sign(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6471}
6472unsafe extern "C" {
6473 pub fn vips_clamp(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6474}
6475unsafe extern "C" {
6476 pub fn vips_maxpair(
6477 left: *mut VipsImage,
6478 right: *mut VipsImage,
6479 out: *mut *mut VipsImage,
6480 ...
6481 ) -> core::ffi::c_int;
6482}
6483unsafe extern "C" {
6484 pub fn vips_minpair(
6485 left: *mut VipsImage,
6486 right: *mut VipsImage,
6487 out: *mut *mut VipsImage,
6488 ...
6489 ) -> core::ffi::c_int;
6490}
6491unsafe extern "C" {
6492 pub fn vips_round(
6493 in_: *mut VipsImage,
6494 out: *mut *mut VipsImage,
6495 round: VipsOperationRound,
6496 ...
6497 ) -> core::ffi::c_int;
6498}
6499unsafe extern "C" {
6500 pub fn vips_floor(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6501}
6502unsafe extern "C" {
6503 pub fn vips_ceil(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6504}
6505unsafe extern "C" {
6506 pub fn vips_rint(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6507}
6508unsafe extern "C" {
6509 pub fn vips_math(
6510 in_: *mut VipsImage,
6511 out: *mut *mut VipsImage,
6512 math: VipsOperationMath,
6513 ...
6514 ) -> core::ffi::c_int;
6515}
6516unsafe extern "C" {
6517 pub fn vips_sin(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6518}
6519unsafe extern "C" {
6520 pub fn vips_cos(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6521}
6522unsafe extern "C" {
6523 pub fn vips_tan(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6524}
6525unsafe extern "C" {
6526 pub fn vips_asin(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6527}
6528unsafe extern "C" {
6529 pub fn vips_acos(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6530}
6531unsafe extern "C" {
6532 pub fn vips_atan(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6533}
6534unsafe extern "C" {
6535 pub fn vips_exp(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6536}
6537unsafe extern "C" {
6538 pub fn vips_exp10(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6539}
6540unsafe extern "C" {
6541 pub fn vips_log(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6542}
6543unsafe extern "C" {
6544 pub fn vips_log10(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6545}
6546unsafe extern "C" {
6547 pub fn vips_sinh(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6548}
6549unsafe extern "C" {
6550 pub fn vips_cosh(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6551}
6552unsafe extern "C" {
6553 pub fn vips_tanh(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6554}
6555unsafe extern "C" {
6556 pub fn vips_asinh(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6557}
6558unsafe extern "C" {
6559 pub fn vips_acosh(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6560}
6561unsafe extern "C" {
6562 pub fn vips_atanh(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6563}
6564unsafe extern "C" {
6565 pub fn vips_complex(
6566 in_: *mut VipsImage,
6567 out: *mut *mut VipsImage,
6568 cmplx: VipsOperationComplex,
6569 ...
6570 ) -> core::ffi::c_int;
6571}
6572unsafe extern "C" {
6573 pub fn vips_polar(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6574}
6575unsafe extern "C" {
6576 pub fn vips_rect(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6577}
6578unsafe extern "C" {
6579 pub fn vips_conj(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6580}
6581unsafe extern "C" {
6582 pub fn vips_complex2(
6583 left: *mut VipsImage,
6584 right: *mut VipsImage,
6585 out: *mut *mut VipsImage,
6586 cmplx: VipsOperationComplex2,
6587 ...
6588 ) -> core::ffi::c_int;
6589}
6590unsafe extern "C" {
6591 pub fn vips_cross_phase(
6592 left: *mut VipsImage,
6593 right: *mut VipsImage,
6594 out: *mut *mut VipsImage,
6595 ...
6596 ) -> core::ffi::c_int;
6597}
6598unsafe extern "C" {
6599 pub fn vips_complexget(
6600 in_: *mut VipsImage,
6601 out: *mut *mut VipsImage,
6602 get: VipsOperationComplexget,
6603 ...
6604 ) -> core::ffi::c_int;
6605}
6606unsafe extern "C" {
6607 pub fn vips_real(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6608}
6609unsafe extern "C" {
6610 pub fn vips_imag(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
6611}
6612unsafe extern "C" {
6613 pub fn vips_complexform(
6614 left: *mut VipsImage,
6615 right: *mut VipsImage,
6616 out: *mut *mut VipsImage,
6617 ...
6618 ) -> core::ffi::c_int;
6619}
6620unsafe extern "C" {
6621 pub fn vips_relational(
6622 left: *mut VipsImage,
6623 right: *mut VipsImage,
6624 out: *mut *mut VipsImage,
6625 relational: VipsOperationRelational,
6626 ...
6627 ) -> core::ffi::c_int;
6628}
6629unsafe extern "C" {
6630 pub fn vips_equal(
6631 left: *mut VipsImage,
6632 right: *mut VipsImage,
6633 out: *mut *mut VipsImage,
6634 ...
6635 ) -> core::ffi::c_int;
6636}
6637unsafe extern "C" {
6638 pub fn vips_notequal(
6639 left: *mut VipsImage,
6640 right: *mut VipsImage,
6641 out: *mut *mut VipsImage,
6642 ...
6643 ) -> core::ffi::c_int;
6644}
6645unsafe extern "C" {
6646 pub fn vips_less(
6647 left: *mut VipsImage,
6648 right: *mut VipsImage,
6649 out: *mut *mut VipsImage,
6650 ...
6651 ) -> core::ffi::c_int;
6652}
6653unsafe extern "C" {
6654 pub fn vips_lesseq(
6655 left: *mut VipsImage,
6656 right: *mut VipsImage,
6657 out: *mut *mut VipsImage,
6658 ...
6659 ) -> core::ffi::c_int;
6660}
6661unsafe extern "C" {
6662 pub fn vips_more(
6663 left: *mut VipsImage,
6664 right: *mut VipsImage,
6665 out: *mut *mut VipsImage,
6666 ...
6667 ) -> core::ffi::c_int;
6668}
6669unsafe extern "C" {
6670 pub fn vips_moreeq(
6671 left: *mut VipsImage,
6672 right: *mut VipsImage,
6673 out: *mut *mut VipsImage,
6674 ...
6675 ) -> core::ffi::c_int;
6676}
6677unsafe extern "C" {
6678 pub fn vips_relational_const(
6679 in_: *mut VipsImage,
6680 out: *mut *mut VipsImage,
6681 relational: VipsOperationRelational,
6682 c: *const f64,
6683 n: core::ffi::c_int,
6684 ...
6685 ) -> core::ffi::c_int;
6686}
6687unsafe extern "C" {
6688 pub fn vips_equal_const(
6689 in_: *mut VipsImage,
6690 out: *mut *mut VipsImage,
6691 c: *const f64,
6692 n: core::ffi::c_int,
6693 ...
6694 ) -> core::ffi::c_int;
6695}
6696unsafe extern "C" {
6697 pub fn vips_notequal_const(
6698 in_: *mut VipsImage,
6699 out: *mut *mut VipsImage,
6700 c: *const f64,
6701 n: core::ffi::c_int,
6702 ...
6703 ) -> core::ffi::c_int;
6704}
6705unsafe extern "C" {
6706 pub fn vips_less_const(
6707 in_: *mut VipsImage,
6708 out: *mut *mut VipsImage,
6709 c: *const f64,
6710 n: core::ffi::c_int,
6711 ...
6712 ) -> core::ffi::c_int;
6713}
6714unsafe extern "C" {
6715 pub fn vips_lesseq_const(
6716 in_: *mut VipsImage,
6717 out: *mut *mut VipsImage,
6718 c: *const f64,
6719 n: core::ffi::c_int,
6720 ...
6721 ) -> core::ffi::c_int;
6722}
6723unsafe extern "C" {
6724 pub fn vips_more_const(
6725 in_: *mut VipsImage,
6726 out: *mut *mut VipsImage,
6727 c: *const f64,
6728 n: core::ffi::c_int,
6729 ...
6730 ) -> core::ffi::c_int;
6731}
6732unsafe extern "C" {
6733 pub fn vips_moreeq_const(
6734 in_: *mut VipsImage,
6735 out: *mut *mut VipsImage,
6736 c: *const f64,
6737 n: core::ffi::c_int,
6738 ...
6739 ) -> core::ffi::c_int;
6740}
6741unsafe extern "C" {
6742 pub fn vips_relational_const1(
6743 in_: *mut VipsImage,
6744 out: *mut *mut VipsImage,
6745 relational: VipsOperationRelational,
6746 c: f64,
6747 ...
6748 ) -> core::ffi::c_int;
6749}
6750unsafe extern "C" {
6751 pub fn vips_equal_const1(
6752 in_: *mut VipsImage,
6753 out: *mut *mut VipsImage,
6754 c: f64,
6755 ...
6756 ) -> core::ffi::c_int;
6757}
6758unsafe extern "C" {
6759 pub fn vips_notequal_const1(
6760 in_: *mut VipsImage,
6761 out: *mut *mut VipsImage,
6762 c: f64,
6763 ...
6764 ) -> core::ffi::c_int;
6765}
6766unsafe extern "C" {
6767 pub fn vips_less_const1(
6768 in_: *mut VipsImage,
6769 out: *mut *mut VipsImage,
6770 c: f64,
6771 ...
6772 ) -> core::ffi::c_int;
6773}
6774unsafe extern "C" {
6775 pub fn vips_lesseq_const1(
6776 in_: *mut VipsImage,
6777 out: *mut *mut VipsImage,
6778 c: f64,
6779 ...
6780 ) -> core::ffi::c_int;
6781}
6782unsafe extern "C" {
6783 pub fn vips_more_const1(
6784 in_: *mut VipsImage,
6785 out: *mut *mut VipsImage,
6786 c: f64,
6787 ...
6788 ) -> core::ffi::c_int;
6789}
6790unsafe extern "C" {
6791 pub fn vips_moreeq_const1(
6792 in_: *mut VipsImage,
6793 out: *mut *mut VipsImage,
6794 c: f64,
6795 ...
6796 ) -> core::ffi::c_int;
6797}
6798unsafe extern "C" {
6799 pub fn vips_boolean(
6800 left: *mut VipsImage,
6801 right: *mut VipsImage,
6802 out: *mut *mut VipsImage,
6803 boolean: VipsOperationBoolean,
6804 ...
6805 ) -> core::ffi::c_int;
6806}
6807unsafe extern "C" {
6808 pub fn vips_andimage(
6809 left: *mut VipsImage,
6810 right: *mut VipsImage,
6811 out: *mut *mut VipsImage,
6812 ...
6813 ) -> core::ffi::c_int;
6814}
6815unsafe extern "C" {
6816 pub fn vips_orimage(
6817 left: *mut VipsImage,
6818 right: *mut VipsImage,
6819 out: *mut *mut VipsImage,
6820 ...
6821 ) -> core::ffi::c_int;
6822}
6823unsafe extern "C" {
6824 pub fn vips_eorimage(
6825 left: *mut VipsImage,
6826 right: *mut VipsImage,
6827 out: *mut *mut VipsImage,
6828 ...
6829 ) -> core::ffi::c_int;
6830}
6831unsafe extern "C" {
6832 pub fn vips_lshift(
6833 left: *mut VipsImage,
6834 right: *mut VipsImage,
6835 out: *mut *mut VipsImage,
6836 ...
6837 ) -> core::ffi::c_int;
6838}
6839unsafe extern "C" {
6840 pub fn vips_rshift(
6841 left: *mut VipsImage,
6842 right: *mut VipsImage,
6843 out: *mut *mut VipsImage,
6844 ...
6845 ) -> core::ffi::c_int;
6846}
6847unsafe extern "C" {
6848 pub fn vips_boolean_const(
6849 in_: *mut VipsImage,
6850 out: *mut *mut VipsImage,
6851 boolean: VipsOperationBoolean,
6852 c: *const f64,
6853 n: core::ffi::c_int,
6854 ...
6855 ) -> core::ffi::c_int;
6856}
6857unsafe extern "C" {
6858 pub fn vips_andimage_const(
6859 in_: *mut VipsImage,
6860 out: *mut *mut VipsImage,
6861 c: *const f64,
6862 n: core::ffi::c_int,
6863 ...
6864 ) -> core::ffi::c_int;
6865}
6866unsafe extern "C" {
6867 pub fn vips_orimage_const(
6868 in_: *mut VipsImage,
6869 out: *mut *mut VipsImage,
6870 c: *const f64,
6871 n: core::ffi::c_int,
6872 ...
6873 ) -> core::ffi::c_int;
6874}
6875unsafe extern "C" {
6876 pub fn vips_eorimage_const(
6877 in_: *mut VipsImage,
6878 out: *mut *mut VipsImage,
6879 c: *const f64,
6880 n: core::ffi::c_int,
6881 ...
6882 ) -> core::ffi::c_int;
6883}
6884unsafe extern "C" {
6885 pub fn vips_lshift_const(
6886 in_: *mut VipsImage,
6887 out: *mut *mut VipsImage,
6888 c: *const f64,
6889 n: core::ffi::c_int,
6890 ...
6891 ) -> core::ffi::c_int;
6892}
6893unsafe extern "C" {
6894 pub fn vips_rshift_const(
6895 in_: *mut VipsImage,
6896 out: *mut *mut VipsImage,
6897 c: *const f64,
6898 n: core::ffi::c_int,
6899 ...
6900 ) -> core::ffi::c_int;
6901}
6902unsafe extern "C" {
6903 pub fn vips_boolean_const1(
6904 in_: *mut VipsImage,
6905 out: *mut *mut VipsImage,
6906 boolean: VipsOperationBoolean,
6907 c: f64,
6908 ...
6909 ) -> core::ffi::c_int;
6910}
6911unsafe extern "C" {
6912 pub fn vips_andimage_const1(
6913 in_: *mut VipsImage,
6914 out: *mut *mut VipsImage,
6915 c: f64,
6916 ...
6917 ) -> core::ffi::c_int;
6918}
6919unsafe extern "C" {
6920 pub fn vips_orimage_const1(
6921 in_: *mut VipsImage,
6922 out: *mut *mut VipsImage,
6923 c: f64,
6924 ...
6925 ) -> core::ffi::c_int;
6926}
6927unsafe extern "C" {
6928 pub fn vips_eorimage_const1(
6929 in_: *mut VipsImage,
6930 out: *mut *mut VipsImage,
6931 c: f64,
6932 ...
6933 ) -> core::ffi::c_int;
6934}
6935unsafe extern "C" {
6936 pub fn vips_lshift_const1(
6937 in_: *mut VipsImage,
6938 out: *mut *mut VipsImage,
6939 c: f64,
6940 ...
6941 ) -> core::ffi::c_int;
6942}
6943unsafe extern "C" {
6944 pub fn vips_rshift_const1(
6945 in_: *mut VipsImage,
6946 out: *mut *mut VipsImage,
6947 c: f64,
6948 ...
6949 ) -> core::ffi::c_int;
6950}
6951unsafe extern "C" {
6952 pub fn vips_math2(
6953 left: *mut VipsImage,
6954 right: *mut VipsImage,
6955 out: *mut *mut VipsImage,
6956 math2: VipsOperationMath2,
6957 ...
6958 ) -> core::ffi::c_int;
6959}
6960unsafe extern "C" {
6961 pub fn vips_pow(
6962 left: *mut VipsImage,
6963 right: *mut VipsImage,
6964 out: *mut *mut VipsImage,
6965 ...
6966 ) -> core::ffi::c_int;
6967}
6968unsafe extern "C" {
6969 pub fn vips_wop(
6970 left: *mut VipsImage,
6971 right: *mut VipsImage,
6972 out: *mut *mut VipsImage,
6973 ...
6974 ) -> core::ffi::c_int;
6975}
6976unsafe extern "C" {
6977 pub fn vips_atan2(
6978 left: *mut VipsImage,
6979 right: *mut VipsImage,
6980 out: *mut *mut VipsImage,
6981 ...
6982 ) -> core::ffi::c_int;
6983}
6984unsafe extern "C" {
6985 pub fn vips_math2_const(
6986 in_: *mut VipsImage,
6987 out: *mut *mut VipsImage,
6988 math2: VipsOperationMath2,
6989 c: *const f64,
6990 n: core::ffi::c_int,
6991 ...
6992 ) -> core::ffi::c_int;
6993}
6994unsafe extern "C" {
6995 pub fn vips_pow_const(
6996 in_: *mut VipsImage,
6997 out: *mut *mut VipsImage,
6998 c: *const f64,
6999 n: core::ffi::c_int,
7000 ...
7001 ) -> core::ffi::c_int;
7002}
7003unsafe extern "C" {
7004 pub fn vips_wop_const(
7005 in_: *mut VipsImage,
7006 out: *mut *mut VipsImage,
7007 c: *const f64,
7008 n: core::ffi::c_int,
7009 ...
7010 ) -> core::ffi::c_int;
7011}
7012unsafe extern "C" {
7013 pub fn vips_atan2_const(
7014 in_: *mut VipsImage,
7015 out: *mut *mut VipsImage,
7016 c: *const f64,
7017 n: core::ffi::c_int,
7018 ...
7019 ) -> core::ffi::c_int;
7020}
7021unsafe extern "C" {
7022 pub fn vips_math2_const1(
7023 in_: *mut VipsImage,
7024 out: *mut *mut VipsImage,
7025 math2: VipsOperationMath2,
7026 c: f64,
7027 ...
7028 ) -> core::ffi::c_int;
7029}
7030unsafe extern "C" {
7031 pub fn vips_pow_const1(
7032 in_: *mut VipsImage,
7033 out: *mut *mut VipsImage,
7034 c: f64,
7035 ...
7036 ) -> core::ffi::c_int;
7037}
7038unsafe extern "C" {
7039 pub fn vips_wop_const1(
7040 in_: *mut VipsImage,
7041 out: *mut *mut VipsImage,
7042 c: f64,
7043 ...
7044 ) -> core::ffi::c_int;
7045}
7046unsafe extern "C" {
7047 pub fn vips_atan2_const1(
7048 in_: *mut VipsImage,
7049 out: *mut *mut VipsImage,
7050 c: f64,
7051 ...
7052 ) -> core::ffi::c_int;
7053}
7054unsafe extern "C" {
7055 pub fn vips_avg(in_: *mut VipsImage, out: *mut f64, ...) -> core::ffi::c_int;
7056}
7057unsafe extern "C" {
7058 pub fn vips_deviate(in_: *mut VipsImage, out: *mut f64, ...) -> core::ffi::c_int;
7059}
7060unsafe extern "C" {
7061 pub fn vips_min(in_: *mut VipsImage, out: *mut f64, ...) -> core::ffi::c_int;
7062}
7063unsafe extern "C" {
7064 pub fn vips_max(in_: *mut VipsImage, out: *mut f64, ...) -> core::ffi::c_int;
7065}
7066unsafe extern "C" {
7067 pub fn vips_stats(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7068}
7069unsafe extern "C" {
7070 pub fn vips_measure(
7071 in_: *mut VipsImage,
7072 out: *mut *mut VipsImage,
7073 h: core::ffi::c_int,
7074 v: core::ffi::c_int,
7075 ...
7076 ) -> core::ffi::c_int;
7077}
7078unsafe extern "C" {
7079 pub fn vips_find_trim(
7080 in_: *mut VipsImage,
7081 left: *mut core::ffi::c_int,
7082 top: *mut core::ffi::c_int,
7083 width: *mut core::ffi::c_int,
7084 height: *mut core::ffi::c_int,
7085 ...
7086 ) -> core::ffi::c_int;
7087}
7088unsafe extern "C" {
7089 pub fn vips_getpoint(
7090 in_: *mut VipsImage,
7091 vector: *mut *mut f64,
7092 n: *mut core::ffi::c_int,
7093 x: core::ffi::c_int,
7094 y: core::ffi::c_int,
7095 ...
7096 ) -> core::ffi::c_int;
7097}
7098unsafe extern "C" {
7099 pub fn vips_hist_find(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7100}
7101unsafe extern "C" {
7102 pub fn vips_hist_find_ndim(
7103 in_: *mut VipsImage,
7104 out: *mut *mut VipsImage,
7105 ...
7106 ) -> core::ffi::c_int;
7107}
7108unsafe extern "C" {
7109 pub fn vips_hist_find_indexed(
7110 in_: *mut VipsImage,
7111 index: *mut VipsImage,
7112 out: *mut *mut VipsImage,
7113 ...
7114 ) -> core::ffi::c_int;
7115}
7116unsafe extern "C" {
7117 pub fn vips_hough_line(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7118}
7119unsafe extern "C" {
7120 pub fn vips_hough_circle(
7121 in_: *mut VipsImage,
7122 out: *mut *mut VipsImage,
7123 ...
7124 ) -> core::ffi::c_int;
7125}
7126unsafe extern "C" {
7127 pub fn vips_project(
7128 in_: *mut VipsImage,
7129 columns: *mut *mut VipsImage,
7130 rows: *mut *mut VipsImage,
7131 ...
7132 ) -> core::ffi::c_int;
7133}
7134unsafe extern "C" {
7135 pub fn vips_profile(
7136 in_: *mut VipsImage,
7137 columns: *mut *mut VipsImage,
7138 rows: *mut *mut VipsImage,
7139 ...
7140 ) -> core::ffi::c_int;
7141}
7142#[repr(u32)]
7143#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7144pub enum VipsExtend {
7145 VIPS_EXTEND_BLACK = 0,
7146 VIPS_EXTEND_COPY = 1,
7147 VIPS_EXTEND_REPEAT = 2,
7148 VIPS_EXTEND_MIRROR = 3,
7149 VIPS_EXTEND_WHITE = 4,
7150 VIPS_EXTEND_BACKGROUND = 5,
7151 VIPS_EXTEND_LAST = 6,
7152}
7153#[repr(u32)]
7154#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7155pub enum VipsCompassDirection {
7156 VIPS_COMPASS_DIRECTION_CENTRE = 0,
7157 VIPS_COMPASS_DIRECTION_NORTH = 1,
7158 VIPS_COMPASS_DIRECTION_EAST = 2,
7159 VIPS_COMPASS_DIRECTION_SOUTH = 3,
7160 VIPS_COMPASS_DIRECTION_WEST = 4,
7161 VIPS_COMPASS_DIRECTION_NORTH_EAST = 5,
7162 VIPS_COMPASS_DIRECTION_SOUTH_EAST = 6,
7163 VIPS_COMPASS_DIRECTION_SOUTH_WEST = 7,
7164 VIPS_COMPASS_DIRECTION_NORTH_WEST = 8,
7165 VIPS_COMPASS_DIRECTION_LAST = 9,
7166}
7167#[repr(u32)]
7168#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7169pub enum VipsDirection {
7170 VIPS_DIRECTION_HORIZONTAL = 0,
7171 VIPS_DIRECTION_VERTICAL = 1,
7172 VIPS_DIRECTION_LAST = 2,
7173}
7174#[repr(u32)]
7175#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7176pub enum VipsAlign {
7177 VIPS_ALIGN_LOW = 0,
7178 VIPS_ALIGN_CENTRE = 1,
7179 VIPS_ALIGN_HIGH = 2,
7180 VIPS_ALIGN_LAST = 3,
7181}
7182#[repr(u32)]
7183#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7184pub enum VipsAngle {
7185 VIPS_ANGLE_D0 = 0,
7186 VIPS_ANGLE_D90 = 1,
7187 VIPS_ANGLE_D180 = 2,
7188 VIPS_ANGLE_D270 = 3,
7189 VIPS_ANGLE_LAST = 4,
7190}
7191#[repr(u32)]
7192#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7193pub enum VipsAngle45 {
7194 VIPS_ANGLE45_D0 = 0,
7195 VIPS_ANGLE45_D45 = 1,
7196 VIPS_ANGLE45_D90 = 2,
7197 VIPS_ANGLE45_D135 = 3,
7198 VIPS_ANGLE45_D180 = 4,
7199 VIPS_ANGLE45_D225 = 5,
7200 VIPS_ANGLE45_D270 = 6,
7201 VIPS_ANGLE45_D315 = 7,
7202 VIPS_ANGLE45_LAST = 8,
7203}
7204#[repr(u32)]
7205#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7206pub enum VipsInteresting {
7207 VIPS_INTERESTING_NONE = 0,
7208 VIPS_INTERESTING_CENTRE = 1,
7209 VIPS_INTERESTING_ENTROPY = 2,
7210 VIPS_INTERESTING_ATTENTION = 3,
7211 VIPS_INTERESTING_LOW = 4,
7212 VIPS_INTERESTING_HIGH = 5,
7213 VIPS_INTERESTING_ALL = 6,
7214 VIPS_INTERESTING_LAST = 7,
7215}
7216#[repr(u32)]
7217#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7218pub enum VipsBlendMode {
7219 VIPS_BLEND_MODE_CLEAR = 0,
7220 VIPS_BLEND_MODE_SOURCE = 1,
7221 VIPS_BLEND_MODE_OVER = 2,
7222 VIPS_BLEND_MODE_IN = 3,
7223 VIPS_BLEND_MODE_OUT = 4,
7224 VIPS_BLEND_MODE_ATOP = 5,
7225 VIPS_BLEND_MODE_DEST = 6,
7226 VIPS_BLEND_MODE_DEST_OVER = 7,
7227 VIPS_BLEND_MODE_DEST_IN = 8,
7228 VIPS_BLEND_MODE_DEST_OUT = 9,
7229 VIPS_BLEND_MODE_DEST_ATOP = 10,
7230 VIPS_BLEND_MODE_XOR = 11,
7231 VIPS_BLEND_MODE_ADD = 12,
7232 VIPS_BLEND_MODE_SATURATE = 13,
7233 VIPS_BLEND_MODE_MULTIPLY = 14,
7234 VIPS_BLEND_MODE_SCREEN = 15,
7235 VIPS_BLEND_MODE_OVERLAY = 16,
7236 VIPS_BLEND_MODE_DARKEN = 17,
7237 VIPS_BLEND_MODE_LIGHTEN = 18,
7238 VIPS_BLEND_MODE_COLOUR_DODGE = 19,
7239 VIPS_BLEND_MODE_COLOUR_BURN = 20,
7240 VIPS_BLEND_MODE_HARD_LIGHT = 21,
7241 VIPS_BLEND_MODE_SOFT_LIGHT = 22,
7242 VIPS_BLEND_MODE_DIFFERENCE = 23,
7243 VIPS_BLEND_MODE_EXCLUSION = 24,
7244 VIPS_BLEND_MODE_LAST = 25,
7245}
7246unsafe extern "C" {
7247 pub fn vips_copy(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7248}
7249unsafe extern "C" {
7250 pub fn vips_tilecache(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7251}
7252unsafe extern "C" {
7253 pub fn vips_linecache(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7254}
7255unsafe extern "C" {
7256 pub fn vips_sequential(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7257}
7258unsafe extern "C" {
7259 pub fn vips_copy_file(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7260}
7261unsafe extern "C" {
7262 pub fn vips_embed(
7263 in_: *mut VipsImage,
7264 out: *mut *mut VipsImage,
7265 x: core::ffi::c_int,
7266 y: core::ffi::c_int,
7267 width: core::ffi::c_int,
7268 height: core::ffi::c_int,
7269 ...
7270 ) -> core::ffi::c_int;
7271}
7272unsafe extern "C" {
7273 pub fn vips_gravity(
7274 in_: *mut VipsImage,
7275 out: *mut *mut VipsImage,
7276 direction: VipsCompassDirection,
7277 width: core::ffi::c_int,
7278 height: core::ffi::c_int,
7279 ...
7280 ) -> core::ffi::c_int;
7281}
7282unsafe extern "C" {
7283 pub fn vips_flip(
7284 in_: *mut VipsImage,
7285 out: *mut *mut VipsImage,
7286 direction: VipsDirection,
7287 ...
7288 ) -> core::ffi::c_int;
7289}
7290unsafe extern "C" {
7291 pub fn vips_insert(
7292 main: *mut VipsImage,
7293 sub: *mut VipsImage,
7294 out: *mut *mut VipsImage,
7295 x: core::ffi::c_int,
7296 y: core::ffi::c_int,
7297 ...
7298 ) -> core::ffi::c_int;
7299}
7300unsafe extern "C" {
7301 pub fn vips_join(
7302 in1: *mut VipsImage,
7303 in2: *mut VipsImage,
7304 out: *mut *mut VipsImage,
7305 direction: VipsDirection,
7306 ...
7307 ) -> core::ffi::c_int;
7308}
7309unsafe extern "C" {
7310 pub fn vips_arrayjoin(
7311 in_: *mut *mut VipsImage,
7312 out: *mut *mut VipsImage,
7313 n: core::ffi::c_int,
7314 ...
7315 ) -> core::ffi::c_int;
7316}
7317unsafe extern "C" {
7318 pub fn vips_extract_area(
7319 in_: *mut VipsImage,
7320 out: *mut *mut VipsImage,
7321 left: core::ffi::c_int,
7322 top: core::ffi::c_int,
7323 width: core::ffi::c_int,
7324 height: core::ffi::c_int,
7325 ...
7326 ) -> core::ffi::c_int;
7327}
7328unsafe extern "C" {
7329 pub fn vips_crop(
7330 in_: *mut VipsImage,
7331 out: *mut *mut VipsImage,
7332 left: core::ffi::c_int,
7333 top: core::ffi::c_int,
7334 width: core::ffi::c_int,
7335 height: core::ffi::c_int,
7336 ...
7337 ) -> core::ffi::c_int;
7338}
7339unsafe extern "C" {
7340 pub fn vips_smartcrop(
7341 in_: *mut VipsImage,
7342 out: *mut *mut VipsImage,
7343 width: core::ffi::c_int,
7344 height: core::ffi::c_int,
7345 ...
7346 ) -> core::ffi::c_int;
7347}
7348unsafe extern "C" {
7349 pub fn vips_extract_band(
7350 in_: *mut VipsImage,
7351 out: *mut *mut VipsImage,
7352 band: core::ffi::c_int,
7353 ...
7354 ) -> core::ffi::c_int;
7355}
7356unsafe extern "C" {
7357 pub fn vips_replicate(
7358 in_: *mut VipsImage,
7359 out: *mut *mut VipsImage,
7360 across: core::ffi::c_int,
7361 down: core::ffi::c_int,
7362 ...
7363 ) -> core::ffi::c_int;
7364}
7365unsafe extern "C" {
7366 pub fn vips_grid(
7367 in_: *mut VipsImage,
7368 out: *mut *mut VipsImage,
7369 tile_height: core::ffi::c_int,
7370 across: core::ffi::c_int,
7371 down: core::ffi::c_int,
7372 ...
7373 ) -> core::ffi::c_int;
7374}
7375unsafe extern "C" {
7376 pub fn vips_transpose3d(in_: *mut VipsImage, out: *mut *mut VipsImage, ...)
7377 -> core::ffi::c_int;
7378}
7379unsafe extern "C" {
7380 pub fn vips_wrap(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7381}
7382unsafe extern "C" {
7383 pub fn vips_rot(
7384 in_: *mut VipsImage,
7385 out: *mut *mut VipsImage,
7386 angle: VipsAngle,
7387 ...
7388 ) -> core::ffi::c_int;
7389}
7390unsafe extern "C" {
7391 pub fn vips_rot90(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7392}
7393unsafe extern "C" {
7394 pub fn vips_rot180(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7395}
7396unsafe extern "C" {
7397 pub fn vips_rot270(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7398}
7399unsafe extern "C" {
7400 pub fn vips_rot45(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7401}
7402unsafe extern "C" {
7403 pub fn vips_autorot_remove_angle(image: *mut VipsImage);
7404}
7405unsafe extern "C" {
7406 pub fn vips_autorot(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7407}
7408unsafe extern "C" {
7409 pub fn vips_zoom(
7410 in_: *mut VipsImage,
7411 out: *mut *mut VipsImage,
7412 xfac: core::ffi::c_int,
7413 yfac: core::ffi::c_int,
7414 ...
7415 ) -> core::ffi::c_int;
7416}
7417unsafe extern "C" {
7418 pub fn vips_subsample(
7419 in_: *mut VipsImage,
7420 out: *mut *mut VipsImage,
7421 xfac: core::ffi::c_int,
7422 yfac: core::ffi::c_int,
7423 ...
7424 ) -> core::ffi::c_int;
7425}
7426unsafe extern "C" {
7427 pub fn vips_cast(
7428 in_: *mut VipsImage,
7429 out: *mut *mut VipsImage,
7430 format: VipsBandFormat,
7431 ...
7432 ) -> core::ffi::c_int;
7433}
7434unsafe extern "C" {
7435 pub fn vips_cast_uchar(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7436}
7437unsafe extern "C" {
7438 pub fn vips_cast_char(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7439}
7440unsafe extern "C" {
7441 pub fn vips_cast_ushort(in_: *mut VipsImage, out: *mut *mut VipsImage, ...)
7442 -> core::ffi::c_int;
7443}
7444unsafe extern "C" {
7445 pub fn vips_cast_short(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7446}
7447unsafe extern "C" {
7448 pub fn vips_cast_uint(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7449}
7450unsafe extern "C" {
7451 pub fn vips_cast_int(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7452}
7453unsafe extern "C" {
7454 pub fn vips_cast_float(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7455}
7456unsafe extern "C" {
7457 pub fn vips_cast_double(in_: *mut VipsImage, out: *mut *mut VipsImage, ...)
7458 -> core::ffi::c_int;
7459}
7460unsafe extern "C" {
7461 pub fn vips_cast_complex(
7462 in_: *mut VipsImage,
7463 out: *mut *mut VipsImage,
7464 ...
7465 ) -> core::ffi::c_int;
7466}
7467unsafe extern "C" {
7468 pub fn vips_cast_dpcomplex(
7469 in_: *mut VipsImage,
7470 out: *mut *mut VipsImage,
7471 ...
7472 ) -> core::ffi::c_int;
7473}
7474unsafe extern "C" {
7475 pub fn vips_scale(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7476}
7477unsafe extern "C" {
7478 pub fn vips_msb(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7479}
7480unsafe extern "C" {
7481 pub fn vips_byteswap(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7482}
7483unsafe extern "C" {
7484 pub fn vips_bandjoin(
7485 in_: *mut *mut VipsImage,
7486 out: *mut *mut VipsImage,
7487 n: core::ffi::c_int,
7488 ...
7489 ) -> core::ffi::c_int;
7490}
7491unsafe extern "C" {
7492 pub fn vips_bandjoin2(
7493 in1: *mut VipsImage,
7494 in2: *mut VipsImage,
7495 out: *mut *mut VipsImage,
7496 ...
7497 ) -> core::ffi::c_int;
7498}
7499unsafe extern "C" {
7500 pub fn vips_bandjoin_const(
7501 in_: *mut VipsImage,
7502 out: *mut *mut VipsImage,
7503 c: *mut f64,
7504 n: core::ffi::c_int,
7505 ...
7506 ) -> core::ffi::c_int;
7507}
7508unsafe extern "C" {
7509 pub fn vips_bandjoin_const1(
7510 in_: *mut VipsImage,
7511 out: *mut *mut VipsImage,
7512 c: f64,
7513 ...
7514 ) -> core::ffi::c_int;
7515}
7516unsafe extern "C" {
7517 pub fn vips_bandrank(
7518 in_: *mut *mut VipsImage,
7519 out: *mut *mut VipsImage,
7520 n: core::ffi::c_int,
7521 ...
7522 ) -> core::ffi::c_int;
7523}
7524unsafe extern "C" {
7525 pub fn vips_bandfold(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7526}
7527unsafe extern "C" {
7528 pub fn vips_bandunfold(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7529}
7530unsafe extern "C" {
7531 pub fn vips_bandbool(
7532 in_: *mut VipsImage,
7533 out: *mut *mut VipsImage,
7534 boolean: VipsOperationBoolean,
7535 ...
7536 ) -> core::ffi::c_int;
7537}
7538unsafe extern "C" {
7539 pub fn vips_bandand(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7540}
7541unsafe extern "C" {
7542 pub fn vips_bandor(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7543}
7544unsafe extern "C" {
7545 pub fn vips_bandeor(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7546}
7547unsafe extern "C" {
7548 pub fn vips_bandmean(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7549}
7550unsafe extern "C" {
7551 pub fn vips_recomb(
7552 in_: *mut VipsImage,
7553 out: *mut *mut VipsImage,
7554 m: *mut VipsImage,
7555 ...
7556 ) -> core::ffi::c_int;
7557}
7558unsafe extern "C" {
7559 pub fn vips_ifthenelse(
7560 cond: *mut VipsImage,
7561 in1: *mut VipsImage,
7562 in2: *mut VipsImage,
7563 out: *mut *mut VipsImage,
7564 ...
7565 ) -> core::ffi::c_int;
7566}
7567unsafe extern "C" {
7568 pub fn vips_switch(
7569 tests: *mut *mut VipsImage,
7570 out: *mut *mut VipsImage,
7571 n: core::ffi::c_int,
7572 ...
7573 ) -> core::ffi::c_int;
7574}
7575unsafe extern "C" {
7576 pub fn vips_flatten(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7577}
7578unsafe extern "C" {
7579 pub fn vips_addalpha(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7580}
7581unsafe extern "C" {
7582 pub fn vips_premultiply(in_: *mut VipsImage, out: *mut *mut VipsImage, ...)
7583 -> core::ffi::c_int;
7584}
7585unsafe extern "C" {
7586 pub fn vips_unpremultiply(
7587 in_: *mut VipsImage,
7588 out: *mut *mut VipsImage,
7589 ...
7590 ) -> core::ffi::c_int;
7591}
7592unsafe extern "C" {
7593 pub fn vips_composite(
7594 in_: *mut *mut VipsImage,
7595 out: *mut *mut VipsImage,
7596 n: core::ffi::c_int,
7597 mode: *mut core::ffi::c_int,
7598 ...
7599 ) -> core::ffi::c_int;
7600}
7601unsafe extern "C" {
7602 pub fn vips_composite2(
7603 base: *mut VipsImage,
7604 overlay: *mut VipsImage,
7605 out: *mut *mut VipsImage,
7606 mode: VipsBlendMode,
7607 ...
7608 ) -> core::ffi::c_int;
7609}
7610unsafe extern "C" {
7611 pub fn vips_falsecolour(in_: *mut VipsImage, out: *mut *mut VipsImage, ...)
7612 -> core::ffi::c_int;
7613}
7614unsafe extern "C" {
7615 pub fn vips_gamma(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7616}
7617#[repr(u32)]
7618#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7619pub enum VipsCombine {
7620 VIPS_COMBINE_MAX = 0,
7621 VIPS_COMBINE_SUM = 1,
7622 VIPS_COMBINE_MIN = 2,
7623 VIPS_COMBINE_LAST = 3,
7624}
7625unsafe extern "C" {
7626 pub fn vips_conv(
7627 in_: *mut VipsImage,
7628 out: *mut *mut VipsImage,
7629 mask: *mut VipsImage,
7630 ...
7631 ) -> core::ffi::c_int;
7632}
7633unsafe extern "C" {
7634 pub fn vips_convf(
7635 in_: *mut VipsImage,
7636 out: *mut *mut VipsImage,
7637 mask: *mut VipsImage,
7638 ...
7639 ) -> core::ffi::c_int;
7640}
7641unsafe extern "C" {
7642 pub fn vips_convi(
7643 in_: *mut VipsImage,
7644 out: *mut *mut VipsImage,
7645 mask: *mut VipsImage,
7646 ...
7647 ) -> core::ffi::c_int;
7648}
7649unsafe extern "C" {
7650 pub fn vips_conva(
7651 in_: *mut VipsImage,
7652 out: *mut *mut VipsImage,
7653 mask: *mut VipsImage,
7654 ...
7655 ) -> core::ffi::c_int;
7656}
7657unsafe extern "C" {
7658 pub fn vips_convsep(
7659 in_: *mut VipsImage,
7660 out: *mut *mut VipsImage,
7661 mask: *mut VipsImage,
7662 ...
7663 ) -> core::ffi::c_int;
7664}
7665unsafe extern "C" {
7666 pub fn vips_convasep(
7667 in_: *mut VipsImage,
7668 out: *mut *mut VipsImage,
7669 mask: *mut VipsImage,
7670 ...
7671 ) -> core::ffi::c_int;
7672}
7673unsafe extern "C" {
7674 pub fn vips_compass(
7675 in_: *mut VipsImage,
7676 out: *mut *mut VipsImage,
7677 mask: *mut VipsImage,
7678 ...
7679 ) -> core::ffi::c_int;
7680}
7681unsafe extern "C" {
7682 pub fn vips_gaussblur(
7683 in_: *mut VipsImage,
7684 out: *mut *mut VipsImage,
7685 sigma: f64,
7686 ...
7687 ) -> core::ffi::c_int;
7688}
7689unsafe extern "C" {
7690 pub fn vips_sharpen(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7691}
7692unsafe extern "C" {
7693 pub fn vips_spcor(
7694 in_: *mut VipsImage,
7695 ref_: *mut VipsImage,
7696 out: *mut *mut VipsImage,
7697 ...
7698 ) -> core::ffi::c_int;
7699}
7700unsafe extern "C" {
7701 pub fn vips_fastcor(
7702 in_: *mut VipsImage,
7703 ref_: *mut VipsImage,
7704 out: *mut *mut VipsImage,
7705 ...
7706 ) -> core::ffi::c_int;
7707}
7708unsafe extern "C" {
7709 pub fn vips_sobel(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7710}
7711unsafe extern "C" {
7712 pub fn vips_scharr(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7713}
7714unsafe extern "C" {
7715 pub fn vips_prewitt(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7716}
7717unsafe extern "C" {
7718 pub fn vips_canny(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7719}
7720#[repr(u32)]
7721#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7722pub enum VipsOperationMorphology {
7723 VIPS_OPERATION_MORPHOLOGY_ERODE = 0,
7724 VIPS_OPERATION_MORPHOLOGY_DILATE = 1,
7725 VIPS_OPERATION_MORPHOLOGY_LAST = 2,
7726}
7727unsafe extern "C" {
7728 pub fn vips_morph(
7729 in_: *mut VipsImage,
7730 out: *mut *mut VipsImage,
7731 mask: *mut VipsImage,
7732 morph: VipsOperationMorphology,
7733 ...
7734 ) -> core::ffi::c_int;
7735}
7736unsafe extern "C" {
7737 pub fn vips_rank(
7738 in_: *mut VipsImage,
7739 out: *mut *mut VipsImage,
7740 width: core::ffi::c_int,
7741 height: core::ffi::c_int,
7742 index: core::ffi::c_int,
7743 ...
7744 ) -> core::ffi::c_int;
7745}
7746unsafe extern "C" {
7747 pub fn vips_median(
7748 in_: *mut VipsImage,
7749 out: *mut *mut VipsImage,
7750 size: core::ffi::c_int,
7751 ...
7752 ) -> core::ffi::c_int;
7753}
7754unsafe extern "C" {
7755 pub fn vips_countlines(
7756 in_: *mut VipsImage,
7757 nolines: *mut f64,
7758 direction: VipsDirection,
7759 ...
7760 ) -> core::ffi::c_int;
7761}
7762unsafe extern "C" {
7763 pub fn vips_labelregions(
7764 in_: *mut VipsImage,
7765 mask: *mut *mut VipsImage,
7766 ...
7767 ) -> core::ffi::c_int;
7768}
7769unsafe extern "C" {
7770 pub fn vips_fill_nearest(
7771 in_: *mut VipsImage,
7772 out: *mut *mut VipsImage,
7773 ...
7774 ) -> core::ffi::c_int;
7775}
7776unsafe extern "C" {
7777 pub fn vips_merge(
7778 ref_: *mut VipsImage,
7779 sec: *mut VipsImage,
7780 out: *mut *mut VipsImage,
7781 direction: VipsDirection,
7782 dx: core::ffi::c_int,
7783 dy: core::ffi::c_int,
7784 ...
7785 ) -> core::ffi::c_int;
7786}
7787unsafe extern "C" {
7788 pub fn vips_mosaic(
7789 ref_: *mut VipsImage,
7790 sec: *mut VipsImage,
7791 out: *mut *mut VipsImage,
7792 direction: VipsDirection,
7793 xref: core::ffi::c_int,
7794 yref: core::ffi::c_int,
7795 xsec: core::ffi::c_int,
7796 ysec: core::ffi::c_int,
7797 ...
7798 ) -> core::ffi::c_int;
7799}
7800unsafe extern "C" {
7801 pub fn vips_mosaic1(
7802 ref_: *mut VipsImage,
7803 sec: *mut VipsImage,
7804 out: *mut *mut VipsImage,
7805 direction: VipsDirection,
7806 xr1: core::ffi::c_int,
7807 yr1: core::ffi::c_int,
7808 xs1: core::ffi::c_int,
7809 ys1: core::ffi::c_int,
7810 xr2: core::ffi::c_int,
7811 yr2: core::ffi::c_int,
7812 xs2: core::ffi::c_int,
7813 ys2: core::ffi::c_int,
7814 ...
7815 ) -> core::ffi::c_int;
7816}
7817unsafe extern "C" {
7818 pub fn vips_match(
7819 ref_: *mut VipsImage,
7820 sec: *mut VipsImage,
7821 out: *mut *mut VipsImage,
7822 xr1: core::ffi::c_int,
7823 yr1: core::ffi::c_int,
7824 xs1: core::ffi::c_int,
7825 ys1: core::ffi::c_int,
7826 xr2: core::ffi::c_int,
7827 yr2: core::ffi::c_int,
7828 xs2: core::ffi::c_int,
7829 ys2: core::ffi::c_int,
7830 ...
7831 ) -> core::ffi::c_int;
7832}
7833unsafe extern "C" {
7834 pub fn vips_globalbalance(
7835 in_: *mut VipsImage,
7836 out: *mut *mut VipsImage,
7837 ...
7838 ) -> core::ffi::c_int;
7839}
7840unsafe extern "C" {
7841 pub fn vips_remosaic(
7842 in_: *mut VipsImage,
7843 out: *mut *mut VipsImage,
7844 old_str: *const core::ffi::c_char,
7845 new_str: *const core::ffi::c_char,
7846 ...
7847 ) -> core::ffi::c_int;
7848}
7849unsafe extern "C" {
7850 pub fn vips_matrixinvert(m: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7851}
7852unsafe extern "C" {
7853 pub fn vips_matrixmultiply(
7854 left: *mut VipsImage,
7855 right: *mut VipsImage,
7856 out: *mut *mut VipsImage,
7857 ...
7858 ) -> core::ffi::c_int;
7859}
7860unsafe extern "C" {
7861 pub fn vips_maplut(
7862 in_: *mut VipsImage,
7863 out: *mut *mut VipsImage,
7864 lut: *mut VipsImage,
7865 ...
7866 ) -> core::ffi::c_int;
7867}
7868unsafe extern "C" {
7869 pub fn vips_percent(
7870 in_: *mut VipsImage,
7871 percent: f64,
7872 threshold: *mut core::ffi::c_int,
7873 ...
7874 ) -> core::ffi::c_int;
7875}
7876unsafe extern "C" {
7877 pub fn vips_stdif(
7878 in_: *mut VipsImage,
7879 out: *mut *mut VipsImage,
7880 width: core::ffi::c_int,
7881 height: core::ffi::c_int,
7882 ...
7883 ) -> core::ffi::c_int;
7884}
7885unsafe extern "C" {
7886 pub fn vips_hist_cum(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7887}
7888unsafe extern "C" {
7889 pub fn vips_hist_norm(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7890}
7891unsafe extern "C" {
7892 pub fn vips_hist_equal(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7893}
7894unsafe extern "C" {
7895 pub fn vips_hist_plot(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7896}
7897unsafe extern "C" {
7898 pub fn vips_hist_match(
7899 in_: *mut VipsImage,
7900 ref_: *mut VipsImage,
7901 out: *mut *mut VipsImage,
7902 ...
7903 ) -> core::ffi::c_int;
7904}
7905unsafe extern "C" {
7906 pub fn vips_hist_local(
7907 in_: *mut VipsImage,
7908 out: *mut *mut VipsImage,
7909 width: core::ffi::c_int,
7910 height: core::ffi::c_int,
7911 ...
7912 ) -> core::ffi::c_int;
7913}
7914unsafe extern "C" {
7915 pub fn vips_hist_ismonotonic(in_: *mut VipsImage, out: *mut gboolean, ...) -> core::ffi::c_int;
7916}
7917unsafe extern "C" {
7918 pub fn vips_hist_entropy(in_: *mut VipsImage, out: *mut f64, ...) -> core::ffi::c_int;
7919}
7920unsafe extern "C" {
7921 pub fn vips_case(
7922 index: *mut VipsImage,
7923 cases: *mut *mut VipsImage,
7924 out: *mut *mut VipsImage,
7925 n: core::ffi::c_int,
7926 ...
7927 ) -> core::ffi::c_int;
7928}
7929unsafe extern "C" {
7930 pub fn vips_fwfft(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7931}
7932unsafe extern "C" {
7933 pub fn vips_invfft(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7934}
7935unsafe extern "C" {
7936 pub fn vips_freqmult(
7937 in_: *mut VipsImage,
7938 mask: *mut VipsImage,
7939 out: *mut *mut VipsImage,
7940 ...
7941 ) -> core::ffi::c_int;
7942}
7943unsafe extern "C" {
7944 pub fn vips_spectrum(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
7945}
7946unsafe extern "C" {
7947 pub fn vips_phasecor(
7948 in1: *mut VipsImage,
7949 in2: *mut VipsImage,
7950 out: *mut *mut VipsImage,
7951 ...
7952 ) -> core::ffi::c_int;
7953}
7954#[repr(u32)]
7955#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7956pub enum VipsKernel {
7957 VIPS_KERNEL_NEAREST = 0,
7958 VIPS_KERNEL_LINEAR = 1,
7959 VIPS_KERNEL_CUBIC = 2,
7960 VIPS_KERNEL_MITCHELL = 3,
7961 VIPS_KERNEL_LANCZOS2 = 4,
7962 VIPS_KERNEL_LANCZOS3 = 5,
7963 VIPS_KERNEL_MKS2013 = 6,
7964 VIPS_KERNEL_MKS2021 = 7,
7965 VIPS_KERNEL_LAST = 8,
7966}
7967#[repr(u32)]
7968#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7969pub enum VipsSize {
7970 VIPS_SIZE_BOTH = 0,
7971 VIPS_SIZE_UP = 1,
7972 VIPS_SIZE_DOWN = 2,
7973 VIPS_SIZE_FORCE = 3,
7974 VIPS_SIZE_LAST = 4,
7975}
7976unsafe extern "C" {
7977 pub fn vips_shrink(
7978 in_: *mut VipsImage,
7979 out: *mut *mut VipsImage,
7980 hshrink: f64,
7981 vshrink: f64,
7982 ...
7983 ) -> core::ffi::c_int;
7984}
7985unsafe extern "C" {
7986 pub fn vips_shrinkh(
7987 in_: *mut VipsImage,
7988 out: *mut *mut VipsImage,
7989 hshrink: core::ffi::c_int,
7990 ...
7991 ) -> core::ffi::c_int;
7992}
7993unsafe extern "C" {
7994 pub fn vips_shrinkv(
7995 in_: *mut VipsImage,
7996 out: *mut *mut VipsImage,
7997 vshrink: core::ffi::c_int,
7998 ...
7999 ) -> core::ffi::c_int;
8000}
8001unsafe extern "C" {
8002 pub fn vips_reduce(
8003 in_: *mut VipsImage,
8004 out: *mut *mut VipsImage,
8005 hshrink: f64,
8006 vshrink: f64,
8007 ...
8008 ) -> core::ffi::c_int;
8009}
8010unsafe extern "C" {
8011 pub fn vips_reduceh(
8012 in_: *mut VipsImage,
8013 out: *mut *mut VipsImage,
8014 hshrink: f64,
8015 ...
8016 ) -> core::ffi::c_int;
8017}
8018unsafe extern "C" {
8019 pub fn vips_reducev(
8020 in_: *mut VipsImage,
8021 out: *mut *mut VipsImage,
8022 vshrink: f64,
8023 ...
8024 ) -> core::ffi::c_int;
8025}
8026unsafe extern "C" {
8027 pub fn vips_thumbnail(
8028 filename: *const core::ffi::c_char,
8029 out: *mut *mut VipsImage,
8030 width: core::ffi::c_int,
8031 ...
8032 ) -> core::ffi::c_int;
8033}
8034unsafe extern "C" {
8035 pub fn vips_thumbnail_buffer(
8036 buf: *mut core::ffi::c_void,
8037 len: usize,
8038 out: *mut *mut VipsImage,
8039 width: core::ffi::c_int,
8040 ...
8041 ) -> core::ffi::c_int;
8042}
8043unsafe extern "C" {
8044 pub fn vips_thumbnail_image(
8045 in_: *mut VipsImage,
8046 out: *mut *mut VipsImage,
8047 width: core::ffi::c_int,
8048 ...
8049 ) -> core::ffi::c_int;
8050}
8051unsafe extern "C" {
8052 pub fn vips_thumbnail_source(
8053 source: *mut VipsSource,
8054 out: *mut *mut VipsImage,
8055 width: core::ffi::c_int,
8056 ...
8057 ) -> core::ffi::c_int;
8058}
8059unsafe extern "C" {
8060 pub fn vips_similarity(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8061}
8062unsafe extern "C" {
8063 pub fn vips_rotate(
8064 in_: *mut VipsImage,
8065 out: *mut *mut VipsImage,
8066 angle: f64,
8067 ...
8068 ) -> core::ffi::c_int;
8069}
8070unsafe extern "C" {
8071 pub fn vips_affine(
8072 in_: *mut VipsImage,
8073 out: *mut *mut VipsImage,
8074 a: f64,
8075 b: f64,
8076 c: f64,
8077 d: f64,
8078 ...
8079 ) -> core::ffi::c_int;
8080}
8081unsafe extern "C" {
8082 pub fn vips_resize(
8083 in_: *mut VipsImage,
8084 out: *mut *mut VipsImage,
8085 scale: f64,
8086 ...
8087 ) -> core::ffi::c_int;
8088}
8089unsafe extern "C" {
8090 pub fn vips_mapim(
8091 in_: *mut VipsImage,
8092 out: *mut *mut VipsImage,
8093 index: *mut VipsImage,
8094 ...
8095 ) -> core::ffi::c_int;
8096}
8097unsafe extern "C" {
8098 pub fn vips_quadratic(
8099 in_: *mut VipsImage,
8100 out: *mut *mut VipsImage,
8101 coeff: *mut VipsImage,
8102 ...
8103 ) -> core::ffi::c_int;
8104}
8105#[repr(u32)]
8106#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8107pub enum VipsIntent {
8108 VIPS_INTENT_PERCEPTUAL = 0,
8109 VIPS_INTENT_RELATIVE = 1,
8110 VIPS_INTENT_SATURATION = 2,
8111 VIPS_INTENT_ABSOLUTE = 3,
8112 VIPS_INTENT_AUTO = 32,
8113 VIPS_INTENT_LAST = 33,
8114}
8115#[repr(u32)]
8116#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8117pub enum VipsPCS {
8118 VIPS_PCS_LAB = 0,
8119 VIPS_PCS_XYZ = 1,
8120 VIPS_PCS_LAST = 2,
8121}
8122unsafe extern "C" {
8123 pub fn vips_colourspace_issupported(image: *const VipsImage) -> gboolean;
8124}
8125unsafe extern "C" {
8126 pub fn vips_colourspace(
8127 in_: *mut VipsImage,
8128 out: *mut *mut VipsImage,
8129 space: VipsInterpretation,
8130 ...
8131 ) -> core::ffi::c_int;
8132}
8133unsafe extern "C" {
8134 pub fn vips_LabQ2sRGB(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8135}
8136unsafe extern "C" {
8137 pub fn vips_rad2float(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8138}
8139unsafe extern "C" {
8140 pub fn vips_float2rad(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8141}
8142unsafe extern "C" {
8143 pub fn vips_LabS2LabQ(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8144}
8145unsafe extern "C" {
8146 pub fn vips_LabQ2LabS(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8147}
8148unsafe extern "C" {
8149 pub fn vips_LabQ2Lab(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8150}
8151unsafe extern "C" {
8152 pub fn vips_Lab2LabQ(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8153}
8154unsafe extern "C" {
8155 pub fn vips_LCh2Lab(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8156}
8157unsafe extern "C" {
8158 pub fn vips_Lab2LCh(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8159}
8160unsafe extern "C" {
8161 pub fn vips_Lab2XYZ(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8162}
8163unsafe extern "C" {
8164 pub fn vips_XYZ2Lab(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8165}
8166unsafe extern "C" {
8167 pub fn vips_XYZ2scRGB(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8168}
8169unsafe extern "C" {
8170 pub fn vips_scRGB2sRGB(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8171}
8172unsafe extern "C" {
8173 pub fn vips_scRGB2BW(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8174}
8175unsafe extern "C" {
8176 pub fn vips_sRGB2scRGB(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8177}
8178unsafe extern "C" {
8179 pub fn vips_scRGB2XYZ(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8180}
8181unsafe extern "C" {
8182 pub fn vips_HSV2sRGB(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8183}
8184unsafe extern "C" {
8185 pub fn vips_sRGB2HSV(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8186}
8187unsafe extern "C" {
8188 pub fn vips_LCh2CMC(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8189}
8190unsafe extern "C" {
8191 pub fn vips_CMC2LCh(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8192}
8193unsafe extern "C" {
8194 pub fn vips_XYZ2Yxy(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8195}
8196unsafe extern "C" {
8197 pub fn vips_Yxy2XYZ(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8198}
8199unsafe extern "C" {
8200 pub fn vips_LabS2Lab(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8201}
8202unsafe extern "C" {
8203 pub fn vips_Lab2LabS(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8204}
8205unsafe extern "C" {
8206 pub fn vips_CMYK2XYZ(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8207}
8208unsafe extern "C" {
8209 pub fn vips_XYZ2CMYK(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8210}
8211unsafe extern "C" {
8212 pub fn vips_Oklab2XYZ(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8213}
8214unsafe extern "C" {
8215 pub fn vips_XYZ2Oklab(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8216}
8217unsafe extern "C" {
8218 pub fn vips_Oklch2Oklab(in_: *mut VipsImage, out: *mut *mut VipsImage, ...)
8219 -> core::ffi::c_int;
8220}
8221unsafe extern "C" {
8222 pub fn vips_Oklab2Oklch(in_: *mut VipsImage, out: *mut *mut VipsImage, ...)
8223 -> core::ffi::c_int;
8224}
8225unsafe extern "C" {
8226 pub fn vips_uhdr2scRGB(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8227}
8228unsafe extern "C" {
8229 pub fn vips_profile_load(
8230 name: *const core::ffi::c_char,
8231 profile: *mut *mut VipsBlob,
8232 ...
8233 ) -> core::ffi::c_int;
8234}
8235unsafe extern "C" {
8236 pub fn vips_icc_present() -> core::ffi::c_int;
8237}
8238unsafe extern "C" {
8239 pub fn vips_icc_transform(
8240 in_: *mut VipsImage,
8241 out: *mut *mut VipsImage,
8242 output_profile: *const core::ffi::c_char,
8243 ...
8244 ) -> core::ffi::c_int;
8245}
8246unsafe extern "C" {
8247 pub fn vips_icc_import(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8248}
8249unsafe extern "C" {
8250 pub fn vips_icc_export(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8251}
8252unsafe extern "C" {
8253 pub fn vips_icc_ac2rc(
8254 in_: *mut VipsImage,
8255 out: *mut *mut VipsImage,
8256 profile_filename: *const core::ffi::c_char,
8257 ) -> core::ffi::c_int;
8258}
8259unsafe extern "C" {
8260 pub fn vips_icc_is_compatible_profile(
8261 image: *mut VipsImage,
8262 data: *const core::ffi::c_void,
8263 data_length: usize,
8264 ) -> gboolean;
8265}
8266unsafe extern "C" {
8267 pub fn vips_dE76(
8268 left: *mut VipsImage,
8269 right: *mut VipsImage,
8270 out: *mut *mut VipsImage,
8271 ...
8272 ) -> core::ffi::c_int;
8273}
8274unsafe extern "C" {
8275 pub fn vips_dE00(
8276 left: *mut VipsImage,
8277 right: *mut VipsImage,
8278 out: *mut *mut VipsImage,
8279 ...
8280 ) -> core::ffi::c_int;
8281}
8282unsafe extern "C" {
8283 pub fn vips_dECMC(
8284 left: *mut VipsImage,
8285 right: *mut VipsImage,
8286 out: *mut *mut VipsImage,
8287 ...
8288 ) -> core::ffi::c_int;
8289}
8290unsafe extern "C" {
8291 pub fn vips_col_Lab2XYZ(L: f32, a: f32, b: f32, X: *mut f32, Y: *mut f32, Z: *mut f32);
8292}
8293unsafe extern "C" {
8294 pub fn vips_col_XYZ2Lab(X: f32, Y: f32, Z: f32, L: *mut f32, a: *mut f32, b: *mut f32);
8295}
8296unsafe extern "C" {
8297 pub fn vips_col_ab2h(a: f64, b: f64) -> f64;
8298}
8299unsafe extern "C" {
8300 pub fn vips_col_ab2Ch(a: f32, b: f32, C: *mut f32, h: *mut f32);
8301}
8302unsafe extern "C" {
8303 pub fn vips_col_Ch2ab(C: f32, h: f32, a: *mut f32, b: *mut f32);
8304}
8305unsafe extern "C" {
8306 pub fn vips_col_L2Lcmc(L: f32) -> f32;
8307}
8308unsafe extern "C" {
8309 pub fn vips_col_C2Ccmc(C: f32) -> f32;
8310}
8311unsafe extern "C" {
8312 pub fn vips_col_Ch2hcmc(C: f32, h: f32) -> f32;
8313}
8314unsafe extern "C" {
8315 pub fn vips_col_make_tables_CMC();
8316}
8317unsafe extern "C" {
8318 pub fn vips_col_Lcmc2L(Lcmc: f32) -> f32;
8319}
8320unsafe extern "C" {
8321 pub fn vips_col_Ccmc2C(Ccmc: f32) -> f32;
8322}
8323unsafe extern "C" {
8324 pub fn vips_col_Chcmc2h(C: f32, hcmc: f32) -> f32;
8325}
8326unsafe extern "C" {
8327 pub fn vips_col_sRGB2scRGB_8(
8328 r: core::ffi::c_int,
8329 g: core::ffi::c_int,
8330 b: core::ffi::c_int,
8331 R: *mut f32,
8332 G: *mut f32,
8333 B: *mut f32,
8334 ) -> core::ffi::c_int;
8335}
8336unsafe extern "C" {
8337 pub fn vips_col_sRGB2scRGB_16(
8338 r: core::ffi::c_int,
8339 g: core::ffi::c_int,
8340 b: core::ffi::c_int,
8341 R: *mut f32,
8342 G: *mut f32,
8343 B: *mut f32,
8344 ) -> core::ffi::c_int;
8345}
8346unsafe extern "C" {
8347 pub fn vips_col_sRGB2scRGB_8_noclip(
8348 r: core::ffi::c_int,
8349 g: core::ffi::c_int,
8350 b: core::ffi::c_int,
8351 R: *mut f32,
8352 G: *mut f32,
8353 B: *mut f32,
8354 ) -> core::ffi::c_int;
8355}
8356unsafe extern "C" {
8357 pub fn vips_col_sRGB2scRGB_16_noclip(
8358 r: core::ffi::c_int,
8359 g: core::ffi::c_int,
8360 b: core::ffi::c_int,
8361 R: *mut f32,
8362 G: *mut f32,
8363 B: *mut f32,
8364 ) -> core::ffi::c_int;
8365}
8366unsafe extern "C" {
8367 pub fn vips_col_scRGB2XYZ(
8368 R: f32,
8369 G: f32,
8370 B: f32,
8371 X: *mut f32,
8372 Y: *mut f32,
8373 Z: *mut f32,
8374 ) -> core::ffi::c_int;
8375}
8376unsafe extern "C" {
8377 pub fn vips_col_XYZ2scRGB(
8378 X: f32,
8379 Y: f32,
8380 Z: f32,
8381 R: *mut f32,
8382 G: *mut f32,
8383 B: *mut f32,
8384 ) -> core::ffi::c_int;
8385}
8386unsafe extern "C" {
8387 pub fn vips_col_scRGB2sRGB_8(
8388 R: f32,
8389 G: f32,
8390 B: f32,
8391 r: *mut core::ffi::c_int,
8392 g: *mut core::ffi::c_int,
8393 b: *mut core::ffi::c_int,
8394 og: *mut core::ffi::c_int,
8395 ) -> core::ffi::c_int;
8396}
8397unsafe extern "C" {
8398 pub fn vips_col_scRGB2sRGB_16(
8399 R: f32,
8400 G: f32,
8401 B: f32,
8402 r: *mut core::ffi::c_int,
8403 g: *mut core::ffi::c_int,
8404 b: *mut core::ffi::c_int,
8405 og: *mut core::ffi::c_int,
8406 ) -> core::ffi::c_int;
8407}
8408unsafe extern "C" {
8409 pub fn vips_col_scRGB2BW_16(
8410 R: f32,
8411 G: f32,
8412 B: f32,
8413 g: *mut core::ffi::c_int,
8414 og: *mut core::ffi::c_int,
8415 ) -> core::ffi::c_int;
8416}
8417unsafe extern "C" {
8418 pub fn vips_col_scRGB2BW_8(
8419 R: f32,
8420 G: f32,
8421 B: f32,
8422 g: *mut core::ffi::c_int,
8423 og: *mut core::ffi::c_int,
8424 ) -> core::ffi::c_int;
8425}
8426unsafe extern "C" {
8427 pub fn vips_pythagoras(L1: f32, a1: f32, b1: f32, L2: f32, a2: f32, b2: f32) -> f32;
8428}
8429unsafe extern "C" {
8430 pub fn vips_col_dE00(L1: f32, a1: f32, b1: f32, L2: f32, a2: f32, b2: f32) -> f32;
8431}
8432#[repr(u32)]
8433#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8434pub enum VipsCombineMode {
8435 VIPS_COMBINE_MODE_SET = 0,
8436 VIPS_COMBINE_MODE_ADD = 1,
8437 VIPS_COMBINE_MODE_LAST = 2,
8438}
8439unsafe extern "C" {
8440 pub fn vips_draw_rect(
8441 image: *mut VipsImage,
8442 ink: *mut f64,
8443 n: core::ffi::c_int,
8444 left: core::ffi::c_int,
8445 top: core::ffi::c_int,
8446 width: core::ffi::c_int,
8447 height: core::ffi::c_int,
8448 ...
8449 ) -> core::ffi::c_int;
8450}
8451unsafe extern "C" {
8452 pub fn vips_draw_rect1(
8453 image: *mut VipsImage,
8454 ink: f64,
8455 left: core::ffi::c_int,
8456 top: core::ffi::c_int,
8457 width: core::ffi::c_int,
8458 height: core::ffi::c_int,
8459 ...
8460 ) -> core::ffi::c_int;
8461}
8462unsafe extern "C" {
8463 pub fn vips_draw_point(
8464 image: *mut VipsImage,
8465 ink: *mut f64,
8466 n: core::ffi::c_int,
8467 x: core::ffi::c_int,
8468 y: core::ffi::c_int,
8469 ...
8470 ) -> core::ffi::c_int;
8471}
8472unsafe extern "C" {
8473 pub fn vips_draw_point1(
8474 image: *mut VipsImage,
8475 ink: f64,
8476 x: core::ffi::c_int,
8477 y: core::ffi::c_int,
8478 ...
8479 ) -> core::ffi::c_int;
8480}
8481unsafe extern "C" {
8482 pub fn vips_draw_image(
8483 image: *mut VipsImage,
8484 sub: *mut VipsImage,
8485 x: core::ffi::c_int,
8486 y: core::ffi::c_int,
8487 ...
8488 ) -> core::ffi::c_int;
8489}
8490unsafe extern "C" {
8491 pub fn vips_draw_mask(
8492 image: *mut VipsImage,
8493 ink: *mut f64,
8494 n: core::ffi::c_int,
8495 mask: *mut VipsImage,
8496 x: core::ffi::c_int,
8497 y: core::ffi::c_int,
8498 ...
8499 ) -> core::ffi::c_int;
8500}
8501unsafe extern "C" {
8502 pub fn vips_draw_mask1(
8503 image: *mut VipsImage,
8504 ink: f64,
8505 mask: *mut VipsImage,
8506 x: core::ffi::c_int,
8507 y: core::ffi::c_int,
8508 ...
8509 ) -> core::ffi::c_int;
8510}
8511unsafe extern "C" {
8512 pub fn vips_draw_line(
8513 image: *mut VipsImage,
8514 ink: *mut f64,
8515 n: core::ffi::c_int,
8516 x1: core::ffi::c_int,
8517 y1: core::ffi::c_int,
8518 x2: core::ffi::c_int,
8519 y2: core::ffi::c_int,
8520 ...
8521 ) -> core::ffi::c_int;
8522}
8523unsafe extern "C" {
8524 pub fn vips_draw_line1(
8525 image: *mut VipsImage,
8526 ink: f64,
8527 x1: core::ffi::c_int,
8528 y1: core::ffi::c_int,
8529 x2: core::ffi::c_int,
8530 y2: core::ffi::c_int,
8531 ...
8532 ) -> core::ffi::c_int;
8533}
8534unsafe extern "C" {
8535 pub fn vips_draw_circle(
8536 image: *mut VipsImage,
8537 ink: *mut f64,
8538 n: core::ffi::c_int,
8539 cx: core::ffi::c_int,
8540 cy: core::ffi::c_int,
8541 radius: core::ffi::c_int,
8542 ...
8543 ) -> core::ffi::c_int;
8544}
8545unsafe extern "C" {
8546 pub fn vips_draw_circle1(
8547 image: *mut VipsImage,
8548 ink: f64,
8549 cx: core::ffi::c_int,
8550 cy: core::ffi::c_int,
8551 radius: core::ffi::c_int,
8552 ...
8553 ) -> core::ffi::c_int;
8554}
8555unsafe extern "C" {
8556 pub fn vips_draw_flood(
8557 image: *mut VipsImage,
8558 ink: *mut f64,
8559 n: core::ffi::c_int,
8560 x: core::ffi::c_int,
8561 y: core::ffi::c_int,
8562 ...
8563 ) -> core::ffi::c_int;
8564}
8565unsafe extern "C" {
8566 pub fn vips_draw_flood1(
8567 image: *mut VipsImage,
8568 ink: f64,
8569 x: core::ffi::c_int,
8570 y: core::ffi::c_int,
8571 ...
8572 ) -> core::ffi::c_int;
8573}
8574unsafe extern "C" {
8575 pub fn vips_draw_smudge(
8576 image: *mut VipsImage,
8577 left: core::ffi::c_int,
8578 top: core::ffi::c_int,
8579 width: core::ffi::c_int,
8580 height: core::ffi::c_int,
8581 ...
8582 ) -> core::ffi::c_int;
8583}
8584#[repr(u32)]
8585#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8586pub enum VipsTextWrap {
8587 VIPS_TEXT_WRAP_WORD = 0,
8588 VIPS_TEXT_WRAP_CHAR = 1,
8589 VIPS_TEXT_WRAP_WORD_CHAR = 2,
8590 VIPS_TEXT_WRAP_NONE = 3,
8591 VIPS_TEXT_WRAP_LAST = 4,
8592}
8593#[repr(u32)]
8594#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8595pub enum VipsSdfShape {
8596 VIPS_SDF_SHAPE_CIRCLE = 0,
8597 VIPS_SDF_SHAPE_BOX = 1,
8598 VIPS_SDF_SHAPE_ROUNDED_BOX = 2,
8599 VIPS_SDF_SHAPE_LINE = 3,
8600 VIPS_SDF_SHAPE_LAST = 4,
8601}
8602unsafe extern "C" {
8603 pub fn vips_black(
8604 out: *mut *mut VipsImage,
8605 width: core::ffi::c_int,
8606 height: core::ffi::c_int,
8607 ...
8608 ) -> core::ffi::c_int;
8609}
8610unsafe extern "C" {
8611 pub fn vips_xyz(
8612 out: *mut *mut VipsImage,
8613 width: core::ffi::c_int,
8614 height: core::ffi::c_int,
8615 ...
8616 ) -> core::ffi::c_int;
8617}
8618unsafe extern "C" {
8619 pub fn vips_grey(
8620 out: *mut *mut VipsImage,
8621 width: core::ffi::c_int,
8622 height: core::ffi::c_int,
8623 ...
8624 ) -> core::ffi::c_int;
8625}
8626unsafe extern "C" {
8627 pub fn vips_gaussmat(
8628 out: *mut *mut VipsImage,
8629 sigma: f64,
8630 min_ampl: f64,
8631 ...
8632 ) -> core::ffi::c_int;
8633}
8634unsafe extern "C" {
8635 pub fn vips_logmat(
8636 out: *mut *mut VipsImage,
8637 sigma: f64,
8638 min_ampl: f64,
8639 ...
8640 ) -> core::ffi::c_int;
8641}
8642unsafe extern "C" {
8643 pub fn vips_text(
8644 out: *mut *mut VipsImage,
8645 text: *const core::ffi::c_char,
8646 ...
8647 ) -> core::ffi::c_int;
8648}
8649unsafe extern "C" {
8650 pub fn vips_gaussnoise(
8651 out: *mut *mut VipsImage,
8652 width: core::ffi::c_int,
8653 height: core::ffi::c_int,
8654 ...
8655 ) -> core::ffi::c_int;
8656}
8657unsafe extern "C" {
8658 pub fn vips_eye(
8659 out: *mut *mut VipsImage,
8660 width: core::ffi::c_int,
8661 height: core::ffi::c_int,
8662 ...
8663 ) -> core::ffi::c_int;
8664}
8665unsafe extern "C" {
8666 pub fn vips_sines(
8667 out: *mut *mut VipsImage,
8668 width: core::ffi::c_int,
8669 height: core::ffi::c_int,
8670 ...
8671 ) -> core::ffi::c_int;
8672}
8673unsafe extern "C" {
8674 pub fn vips_zone(
8675 out: *mut *mut VipsImage,
8676 width: core::ffi::c_int,
8677 height: core::ffi::c_int,
8678 ...
8679 ) -> core::ffi::c_int;
8680}
8681unsafe extern "C" {
8682 pub fn vips_sdf(
8683 out: *mut *mut VipsImage,
8684 width: core::ffi::c_int,
8685 height: core::ffi::c_int,
8686 shape: VipsSdfShape,
8687 ...
8688 ) -> core::ffi::c_int;
8689}
8690unsafe extern "C" {
8691 pub fn vips_identity(out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8692}
8693unsafe extern "C" {
8694 pub fn vips_buildlut(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8695}
8696unsafe extern "C" {
8697 pub fn vips_invertlut(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8698}
8699unsafe extern "C" {
8700 pub fn vips_tonelut(out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
8701}
8702unsafe extern "C" {
8703 pub fn vips_mask_ideal(
8704 out: *mut *mut VipsImage,
8705 width: core::ffi::c_int,
8706 height: core::ffi::c_int,
8707 frequency_cutoff: f64,
8708 ...
8709 ) -> core::ffi::c_int;
8710}
8711unsafe extern "C" {
8712 pub fn vips_mask_ideal_ring(
8713 out: *mut *mut VipsImage,
8714 width: core::ffi::c_int,
8715 height: core::ffi::c_int,
8716 frequency_cutoff: f64,
8717 ringwidth: f64,
8718 ...
8719 ) -> core::ffi::c_int;
8720}
8721unsafe extern "C" {
8722 pub fn vips_mask_ideal_band(
8723 out: *mut *mut VipsImage,
8724 width: core::ffi::c_int,
8725 height: core::ffi::c_int,
8726 frequency_cutoff_x: f64,
8727 frequency_cutoff_y: f64,
8728 radius: f64,
8729 ...
8730 ) -> core::ffi::c_int;
8731}
8732unsafe extern "C" {
8733 pub fn vips_mask_butterworth(
8734 out: *mut *mut VipsImage,
8735 width: core::ffi::c_int,
8736 height: core::ffi::c_int,
8737 order: f64,
8738 frequency_cutoff: f64,
8739 amplitude_cutoff: f64,
8740 ...
8741 ) -> core::ffi::c_int;
8742}
8743unsafe extern "C" {
8744 pub fn vips_mask_butterworth_ring(
8745 out: *mut *mut VipsImage,
8746 width: core::ffi::c_int,
8747 height: core::ffi::c_int,
8748 order: f64,
8749 frequency_cutoff: f64,
8750 amplitude_cutoff: f64,
8751 ringwidth: f64,
8752 ...
8753 ) -> core::ffi::c_int;
8754}
8755unsafe extern "C" {
8756 pub fn vips_mask_butterworth_band(
8757 out: *mut *mut VipsImage,
8758 width: core::ffi::c_int,
8759 height: core::ffi::c_int,
8760 order: f64,
8761 frequency_cutoff_x: f64,
8762 frequency_cutoff_y: f64,
8763 radius: f64,
8764 amplitude_cutoff: f64,
8765 ...
8766 ) -> core::ffi::c_int;
8767}
8768unsafe extern "C" {
8769 pub fn vips_mask_gaussian(
8770 out: *mut *mut VipsImage,
8771 width: core::ffi::c_int,
8772 height: core::ffi::c_int,
8773 frequency_cutoff: f64,
8774 amplitude_cutoff: f64,
8775 ...
8776 ) -> core::ffi::c_int;
8777}
8778unsafe extern "C" {
8779 pub fn vips_mask_gaussian_ring(
8780 out: *mut *mut VipsImage,
8781 width: core::ffi::c_int,
8782 height: core::ffi::c_int,
8783 frequency_cutoff: f64,
8784 amplitude_cutoff: f64,
8785 ringwidth: f64,
8786 ...
8787 ) -> core::ffi::c_int;
8788}
8789unsafe extern "C" {
8790 pub fn vips_mask_gaussian_band(
8791 out: *mut *mut VipsImage,
8792 width: core::ffi::c_int,
8793 height: core::ffi::c_int,
8794 frequency_cutoff_x: f64,
8795 frequency_cutoff_y: f64,
8796 radius: f64,
8797 amplitude_cutoff: f64,
8798 ...
8799 ) -> core::ffi::c_int;
8800}
8801unsafe extern "C" {
8802 pub fn vips_mask_fractal(
8803 out: *mut *mut VipsImage,
8804 width: core::ffi::c_int,
8805 height: core::ffi::c_int,
8806 fractal_dimension: f64,
8807 ...
8808 ) -> core::ffi::c_int;
8809}
8810unsafe extern "C" {
8811 pub fn vips_fractsurf(
8812 out: *mut *mut VipsImage,
8813 width: core::ffi::c_int,
8814 height: core::ffi::c_int,
8815 fractal_dimension: f64,
8816 ...
8817 ) -> core::ffi::c_int;
8818}
8819unsafe extern "C" {
8820 pub fn vips_worley(
8821 out: *mut *mut VipsImage,
8822 width: core::ffi::c_int,
8823 height: core::ffi::c_int,
8824 ...
8825 ) -> core::ffi::c_int;
8826}
8827unsafe extern "C" {
8828 pub fn vips_perlin(
8829 out: *mut *mut VipsImage,
8830 width: core::ffi::c_int,
8831 height: core::ffi::c_int,
8832 ...
8833 ) -> core::ffi::c_int;
8834}
8835#[repr(C)]
8836#[derive(Debug, Copy, Clone)]
8837pub struct im__INTMASK {
8838 pub xsize: core::ffi::c_int,
8839 pub ysize: core::ffi::c_int,
8840 pub scale: core::ffi::c_int,
8841 pub offset: core::ffi::c_int,
8842 pub coeff: *mut core::ffi::c_int,
8843 pub filename: *mut core::ffi::c_char,
8844}
8845pub type INTMASK = im__INTMASK;
8846#[repr(C)]
8847#[derive(Debug, Copy, Clone)]
8848pub struct im__DOUBLEMASK {
8849 pub xsize: core::ffi::c_int,
8850 pub ysize: core::ffi::c_int,
8851 pub scale: f64,
8852 pub offset: f64,
8853 pub coeff: *mut f64,
8854 pub filename: *mut core::ffi::c_char,
8855}
8856pub type DOUBLEMASK = im__DOUBLEMASK;
8857unsafe extern "C" {
8858 pub fn vips_image_new_mode(
8859 filename: *const core::ffi::c_char,
8860 mode: *const core::ffi::c_char,
8861 ) -> *mut VipsImage;
8862}
8863unsafe extern "C" {
8864 pub fn vips_image_open_input(image: *mut VipsImage) -> core::ffi::c_int;
8865}
8866unsafe extern "C" {
8867 pub fn vips_image_open_output(image: *mut VipsImage) -> core::ffi::c_int;
8868}
8869unsafe extern "C" {
8870 pub fn vips_mapfile(image: *mut VipsImage) -> core::ffi::c_int;
8871}
8872unsafe extern "C" {
8873 pub fn vips_mapfilerw(image: *mut VipsImage) -> core::ffi::c_int;
8874}
8875unsafe extern "C" {
8876 pub fn vips_remapfilerw(image: *mut VipsImage) -> core::ffi::c_int;
8877}
8878pub type VipsPlotFn = ::core::option::Option<
8879 unsafe extern "C" fn(
8880 image: *mut VipsImage,
8881 x: core::ffi::c_int,
8882 y: core::ffi::c_int,
8883 a: *mut core::ffi::c_void,
8884 b: *mut core::ffi::c_void,
8885 c: *mut core::ffi::c_void,
8886 ) -> core::ffi::c_int,
8887>;
8888unsafe extern "C" {
8889 pub fn vips__deprecated_open_read(
8890 filename: *const core::ffi::c_char,
8891 sequential: gboolean,
8892 ) -> *mut VipsImage;
8893}
8894unsafe extern "C" {
8895 pub fn vips__deprecated_open_write(filename: *const core::ffi::c_char) -> *mut VipsImage;
8896}
8897unsafe extern "C" {
8898 pub fn vips__find_lroverlap(
8899 ref_in: *mut VipsImage,
8900 sec_in: *mut VipsImage,
8901 out: *mut VipsImage,
8902 bandno_in: core::ffi::c_int,
8903 xref: core::ffi::c_int,
8904 yref: core::ffi::c_int,
8905 xsec: core::ffi::c_int,
8906 ysec: core::ffi::c_int,
8907 halfcorrelation: core::ffi::c_int,
8908 halfarea: core::ffi::c_int,
8909 dx0: *mut core::ffi::c_int,
8910 dy0: *mut core::ffi::c_int,
8911 scale1: *mut f64,
8912 angle1: *mut f64,
8913 dx1: *mut f64,
8914 dy1: *mut f64,
8915 ) -> core::ffi::c_int;
8916}
8917unsafe extern "C" {
8918 pub fn vips__find_tboverlap(
8919 ref_in: *mut VipsImage,
8920 sec_in: *mut VipsImage,
8921 out: *mut VipsImage,
8922 bandno_in: core::ffi::c_int,
8923 xref: core::ffi::c_int,
8924 yref: core::ffi::c_int,
8925 xsec: core::ffi::c_int,
8926 ysec: core::ffi::c_int,
8927 halfcorrelation: core::ffi::c_int,
8928 halfarea: core::ffi::c_int,
8929 dx0: *mut core::ffi::c_int,
8930 dy0: *mut core::ffi::c_int,
8931 scale1: *mut f64,
8932 angle1: *mut f64,
8933 dx1: *mut f64,
8934 dy1: *mut f64,
8935 ) -> core::ffi::c_int;
8936}
8937unsafe extern "C" {
8938 pub fn vips_check_imask(
8939 domain: *const core::ffi::c_char,
8940 mask: *mut INTMASK,
8941 ) -> core::ffi::c_int;
8942}
8943unsafe extern "C" {
8944 pub fn vips_check_dmask(
8945 domain: *const core::ffi::c_char,
8946 mask: *mut DOUBLEMASK,
8947 ) -> core::ffi::c_int;
8948}
8949unsafe extern "C" {
8950 pub fn vips_check_dmask_1d(
8951 domain: *const core::ffi::c_char,
8952 mask: *mut DOUBLEMASK,
8953 ) -> core::ffi::c_int;
8954}
8955unsafe extern "C" {
8956 pub fn vips_get_option_group() -> *mut GOptionGroup;
8957}
8958unsafe extern "C" {
8959 pub fn vips_window_ref(
8960 im: *mut VipsImage,
8961 top: core::ffi::c_int,
8962 height: core::ffi::c_int,
8963 ) -> *mut VipsWindow;
8964}
8965unsafe extern "C" {
8966 pub fn vips_popenf(
8967 fmt: *const core::ffi::c_char,
8968 mode: *const core::ffi::c_char,
8969 ...
8970 ) -> *mut FILE;
8971}
8972unsafe extern "C" {
8973 pub fn vips__ink_to_vector(
8974 domain: *const core::ffi::c_char,
8975 im: *mut VipsImage,
8976 ink: *mut VipsPel,
8977 n: *mut core::ffi::c_int,
8978 ) -> *mut f64;
8979}
8980unsafe extern "C" {
8981 pub fn vips__init(argv0: *const core::ffi::c_char) -> core::ffi::c_int;
8982}
8983unsafe extern "C" {
8984 pub fn vips__get_sizeof_vipsobject() -> usize;
8985}
8986#[repr(C)]
8987#[derive(Debug, Copy, Clone)]
8988pub struct VipsVector {
8989 pub name: *const core::ffi::c_char,
8990 pub unique_name: *mut core::ffi::c_char,
8991 pub n_temp: core::ffi::c_int,
8992 pub n_scanline: core::ffi::c_int,
8993 pub n_source: core::ffi::c_int,
8994 pub n_destination: core::ffi::c_int,
8995 pub n_constant: core::ffi::c_int,
8996 pub n_parameter: core::ffi::c_int,
8997 pub n_instruction: core::ffi::c_int,
8998 pub sl: [core::ffi::c_int; 10usize],
8999 pub line: [core::ffi::c_int; 10usize],
9000 pub s: [core::ffi::c_int; 10usize],
9001 pub d1: core::ffi::c_int,
9002 pub compiled: gboolean,
9003}
9004#[repr(C)]
9005#[derive(Debug, Copy, Clone)]
9006pub struct VipsExecutor {
9007 pub vector: *mut VipsVector,
9008}
9009unsafe extern "C" {
9010 pub fn vips_vector_init();
9011}
9012unsafe extern "C" {
9013 pub fn vips_vector_free(vector: *mut VipsVector);
9014}
9015unsafe extern "C" {
9016 pub fn vips_vector_new(
9017 name: *const core::ffi::c_char,
9018 dsize: core::ffi::c_int,
9019 ) -> *mut VipsVector;
9020}
9021unsafe extern "C" {
9022 pub fn vips_vector_constant(
9023 vector: *mut VipsVector,
9024 name: *mut core::ffi::c_char,
9025 value: core::ffi::c_int,
9026 size: core::ffi::c_int,
9027 );
9028}
9029unsafe extern "C" {
9030 pub fn vips_vector_source_scanline(
9031 vector: *mut VipsVector,
9032 name: *mut core::ffi::c_char,
9033 line: core::ffi::c_int,
9034 size: core::ffi::c_int,
9035 );
9036}
9037unsafe extern "C" {
9038 pub fn vips_vector_source_name(
9039 vector: *mut VipsVector,
9040 name: *const core::ffi::c_char,
9041 size: core::ffi::c_int,
9042 ) -> core::ffi::c_int;
9043}
9044unsafe extern "C" {
9045 pub fn vips_vector_temporary(
9046 vector: *mut VipsVector,
9047 name: *const core::ffi::c_char,
9048 size: core::ffi::c_int,
9049 );
9050}
9051unsafe extern "C" {
9052 pub fn vips_vector_parameter(
9053 vector: *mut VipsVector,
9054 name: *const core::ffi::c_char,
9055 size: core::ffi::c_int,
9056 ) -> core::ffi::c_int;
9057}
9058unsafe extern "C" {
9059 pub fn vips_vector_destination(
9060 vector: *mut VipsVector,
9061 name: *const core::ffi::c_char,
9062 size: core::ffi::c_int,
9063 ) -> core::ffi::c_int;
9064}
9065unsafe extern "C" {
9066 pub fn vips_vector_asm2(
9067 vector: *mut VipsVector,
9068 op: *const core::ffi::c_char,
9069 a: *const core::ffi::c_char,
9070 b: *const core::ffi::c_char,
9071 );
9072}
9073unsafe extern "C" {
9074 pub fn vips_vector_asm3(
9075 vector: *mut VipsVector,
9076 op: *const core::ffi::c_char,
9077 a: *const core::ffi::c_char,
9078 b: *const core::ffi::c_char,
9079 c: *const core::ffi::c_char,
9080 );
9081}
9082unsafe extern "C" {
9083 pub fn vips_vector_full(vector: *mut VipsVector) -> gboolean;
9084}
9085unsafe extern "C" {
9086 pub fn vips_vector_compile(vector: *mut VipsVector) -> gboolean;
9087}
9088unsafe extern "C" {
9089 pub fn vips_vector_print(vector: *mut VipsVector);
9090}
9091unsafe extern "C" {
9092 pub fn vips_executor_set_program(
9093 executor: *mut VipsExecutor,
9094 vector: *mut VipsVector,
9095 n: core::ffi::c_int,
9096 );
9097}
9098unsafe extern "C" {
9099 pub fn vips_executor_set_scanline(
9100 executor: *mut VipsExecutor,
9101 ir: *mut VipsRegion,
9102 x: core::ffi::c_int,
9103 y: core::ffi::c_int,
9104 );
9105}
9106unsafe extern "C" {
9107 pub fn vips_executor_set_destination(
9108 executor: *mut VipsExecutor,
9109 value: *mut core::ffi::c_void,
9110 );
9111}
9112unsafe extern "C" {
9113 pub fn vips_executor_set_parameter(
9114 executor: *mut VipsExecutor,
9115 var: core::ffi::c_int,
9116 value: core::ffi::c_int,
9117 );
9118}
9119unsafe extern "C" {
9120 pub fn vips_executor_set_array(
9121 executor: *mut VipsExecutor,
9122 var: core::ffi::c_int,
9123 value: *mut core::ffi::c_void,
9124 );
9125}
9126unsafe extern "C" {
9127 pub fn vips_executor_run(executor: *mut VipsExecutor);
9128}
9129unsafe extern "C" {
9130 pub fn vips_vector_to_fixed_point(
9131 in_: *mut f64,
9132 out: *mut core::ffi::c_int,
9133 n: core::ffi::c_int,
9134 scale: core::ffi::c_int,
9135 );
9136}
9137pub type im_object = *mut core::ffi::c_void;
9138unsafe extern "C" {
9139 pub fn vips__input_interpolate_init(
9140 obj: *mut im_object,
9141 str_: *mut core::ffi::c_char,
9142 ) -> core::ffi::c_int;
9143}
9144impl VipsBBits {
9145 pub const IM_BBITS_FLOAT: VipsBBits = VipsBBits::IM_BBITS_INT;
9146}
9147impl VipsBBits {
9148 pub const IM_BBITS_DOUBLE: VipsBBits = VipsBBits::IM_BBITS_COMPLEX;
9149}
9150#[repr(u32)]
9151#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9152pub enum VipsBBits {
9153 IM_BBITS_BYTE = 8,
9154 IM_BBITS_SHORT = 16,
9155 IM_BBITS_INT = 32,
9156 IM_BBITS_COMPLEX = 64,
9157 IM_BBITS_DPCOMPLEX = 128,
9158}
9159unsafe extern "C" {
9160 pub fn vips_g_mutex_new() -> *mut GMutex;
9161}
9162unsafe extern "C" {
9163 pub fn vips_g_mutex_free(arg1: *mut GMutex);
9164}
9165unsafe extern "C" {
9166 pub fn vips_g_cond_new() -> *mut GCond;
9167}
9168unsafe extern "C" {
9169 pub fn vips_g_cond_free(arg1: *mut GCond);
9170}
9171unsafe extern "C" {
9172 pub fn vips_g_thread_join(thread: *mut GThread) -> *mut core::ffi::c_void;
9173}
9174unsafe extern "C" {
9175 pub fn vips_cache(in_: *mut VipsImage, out: *mut *mut VipsImage, ...) -> core::ffi::c_int;
9176}
9177#[repr(u32)]
9178#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
9179pub enum VipsForeignJpegSubsample {
9180 VIPS_FOREIGN_JPEG_SUBSAMPLE_AUTO = 0,
9181 VIPS_FOREIGN_JPEG_SUBSAMPLE_ON = 1,
9182 VIPS_FOREIGN_JPEG_SUBSAMPLE_OFF = 2,
9183 VIPS_FOREIGN_JPEG_SUBSAMPLE_LAST = 3,
9184}
9185unsafe extern "C" {
9186 pub fn vips_rawsave_fd(in_: *mut VipsImage, fd: core::ffi::c_int, ...) -> core::ffi::c_int;
9187}
9188unsafe extern "C" {
9189 pub fn vips_warn(domain: *const core::ffi::c_char, fmt: *const core::ffi::c_char, ...);
9190}
9191unsafe extern "C" {
9192 pub fn vips_vwarn(domain: *const core::ffi::c_char, fmt: *const core::ffi::c_char, ap: va_list);
9193}
9194unsafe extern "C" {
9195 pub fn vips_info_set(info: gboolean);
9196}
9197unsafe extern "C" {
9198 pub fn vips_info(domain: *const core::ffi::c_char, fmt: *const core::ffi::c_char, ...);
9199}
9200unsafe extern "C" {
9201 pub fn vips_vinfo(domain: *const core::ffi::c_char, fmt: *const core::ffi::c_char, ap: va_list);
9202}
9203unsafe extern "C" {
9204 pub fn vips_autorot_get_angle(image: *mut VipsImage) -> VipsAngle;
9205}
9206unsafe extern "C" {
9207 pub fn vips_thread_isworker() -> gboolean;
9208}
9209unsafe extern "C" {
9210 pub fn vips_free(buf: *mut core::ffi::c_void) -> core::ffi::c_int;
9211}
9212unsafe extern "C" {
9213 pub fn vips_target_finish(target: *mut VipsTarget);
9214}
9215unsafe extern "C" {
9216 pub fn vips_cache_operation_lookup(operation: *mut VipsOperation) -> *mut VipsOperation;
9217}
9218unsafe extern "C" {
9219 pub fn vips_cache_operation_add(operation: *mut VipsOperation);
9220}
9221unsafe extern "C" {
9222 pub fn vips_strncpy(
9223 dest: *mut core::ffi::c_char,
9224 src: *const core::ffi::c_char,
9225 n: core::ffi::c_int,
9226 ) -> *mut core::ffi::c_char;
9227}
9228unsafe extern "C" {
9229 pub fn vips_strrstr(
9230 haystack: *const core::ffi::c_char,
9231 needle: *const core::ffi::c_char,
9232 ) -> *mut core::ffi::c_char;
9233}
9234unsafe extern "C" {
9235 pub fn vips_ispostfix(a: *const core::ffi::c_char, b: *const core::ffi::c_char) -> gboolean;
9236}
9237unsafe extern "C" {
9238 pub fn vips_vsnprintf(
9239 str_: *mut core::ffi::c_char,
9240 size: usize,
9241 format: *const core::ffi::c_char,
9242 ap: va_list,
9243 ) -> core::ffi::c_int;
9244}
9245unsafe extern "C" {
9246 pub fn vips_snprintf(
9247 str_: *mut core::ffi::c_char,
9248 size: usize,
9249 format: *const core::ffi::c_char,
9250 ...
9251 ) -> core::ffi::c_int;
9252}
9253unsafe extern "C" {
9254 pub fn vips_max_coord_get() -> core::ffi::c_int;
9255}
9256unsafe extern "C" {
9257 pub fn vips_init(argv0: *const core::ffi::c_char) -> core::ffi::c_int;
9258}
9259unsafe extern "C" {
9260 pub fn vips_get_argv0() -> *const core::ffi::c_char;
9261}
9262unsafe extern "C" {
9263 pub fn vips_get_prgname() -> *const core::ffi::c_char;
9264}
9265unsafe extern "C" {
9266 pub fn vips_shutdown();
9267}
9268unsafe extern "C" {
9269 pub fn vips_thread_shutdown();
9270}
9271unsafe extern "C" {
9272 pub fn vips_add_option_entries(option_group: *mut GOptionGroup);
9273}
9274unsafe extern "C" {
9275 pub fn vips_leak_set(leak: gboolean);
9276}
9277unsafe extern "C" {
9278 pub fn vips_block_untrusted_set(state: gboolean);
9279}
9280unsafe extern "C" {
9281 pub fn vips_version_string() -> *const core::ffi::c_char;
9282}
9283unsafe extern "C" {
9284 pub fn vips_version(flag: core::ffi::c_int) -> core::ffi::c_int;
9285}
9286unsafe extern "C" {
9287 pub fn vips_guess_prefix(
9288 argv0: *const core::ffi::c_char,
9289 env_name: *const core::ffi::c_char,
9290 ) -> *const core::ffi::c_char;
9291}
9292unsafe extern "C" {
9293 pub fn vips_guess_libdir(
9294 argv0: *const core::ffi::c_char,
9295 env_name: *const core::ffi::c_char,
9296 ) -> *const core::ffi::c_char;
9297}
9298pub type __builtin_va_list = *mut core::ffi::c_char;