Skip to main content

ohos_image_kit_sys/native_image/image_common/
image_common_ffi.rs

1// automatically generated by rust-bindgen 0.71.1
2
3#![allow(non_upper_case_globals)]
4#![allow(non_camel_case_types)]
5#![allow(non_snake_case)]
6
7/// Defines the image size.
8///
9///
10/// Available since API-level: 12
11#[cfg(feature = "api-12")]
12#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
13#[repr(C)]
14#[derive(Debug)]
15pub struct Image_Size {
16    /// Image width, in pixels.
17    pub width: u32,
18    /// Image height, in pixels.
19    pub height: u32,
20}
21/// Defines the region of the image source to decode.
22///
23///
24/// Available since API-level: 12
25#[cfg(feature = "api-12")]
26#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
27#[repr(C)]
28#[derive(Debug)]
29pub struct Image_Region {
30    /// X coordinate of the start point, in pixels.
31    pub x: u32,
32    /// Y coordinate of the start point, in pixels.
33    pub y: u32,
34    /// Width of the region, in pixels.
35    pub width: u32,
36    /// Height of the region, in pixels.
37    pub height: u32,
38}
39/// Defines the region of the image source to decode.
40///
41///
42/// Available since API-level: 12
43#[cfg(feature = "api-12")]
44#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
45#[repr(C)]
46pub struct Image_String {
47    /// data for string type
48    pub data: *mut ::core::ffi::c_char,
49    /// data lenth for string type
50    pub size: usize,
51}
52/// Define a PictureMetadata struct type, used for picture metadata.
53///
54///
55/// Available since API-level: 13
56#[cfg(feature = "api-13")]
57#[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
58#[repr(C)]
59pub struct OH_PictureMetadata {
60    _unused: [u8; 0],
61}
62/// Defines the image encode format.
63///
64///
65/// Available since API-level: 12
66#[cfg(feature = "api-12")]
67#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
68pub type Image_MimeType = Image_String;
69#[cfg(feature = "api-12")]
70#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
71impl ImageResult {
72    /// operation success
73    pub const SUCCESS: ImageResult = ImageResult(0);
74    /// invalid parameter
75    pub const BAD_PARAMETER: ImageResult = ImageResult(401);
76    /// unsupported mime type
77    pub const UNSUPPORTED_MIME_TYPE: ImageResult = ImageResult(7600101);
78    /// unknown mime type
79    pub const UNKNOWN_MIME_TYPE: ImageResult = ImageResult(7600102);
80    /// too large data or image
81    pub const TOO_LARGE: ImageResult = ImageResult(7600103);
82    /// DMA memory does not exist
83    pub const DMA_NOT_EXIST: ImageResult = ImageResult(7600173);
84    /// DMA operation failed
85    pub const DMA_OPERATION_FAILED: ImageResult = ImageResult(7600174);
86    /// unsupported operations
87    pub const UNSUPPORTED_OPERATION: ImageResult = ImageResult(7600201);
88    /// unsupported metadata
89    pub const UNSUPPORTED_METADATA: ImageResult = ImageResult(7600202);
90    /// unsupported conversion
91    pub const UNSUPPORTED_CONVERSION: ImageResult = ImageResult(7600203);
92    /// invalid region
93    pub const INVALID_REGION: ImageResult = ImageResult(7600204);
94    /// unsupported memory format
95    ///
96    /// Available since API-level: 13
97    #[cfg(feature = "api-13")]
98    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
99    pub const UNSUPPORTED_MEMORY_FORMAT: ImageResult = ImageResult(7600205);
100    /// Invalid parameter.
101    ///
102    /// Available since API-level: 19
103    #[cfg(feature = "api-19")]
104    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
105    pub const INVALID_PARAMETER: ImageResult = ImageResult(7600206);
106    /// failed to allocate memory
107    pub const ALLOC_FAILED: ImageResult = ImageResult(7600301);
108    /// memory copy failed
109    pub const COPY_FAILED: ImageResult = ImageResult(7600302);
110    /// memory lock or unlock failed
111    ///
112    /// Available since API-level: 15
113    #[cfg(feature = "api-15")]
114    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
115    pub const LOCK_UNLOCK_FAILED: ImageResult = ImageResult(7600303);
116    /// unsupported allocator mode, e.g., use share memory to create a HDR image as only
117    /// DMA supported hdr metadata.
118    ///
119    /// Available since API-level: 20
120    #[cfg(feature = "api-20")]
121    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
122    pub const ALLOCATOR_MODE_UNSUPPORTED: ImageResult = ImageResult(7600501);
123    /// unknown error
124    pub const UNKNOWN_ERROR: ImageResult = ImageResult(7600901);
125    /// decode data source exception
126    pub const BAD_SOURCE: ImageResult = ImageResult(7700101);
127    /// unsupported mime type
128    ///
129    /// Available since API-level: 15
130    #[cfg(feature = "api-15")]
131    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
132    pub const SOURCE_UNSUPPORTED_MIME_TYPE: ImageResult = ImageResult(7700102);
133    /// image to large
134    ///
135    /// Available since API-level: 15
136    #[cfg(feature = "api-15")]
137    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
138    pub const SOURCE_TOO_LARGE: ImageResult = ImageResult(7700103);
139    /// unsupported allocator type, e.g., use share memory to decode a HDR image as only
140    /// DMA supported hdr metadata.
141    ///
142    /// Available since API-level: 15
143    #[cfg(feature = "api-15")]
144    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
145    pub const SOURCE_UNSUPPORTED_ALLOCATOR_TYPE: ImageResult = ImageResult(7700201);
146    pub const SOURCE_UNSUPPORTED_OPTIONS: ImageResult = ImageResult(7700203);
147    /// Invalid parameter.
148    ///
149    /// Available since API-level: 19
150    #[cfg(feature = "api-19")]
151    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
152    pub const SOURCE_INVALID_PARAMETER: ImageResult = ImageResult(7700204);
153    /// decode failed
154    pub const DECODE_FAILED: ImageResult = ImageResult(7700301);
155    /// memory allocation failed
156    ///
157    /// Available since API-level: 15
158    #[cfg(feature = "api-15")]
159    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
160    pub const SOURCE_ALLOC_FAILED: ImageResult = ImageResult(7700302);
161    /// Invalid parameter for ImagePacker.
162    ///
163    /// Available since API-level: 19
164    #[cfg(feature = "api-19")]
165    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
166    pub const PACKER_INVALID_PARAMETER: ImageResult = ImageResult(7800202);
167    /// encode failed
168    pub const ENCODE_FAILED: ImageResult = ImageResult(7800301);
169    /// Invalid parameter for ImageReceiver.
170    ///
171    /// Available since API-level: 20
172    #[cfg(feature = "api-20")]
173    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
174    pub const RECEIVER_INVALID_PARAMETER: ImageResult = ImageResult(7900201);
175}
176#[repr(transparent)]
177/// Enumerates the return values that may be used by the interface.
178///
179///
180/// Available since API-level: 12
181#[cfg(feature = "api-12")]
182#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
183#[derive(Debug, Clone, Hash, PartialEq, Eq)]
184pub struct ImageResult(pub ::core::ffi::c_uint);
185#[cfg(feature = "api-13")]
186#[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
187impl Image_MetadataType {
188    /// EXIF metadata.
189    pub const EXIF_METADATA: Image_MetadataType = Image_MetadataType(1);
190    /// Fragment metadata.
191    pub const FRAGMENT_METADATA: Image_MetadataType = Image_MetadataType(2);
192    /// Metadata of a GIF image.
193    ///
194    ///
195    /// Available since API-level: 20
196    #[cfg(feature = "api-20")]
197    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
198    pub const GIF_METADATA: Image_MetadataType = Image_MetadataType(5);
199}
200#[repr(transparent)]
201/// Define the metadata type.
202///
203///
204/// Available since API-level: 13
205#[cfg(feature = "api-13")]
206#[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
207#[derive(Debug, Clone, Hash, PartialEq, Eq)]
208pub struct Image_MetadataType(pub ::core::ffi::c_uint);
209#[cfg(feature = "api-20")]
210#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
211impl IMAGE_ALLOCATOR_MODE {
212    /// The system determines which memory to use to create the PixelMap.
213    ///
214    ///
215    /// Available since API-level: 20
216    #[cfg(feature = "api-20")]
217    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
218    pub const IMAGE_ALLOCATOR_MODE_AUTO: IMAGE_ALLOCATOR_MODE = IMAGE_ALLOCATOR_MODE(0);
219    /// Use DMA buffer to create the PixelMap.
220    ///
221    ///
222    /// Available since API-level: 20
223    #[cfg(feature = "api-20")]
224    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
225    pub const IMAGE_ALLOCATOR_MODE_DMA: IMAGE_ALLOCATOR_MODE = IMAGE_ALLOCATOR_MODE(1);
226    /// Use share memory to create the PixelMap.
227    ///
228    ///
229    /// Available since API-level: 20
230    #[cfg(feature = "api-20")]
231    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
232    pub const IMAGE_ALLOCATOR_MODE_SHARED_MEMORY: IMAGE_ALLOCATOR_MODE = IMAGE_ALLOCATOR_MODE(2);
233}
234#[repr(transparent)]
235/// Type of allocator used to allocate memory of a PixelMap.
236///
237///
238/// Available since API-level: 20
239#[cfg(feature = "api-20")]
240#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
241#[derive(Debug, Clone, Hash, PartialEq, Eq)]
242pub struct IMAGE_ALLOCATOR_MODE(pub ::core::ffi::c_uint);
243/// Defines the bmp mime type.
244///
245///
246/// Available since API-level: 12
247#[cfg(feature = "api-12")]
248#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
249pub const MIME_TYPE_BMP: &::core::ffi::CStr = c"image/bmp";
250/// Defines the jpeg mime type.
251///
252///
253/// Available since API-level: 12
254#[cfg(feature = "api-12")]
255#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
256pub const MIME_TYPE_JPEG: &::core::ffi::CStr = c"image/jpeg";
257/// Defines the heic mime type.
258///
259///
260/// Available since API-level: 12
261#[cfg(feature = "api-12")]
262#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
263pub const MIME_TYPE_HEIC: &::core::ffi::CStr = c"image/heic";
264/// Defines the png mime type.
265///
266///
267/// Available since API-level: 12
268#[cfg(feature = "api-12")]
269#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
270pub const MIME_TYPE_PNG: &::core::ffi::CStr = c"image/png";
271/// Defines the webp mime type.
272///
273///
274/// Available since API-level: 12
275#[cfg(feature = "api-12")]
276#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
277pub const MIME_TYPE_WEBP: &::core::ffi::CStr = c"image/webp";
278/// Defines the gif mime type.
279///
280///
281/// Available since API-level: 12
282#[cfg(feature = "api-12")]
283#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
284pub const MIME_TYPE_GIF: &::core::ffi::CStr = c"image/gif";
285/// Defines the x-icon mime type.
286///
287///
288/// Available since API-level: 12
289#[cfg(feature = "api-12")]
290#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
291pub const MIME_TYPE_ICON: &::core::ffi::CStr = c"image/x-icon";
292/// Defines a pointer to bits per sample, one of the image properties.
293/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
294///
295///
296/// Available since API-level: 12
297#[cfg(feature = "api-12")]
298#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
299pub const OHOS_IMAGE_PROPERTY_BITS_PER_SAMPLE: &::core::ffi::CStr = c"BitsPerSample";
300/// Defines a pointer to the orientation, one of the image properties.
301/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
302///
303///
304/// Available since API-level: 12
305#[cfg(feature = "api-12")]
306#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
307pub const OHOS_IMAGE_PROPERTY_ORIENTATION: &::core::ffi::CStr = c"Orientation";
308/// Defines a pointer to the image length, one of the image properties.
309/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
310///
311///
312/// Available since API-level: 12
313#[cfg(feature = "api-12")]
314#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
315pub const OHOS_IMAGE_PROPERTY_IMAGE_LENGTH: &::core::ffi::CStr = c"ImageLength";
316/// Defines a pointer to the image width, one of the image properties.
317/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
318///
319///
320/// Available since API-level: 12
321#[cfg(feature = "api-12")]
322#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
323pub const OHOS_IMAGE_PROPERTY_IMAGE_WIDTH: &::core::ffi::CStr = c"ImageWidth";
324/// Defines a pointer to the GPS latitude, one of the image properties.
325/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
326///
327///
328/// Available since API-level: 12
329#[cfg(feature = "api-12")]
330#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
331pub const OHOS_IMAGE_PROPERTY_GPS_LATITUDE: &::core::ffi::CStr = c"GPSLatitude";
332/// Defines a pointer to the GPS longitude, one of the image properties.
333/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
334///
335///
336/// Available since API-level: 12
337#[cfg(feature = "api-12")]
338#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
339pub const OHOS_IMAGE_PROPERTY_GPS_LONGITUDE: &::core::ffi::CStr = c"GPSLongitude";
340/// Defines a pointer to the GPS latitude reference information, one of the image properties.
341/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
342///
343///
344/// Available since API-level: 12
345#[cfg(feature = "api-12")]
346#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
347pub const OHOS_IMAGE_PROPERTY_GPS_LATITUDE_REF: &::core::ffi::CStr = c"GPSLatitudeRef";
348/// Defines a pointer to the GPS longitude reference information, one of the image properties.
349/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
350///
351///
352/// Available since API-level: 12
353#[cfg(feature = "api-12")]
354#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
355pub const OHOS_IMAGE_PROPERTY_GPS_LONGITUDE_REF: &::core::ffi::CStr = c"GPSLongitudeRef";
356/// Defines a pointer to the created date and time, one of the image properties.
357/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
358///
359///
360/// Available since API-level: 12
361#[cfg(feature = "api-12")]
362#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
363pub const OHOS_IMAGE_PROPERTY_DATE_TIME_ORIGINAL: &::core::ffi::CStr = c"DateTimeOriginal";
364/// Defines a pointer to the exposure time, one of the image properties.
365/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
366///
367///
368/// Available since API-level: 12
369#[cfg(feature = "api-12")]
370#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
371pub const OHOS_IMAGE_PROPERTY_EXPOSURE_TIME: &::core::ffi::CStr = c"ExposureTime";
372/// Defines a pointer to the scene type, one of the image properties.
373/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
374///
375///
376/// Available since API-level: 12
377#[cfg(feature = "api-12")]
378#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
379pub const OHOS_IMAGE_PROPERTY_SCENE_TYPE: &::core::ffi::CStr = c"SceneType";
380/// Defines a pointer to the ISO speed ratings, one of the image properties.
381/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
382///
383///
384/// Available since API-level: 12
385#[cfg(feature = "api-12")]
386#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
387pub const OHOS_IMAGE_PROPERTY_ISO_SPEED_RATINGS: &::core::ffi::CStr = c"ISOSpeedRatings";
388/// Defines a pointer to the f-number of the image, one of the image properties.
389/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
390///
391///
392/// Available since API-level: 12
393#[cfg(feature = "api-12")]
394#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
395pub const OHOS_IMAGE_PROPERTY_F_NUMBER: &::core::ffi::CStr = c"FNumber";
396/// Defines a pointer to the compressed bits per pixel, one of the image properties.
397/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
398///
399///
400/// Available since API-level: 12
401#[cfg(feature = "api-12")]
402#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
403pub const OHOS_IMAGE_PROPERTY_COMPRESSED_BITS_PER_PIXEL: &::core::ffi::CStr =
404    c"CompressedBitsPerPixel";
405/// The scheme used for image compression.
406/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
407///
408///
409/// Available since API-level: 12
410#[cfg(feature = "api-12")]
411#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
412pub const OHOS_IMAGE_PROPERTY_COMPRESSION: &::core::ffi::CStr = c"Compression";
413/// Pixel composition, such as RGB or YCbCr.
414/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
415///
416///
417/// Available since API-level: 12
418#[cfg(feature = "api-12")]
419#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
420pub const OHOS_IMAGE_PROPERTY_PHOTOMETRIC_INTERPRETATION: &::core::ffi::CStr =
421    c"PhotometricInterpretation";
422/// For each strip, the byte offset of that strip.
423/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
424///
425///
426/// Available since API-level: 12
427#[cfg(feature = "api-12")]
428#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
429pub const OHOS_IMAGE_PROPERTY_STRIP_OFFSETS: &::core::ffi::CStr = c"StripOffsets";
430/// The number of components per pixel.
431/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
432///
433///
434/// Available since API-level: 12
435#[cfg(feature = "api-12")]
436#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
437pub const OHOS_IMAGE_PROPERTY_SAMPLES_PER_PIXEL: &::core::ffi::CStr = c"SamplesPerPixel";
438/// The number of rows per strip of image data.
439/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
440///
441///
442/// Available since API-level: 12
443#[cfg(feature = "api-12")]
444#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
445pub const OHOS_IMAGE_PROPERTY_ROWS_PER_STRIP: &::core::ffi::CStr = c"RowsPerStrip";
446/// The total number of bytes in each strip of image data.
447/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
448///
449///
450/// Available since API-level: 12
451#[cfg(feature = "api-12")]
452#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
453pub const OHOS_IMAGE_PROPERTY_STRIP_BYTE_COUNTS: &::core::ffi::CStr = c"StripByteCounts";
454/// The image resolution in the width direction.
455/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
456///
457///
458/// Available since API-level: 12
459#[cfg(feature = "api-12")]
460#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
461pub const OHOS_IMAGE_PROPERTY_X_RESOLUTION: &::core::ffi::CStr = c"XResolution";
462/// The image resolution in the height direction.
463/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
464///
465///
466/// Available since API-level: 12
467#[cfg(feature = "api-12")]
468#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
469pub const OHOS_IMAGE_PROPERTY_Y_RESOLUTION: &::core::ffi::CStr = c"YResolution";
470/// Indicates whether pixel components are recorded in a chunky or planar format.
471/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
472///
473///
474/// Available since API-level: 12
475#[cfg(feature = "api-12")]
476#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
477pub const OHOS_IMAGE_PROPERTY_PLANAR_CONFIGURATION: &::core::ffi::CStr = c"PlanarConfiguration";
478/// The unit used to measure XResolution and YResolution.
479/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
480///
481///
482/// Available since API-level: 12
483#[cfg(feature = "api-12")]
484#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
485pub const OHOS_IMAGE_PROPERTY_RESOLUTION_UNIT: &::core::ffi::CStr = c"ResolutionUnit";
486/// The transfer function for the image, typically used for color correction.
487/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
488///
489///
490/// Available since API-level: 12
491#[cfg(feature = "api-12")]
492#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
493pub const OHOS_IMAGE_PROPERTY_TRANSFER_FUNCTION: &::core::ffi::CStr = c"TransferFunction";
494/// The name and version of the software used to generate the image.
495/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
496///
497///
498/// Available since API-level: 12
499#[cfg(feature = "api-12")]
500#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
501pub const OHOS_IMAGE_PROPERTY_SOFTWARE: &::core::ffi::CStr = c"Software";
502/// The name of the person who created the image.
503/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
504///
505///
506/// Available since API-level: 12
507#[cfg(feature = "api-12")]
508#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
509pub const OHOS_IMAGE_PROPERTY_ARTIST: &::core::ffi::CStr = c"Artist";
510/// The chromaticity of the white point of the image.
511/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
512///
513///
514/// Available since API-level: 12
515#[cfg(feature = "api-12")]
516#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
517pub const OHOS_IMAGE_PROPERTY_WHITE_POINT: &::core::ffi::CStr = c"WhitePoint";
518/// The chromaticity of the primary colors of the image.
519/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
520///
521///
522/// Available since API-level: 12
523#[cfg(feature = "api-12")]
524#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
525pub const OHOS_IMAGE_PROPERTY_PRIMARY_CHROMATICITIES: &::core::ffi::CStr = c"PrimaryChromaticities";
526/// The matrix coefficients for transformation from RGB to YCbCr image data.
527/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
528///
529///
530/// Available since API-level: 12
531#[cfg(feature = "api-12")]
532#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
533pub const OHOS_IMAGE_PROPERTY_YCBCR_COEFFICIENTS: &::core::ffi::CStr = c"YCbCrCoefficients";
534/// The sampling ratio of chrominance components to the luminance component.
535/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
536///
537///
538/// Available since API-level: 12
539#[cfg(feature = "api-12")]
540#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
541pub const OHOS_IMAGE_PROPERTY_YCBCR_SUB_SAMPLING: &::core::ffi::CStr = c"YCbCrSubSampling";
542/// The position of chrominance components in relation to the luminance component.
543/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
544///
545///
546/// Available since API-level: 12
547#[cfg(feature = "api-12")]
548#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
549pub const OHOS_IMAGE_PROPERTY_YCBCR_POSITIONING: &::core::ffi::CStr = c"YCbCrPositioning";
550/// The reference black point value and reference white point value.
551/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
552///
553///
554/// Available since API-level: 12
555#[cfg(feature = "api-12")]
556#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
557pub const OHOS_IMAGE_PROPERTY_REFERENCE_BLACK_WHITE: &::core::ffi::CStr = c"ReferenceBlackWhite";
558/// Copyright information for the image.
559/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
560///
561///
562/// Available since API-level: 12
563#[cfg(feature = "api-12")]
564#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
565pub const OHOS_IMAGE_PROPERTY_COPYRIGHT: &::core::ffi::CStr = c"Copyright";
566/// The offset to the start byte (SOI) of JPEG compressed thumbnail data.
567/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
568///
569///
570/// Available since API-level: 12
571#[cfg(feature = "api-12")]
572#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
573pub const OHOS_IMAGE_PROPERTY_JPEG_INTERCHANGE_FORMAT: &::core::ffi::CStr =
574    c"JPEGInterchangeFormat";
575/// The number of bytes of JPEG compressed thumbnail data.
576/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
577///
578///
579/// Available since API-level: 12
580#[cfg(feature = "api-12")]
581#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
582pub const OHOS_IMAGE_PROPERTY_JPEG_INTERCHANGE_FORMAT_LENGTH: &::core::ffi::CStr =
583    c"JPEGInterchangeFormatLength";
584/// The class of the program used by the camera to set exposure when the picture is taken.
585/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
586///
587///
588/// Available since API-level: 12
589#[cfg(feature = "api-12")]
590#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
591pub const OHOS_IMAGE_PROPERTY_EXPOSURE_PROGRAM: &::core::ffi::CStr = c"ExposureProgram";
592/// Indicates the spectral sensitivity of each channel of the camera used.
593/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
594///
595///
596/// Available since API-level: 12
597#[cfg(feature = "api-12")]
598#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
599pub const OHOS_IMAGE_PROPERTY_SPECTRAL_SENSITIVITY: &::core::ffi::CStr = c"SpectralSensitivity";
600/// Indicates the Opto-Electric Conversion Function (OECF) specified in ISO 14524.
601/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
602///
603///
604/// Available since API-level: 12
605#[cfg(feature = "api-12")]
606#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
607pub const OHOS_IMAGE_PROPERTY_OECF: &::core::ffi::CStr = c"OECF";
608/// The version of the Exif standard supported.
609/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
610///
611///
612/// Available since API-level: 12
613#[cfg(feature = "api-12")]
614#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
615pub const OHOS_IMAGE_PROPERTY_EXIF_VERSION: &::core::ffi::CStr = c"ExifVersion";
616/// The date and time when the image was stored as digital data.
617/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
618///
619///
620/// Available since API-level: 12
621#[cfg(feature = "api-12")]
622#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
623pub const OHOS_IMAGE_PROPERTY_DATE_TIME_DIGITIZED: &::core::ffi::CStr = c"DateTimeDigitized";
624/// Information specific to compressed data.
625/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
626///
627///
628/// Available since API-level: 12
629#[cfg(feature = "api-12")]
630#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
631pub const OHOS_IMAGE_PROPERTY_COMPONENTS_CONFIGURATION: &::core::ffi::CStr =
632    c"ComponentsConfiguration";
633/// The shutter speed, expressed as an APEX (Additive System of Photographic Exposure) value.
634/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
635///
636///
637/// Available since API-level: 12
638#[cfg(feature = "api-12")]
639#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
640pub const OHOS_IMAGE_PROPERTY_SHUTTER_SPEED_VALUE: &::core::ffi::CStr = c"ShutterSpeedValue";
641/// The brightness value of the image, in APEX units.
642/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
643///
644///
645/// Available since API-level: 12
646#[cfg(feature = "api-12")]
647#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
648pub const OHOS_IMAGE_PROPERTY_BRIGHTNESS_VALUE: &::core::ffi::CStr = c"BrightnessValue";
649/// The smallest F number of lens.
650/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
651///
652///
653/// Available since API-level: 12
654#[cfg(feature = "api-12")]
655#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
656pub const OHOS_IMAGE_PROPERTY_MAX_APERTURE_VALUE: &::core::ffi::CStr = c"MaxApertureValue";
657/// The distance to the subject, measured in meters.
658/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
659///
660///
661/// Available since API-level: 12
662#[cfg(feature = "api-12")]
663#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
664pub const OHOS_IMAGE_PROPERTY_SUBJECT_DISTANCE: &::core::ffi::CStr = c"SubjectDistance";
665/// This tag indicate the location and area of the main subject in the overall scene.
666/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
667///
668///
669/// Available since API-level: 12
670#[cfg(feature = "api-12")]
671#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
672pub const OHOS_IMAGE_PROPERTY_SUBJECT_AREA: &::core::ffi::CStr = c"SubjectArea";
673/// A tag for manufacturers of Exif/DCF writers to record any desired infomation.
674/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
675///
676///
677/// Available since API-level: 12
678#[cfg(feature = "api-12")]
679#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
680pub const OHOS_IMAGE_PROPERTY_MAKER_NOTE: &::core::ffi::CStr = c"MakerNote";
681/// A tag for record fractions of seconds for the DateTime tag.
682/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
683///
684///
685/// Available since API-level: 12
686#[cfg(feature = "api-12")]
687#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
688pub const OHOS_IMAGE_PROPERTY_SUBSEC_TIME: &::core::ffi::CStr = c"SubsecTime";
689/// A tag used to record fractions of seconds for the DateTimeOriginal tag.
690/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
691///
692///
693/// Available since API-level: 12
694#[cfg(feature = "api-12")]
695#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
696pub const OHOS_IMAGE_PROPERTY_SUBSEC_TIME_ORIGINAL: &::core::ffi::CStr = c"SubsecTimeOriginal";
697/// A tag used to record fractions of seconds for the DateTimeDigitized tag.
698/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
699///
700///
701/// Available since API-level: 12
702#[cfg(feature = "api-12")]
703#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
704pub const OHOS_IMAGE_PROPERTY_SUBSEC_TIME_DIGITIZED: &::core::ffi::CStr = c"SubsecTimeDigitized";
705/// This tag denotes the Flashpix format version supported by an FPXR file, enhancing device compatibility.
706/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
707///
708///
709/// Available since API-level: 12
710#[cfg(feature = "api-12")]
711#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
712pub const OHOS_IMAGE_PROPERTY_FLASHPIX_VERSION: &::core::ffi::CStr = c"FlashpixVersion";
713/// The color space information tag, often recorded as the color space specifier.
714/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
715///
716///
717/// Available since API-level: 12
718#[cfg(feature = "api-12")]
719#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
720pub const OHOS_IMAGE_PROPERTY_COLOR_SPACE: &::core::ffi::CStr = c"ColorSpace";
721/// The name of an audio file related to the image data.
722/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
723///
724///
725/// Available since API-level: 12
726#[cfg(feature = "api-12")]
727#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
728pub const OHOS_IMAGE_PROPERTY_RELATED_SOUND_FILE: &::core::ffi::CStr = c"RelatedSoundFile";
729/// Strobe energy at image capture, in BCPS.
730/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
731///
732///
733/// Available since API-level: 12
734#[cfg(feature = "api-12")]
735#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
736pub const OHOS_IMAGE_PROPERTY_FLASH_ENERGY: &::core::ffi::CStr = c"FlashEnergy";
737/// Camera or input device spatial frequency table.
738/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
739///
740///
741/// Available since API-level: 12
742#[cfg(feature = "api-12")]
743#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
744pub const OHOS_IMAGE_PROPERTY_SPATIAL_FREQUENCY_RESPONSE: &::core::ffi::CStr =
745    c"SpatialFrequencyResponse";
746/// Pixels per FocalPlaneResolutionUnit in the image width.
747/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
748///
749///
750/// Available since API-level: 12
751#[cfg(feature = "api-12")]
752#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
753pub const OHOS_IMAGE_PROPERTY_FOCAL_PLANE_X_RESOLUTION: &::core::ffi::CStr =
754    c"FocalPlaneXResolution";
755/// Pixels per FocalPlaneResolutionUnit in the image height.
756/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
757///
758///
759/// Available since API-level: 12
760#[cfg(feature = "api-12")]
761#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
762pub const OHOS_IMAGE_PROPERTY_FOCAL_PLANE_Y_RESOLUTION: &::core::ffi::CStr =
763    c"FocalPlaneYResolution";
764/// Unit for measuring FocalPlaneXResolution and FocalPlaneYResolution.
765/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
766///
767///
768/// Available since API-level: 12
769#[cfg(feature = "api-12")]
770#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
771pub const OHOS_IMAGE_PROPERTY_FOCAL_PLANE_RESOLUTION_UNIT: &::core::ffi::CStr =
772    c"FocalPlaneResolutionUnit";
773/// Location of the main subject, relative to the left edge.
774/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
775///
776///
777/// Available since API-level: 12
778#[cfg(feature = "api-12")]
779#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
780pub const OHOS_IMAGE_PROPERTY_SUBJECT_LOCATION: &::core::ffi::CStr = c"SubjectLocation";
781/// Selected exposure index at capture.
782/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
783///
784///
785/// Available since API-level: 12
786#[cfg(feature = "api-12")]
787#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
788pub const OHOS_IMAGE_PROPERTY_EXPOSURE_INDEX: &::core::ffi::CStr = c"ExposureIndex";
789/// Image sensor type on the camera.
790/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
791///
792///
793/// Available since API-level: 12
794#[cfg(feature = "api-12")]
795#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
796pub const OHOS_IMAGE_PROPERTY_SENSING_METHOD: &::core::ffi::CStr = c"SensingMethod";
797/// Indicates the image source.
798/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
799///
800///
801/// Available since API-level: 12
802#[cfg(feature = "api-12")]
803#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
804pub const OHOS_IMAGE_PROPERTY_FILE_SOURCE: &::core::ffi::CStr = c"FileSource";
805/// Color filter array (CFA) geometric pattern of the image sensor.
806/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
807///
808///
809/// Available since API-level: 12
810#[cfg(feature = "api-12")]
811#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
812pub const OHOS_IMAGE_PROPERTY_CFA_PATTERN: &::core::ffi::CStr = c"CFAPattern";
813/// Indicates special processing on image data.
814/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
815///
816///
817/// Available since API-level: 12
818#[cfg(feature = "api-12")]
819#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
820pub const OHOS_IMAGE_PROPERTY_CUSTOM_RENDERED: &::core::ffi::CStr = c"CustomRendered";
821/// Exposure mode set when the image was shot.
822/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
823///
824///
825/// Available since API-level: 12
826#[cfg(feature = "api-12")]
827#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
828pub const OHOS_IMAGE_PROPERTY_EXPOSURE_MODE: &::core::ffi::CStr = c"ExposureMode";
829/// Digital zoom ratio at the time of capture.
830/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
831///
832///
833/// Available since API-level: 12
834#[cfg(feature = "api-12")]
835#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
836pub const OHOS_IMAGE_PROPERTY_DIGITAL_ZOOM_RATIO: &::core::ffi::CStr = c"DigitalZoomRatio";
837/// Type of scene captured.
838/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
839///
840///
841/// Available since API-level: 12
842#[cfg(feature = "api-12")]
843#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
844pub const OHOS_IMAGE_PROPERTY_SCENE_CAPTURE_TYPE: &::core::ffi::CStr = c"SceneCaptureType";
845/// Degree of overall image gain adjustment.
846/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
847///
848///
849/// Available since API-level: 12
850#[cfg(feature = "api-12")]
851#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
852pub const OHOS_IMAGE_PROPERTY_GAIN_CONTROL: &::core::ffi::CStr = c"GainControl";
853/// Direction of contrast processing applied by the camera.
854/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
855///
856///
857/// Available since API-level: 12
858#[cfg(feature = "api-12")]
859#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
860pub const OHOS_IMAGE_PROPERTY_CONTRAST: &::core::ffi::CStr = c"Contrast";
861/// Direction of saturation processing applied by the camera.
862/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
863///
864///
865/// Available since API-level: 12
866#[cfg(feature = "api-12")]
867#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
868pub const OHOS_IMAGE_PROPERTY_SATURATION: &::core::ffi::CStr = c"Saturation";
869/// The direction of sharpness processing applied by the camera.
870/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
871///
872///
873/// Available since API-level: 12
874#[cfg(feature = "api-12")]
875#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
876pub const OHOS_IMAGE_PROPERTY_SHARPNESS: &::core::ffi::CStr = c"Sharpness";
877/// Information on picture-taking conditions for a specific camera model.
878/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
879///
880///
881/// Available since API-level: 12
882#[cfg(feature = "api-12")]
883#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
884pub const OHOS_IMAGE_PROPERTY_DEVICE_SETTING_DESCRIPTION: &::core::ffi::CStr =
885    c"DeviceSettingDescription";
886/// Indicates the distance range to the subject.
887/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
888///
889///
890/// Available since API-level: 12
891#[cfg(feature = "api-12")]
892#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
893pub const OHOS_IMAGE_PROPERTY_SUBJECT_DISTANCE_RANGE: &::core::ffi::CStr = c"SubjectDistanceRange";
894/// An identifier uniquely assigned to each image.
895/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
896///
897///
898/// Available since API-level: 12
899#[cfg(feature = "api-12")]
900#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
901pub const OHOS_IMAGE_PROPERTY_IMAGE_UNIQUE_ID: &::core::ffi::CStr = c"ImageUniqueID";
902/// The version of the GPSInfoIFD.
903/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
904///
905///
906/// Available since API-level: 12
907#[cfg(feature = "api-12")]
908#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
909pub const OHOS_IMAGE_PROPERTY_GPS_VERSION_ID: &::core::ffi::CStr = c"GPSVersionID";
910/// Reference altitude used for GPS altitude.
911/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
912///
913///
914/// Available since API-level: 12
915#[cfg(feature = "api-12")]
916#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
917pub const OHOS_IMAGE_PROPERTY_GPS_ALTITUDE_REF: &::core::ffi::CStr = c"GPSAltitudeRef";
918/// The altitude based on the reference in GPSAltitudeRef.
919/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
920///
921///
922/// Available since API-level: 12
923#[cfg(feature = "api-12")]
924#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
925pub const OHOS_IMAGE_PROPERTY_GPS_ALTITUDE: &::core::ffi::CStr = c"GPSAltitude";
926/// The GPS satellites used for measurements.
927/// Used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
928///
929///
930/// Available since API-level: 12
931#[cfg(feature = "api-12")]
932#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
933pub const OHOS_IMAGE_PROPERTY_GPS_SATELLITES: &::core::ffi::CStr = c"GPSSatellites";
934/// The status of the GPS receiver when the image is recorded.
935/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
936///
937///
938/// Available since API-level: 12
939#[cfg(feature = "api-12")]
940#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
941pub const OHOS_IMAGE_PROPERTY_GPS_STATUS: &::core::ffi::CStr = c"GPSStatus";
942/// The GPS measurement mode.
943/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
944///
945///
946/// Available since API-level: 12
947#[cfg(feature = "api-12")]
948#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
949pub const OHOS_IMAGE_PROPERTY_GPS_MEASURE_MODE: &::core::ffi::CStr = c"GPSMeasureMode";
950/// The GPS DOP (data degree of precision).
951/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
952///
953///
954/// Available since API-level: 12
955#[cfg(feature = "api-12")]
956#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
957pub const OHOS_IMAGE_PROPERTY_GPS_DOP: &::core::ffi::CStr = c"GPSDOP";
958/// The unit used to express the GPS receiver speed of movement.
959/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
960///
961///
962/// Available since API-level: 12
963#[cfg(feature = "api-12")]
964#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
965pub const OHOS_IMAGE_PROPERTY_GPS_SPEED_REF: &::core::ffi::CStr = c"GPSSpeedRef";
966/// The speed of GPS receiver movement.
967/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
968///
969///
970/// Available since API-level: 12
971#[cfg(feature = "api-12")]
972#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
973pub const OHOS_IMAGE_PROPERTY_GPS_SPEED: &::core::ffi::CStr = c"GPSSpeed";
974/// The reference for giving the direction of GPS receiver movement.
975/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
976///
977///
978/// Available since API-level: 12
979#[cfg(feature = "api-12")]
980#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
981pub const OHOS_IMAGE_PROPERTY_GPS_TRACK_REF: &::core::ffi::CStr = c"GPSTrackRef";
982/// The direction of GPS receiver movement.
983/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
984///
985///
986/// Available since API-level: 12
987#[cfg(feature = "api-12")]
988#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
989pub const OHOS_IMAGE_PROPERTY_GPS_TRACK: &::core::ffi::CStr = c"GPSTrack";
990/// The reference for the image's direction.
991/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
992///
993///
994/// Available since API-level: 12
995#[cfg(feature = "api-12")]
996#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
997pub const OHOS_IMAGE_PROPERTY_GPS_IMG_DIRECTION_REF: &::core::ffi::CStr = c"GPSImgDirectionRef";
998/// The direction of the image when captured.
999/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1000///
1001///
1002/// Available since API-level: 12
1003#[cfg(feature = "api-12")]
1004#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1005pub const OHOS_IMAGE_PROPERTY_GPS_IMG_DIRECTION: &::core::ffi::CStr = c"GPSImgDirection";
1006/// Geodetic survey data used by the GPS receiver.
1007/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1008///
1009///
1010/// Available since API-level: 12
1011#[cfg(feature = "api-12")]
1012#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1013pub const OHOS_IMAGE_PROPERTY_GPS_MAP_DATUM: &::core::ffi::CStr = c"GPSMapDatum";
1014/// Indicates the latitude reference of the destination point.
1015/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1016///
1017///
1018/// Available since API-level: 12
1019#[cfg(feature = "api-12")]
1020#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1021pub const OHOS_IMAGE_PROPERTY_GPS_DEST_LATITUDE_REF: &::core::ffi::CStr = c"GPSDestLatitudeRef";
1022/// The latitude of the destination point.
1023/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1024///
1025///
1026/// Available since API-level: 12
1027#[cfg(feature = "api-12")]
1028#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1029pub const OHOS_IMAGE_PROPERTY_GPS_DEST_LATITUDE: &::core::ffi::CStr = c"GPSDestLatitude";
1030/// Indicates the longitude reference of the destination point.
1031/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1032///
1033///
1034/// Available since API-level: 12
1035#[cfg(feature = "api-12")]
1036#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1037pub const OHOS_IMAGE_PROPERTY_GPS_DEST_LONGITUDE_REF: &::core::ffi::CStr = c"GPSDestLongitudeRef";
1038/// A character string recording the name of the method used for location finding.
1039/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1040///
1041///
1042/// Available since API-level: 12
1043#[cfg(feature = "api-12")]
1044#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1045pub const OHOS_IMAGE_PROPERTY_GPS_PROCESSING_METHOD: &::core::ffi::CStr = c"GPSProcessingMethod";
1046/// A character string recording the name of the GPS area.
1047/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1048///
1049///
1050/// Available since API-level: 12
1051#[cfg(feature = "api-12")]
1052#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1053pub const OHOS_IMAGE_PROPERTY_GPS_AREA_INFORMATION: &::core::ffi::CStr = c"GPSAreaInformation";
1054/// This field denotes if differential correction was applied to GPS data, crucial for precise location accuracy.
1055/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1056///
1057///
1058/// Available since API-level: 12
1059#[cfg(feature = "api-12")]
1060#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1061pub const OHOS_IMAGE_PROPERTY_GPS_DIFFERENTIAL: &::core::ffi::CStr = c"GPSDifferential";
1062/// The serial number of the camera body.
1063/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1064///
1065///
1066/// Available since API-level: 12
1067#[cfg(feature = "api-12")]
1068#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1069pub const OHOS_IMAGE_PROPERTY_BODY_SERIAL_NUMBER: &::core::ffi::CStr = c"BodySerialNumber";
1070/// The name of the camera owner.
1071/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1072///
1073///
1074/// Available since API-level: 12
1075#[cfg(feature = "api-12")]
1076#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1077pub const OHOS_IMAGE_PROPERTY_CAMERA_OWNER_NAME: &::core::ffi::CStr = c"CameraOwnerName";
1078/// The name of the camera owner.
1079/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1080///
1081///
1082/// Available since API-level: 12
1083#[cfg(feature = "api-12")]
1084#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1085pub const OHOS_IMAGE_PROPERTY_COMPOSITE_IMAGE: &::core::ffi::CStr = c"CompositeImage";
1086/// The DNGVersion tag encodes the four-tier version number for DNG specification compliance.
1087/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1088///
1089///
1090/// Available since API-level: 12
1091#[cfg(feature = "api-12")]
1092#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1093pub const OHOS_IMAGE_PROPERTY_DNG_VERSION: &::core::ffi::CStr = c"DNGVersion";
1094/// The longitude of the destination point.
1095/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1096///
1097///
1098/// Available since API-level: 12
1099#[cfg(feature = "api-12")]
1100#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1101pub const OHOS_IMAGE_PROPERTY_GPS_DEST_LONGITUDE: &::core::ffi::CStr = c"GPSDestLongitude";
1102/// The reference for the bearing to the destination point.
1103/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1104///
1105///
1106/// Available since API-level: 12
1107#[cfg(feature = "api-12")]
1108#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1109pub const OHOS_IMAGE_PROPERTY_GPS_DEST_BEARING_REF: &::core::ffi::CStr = c"GPSDestBearingRef";
1110/// The bearing to the destination point.
1111/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1112///
1113///
1114/// Available since API-level: 12
1115#[cfg(feature = "api-12")]
1116#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1117pub const OHOS_IMAGE_PROPERTY_GPS_DEST_BEARING: &::core::ffi::CStr = c"GPSDestBearing";
1118/// The measurement unit for the distance to the target point.
1119/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1120///
1121///
1122/// Available since API-level: 12
1123#[cfg(feature = "api-12")]
1124#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1125pub const OHOS_IMAGE_PROPERTY_GPS_DEST_DISTANCE_REF: &::core::ffi::CStr = c"GPSDestDistanceRef";
1126/// The distance to the destination point.
1127/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1128///
1129///
1130/// Available since API-level: 12
1131#[cfg(feature = "api-12")]
1132#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1133pub const OHOS_IMAGE_PROPERTY_GPS_DEST_DISTANCE: &::core::ffi::CStr = c"GPSDestDistance";
1134/// DefaultCropSize specifies the final image size in raw coordinates, accounting for extra edge pixels.
1135/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1136///
1137///
1138/// Available since API-level: 12
1139#[cfg(feature = "api-12")]
1140#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1141pub const OHOS_IMAGE_PROPERTY_DEFAULT_CROP_SIZE: &::core::ffi::CStr = c"DefaultCropSize";
1142/// Indicates the value of coefficient gamma.
1143/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1144///
1145///
1146/// Available since API-level: 12
1147#[cfg(feature = "api-12")]
1148#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1149pub const OHOS_IMAGE_PROPERTY_GAMMA: &::core::ffi::CStr = c"Gamma";
1150/// The tag indicate the ISO speed latitude yyy value of the camera or input device that is defined in ISO 12232.
1151/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1152///
1153///
1154/// Available since API-level: 12
1155#[cfg(feature = "api-12")]
1156#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1157pub const OHOS_IMAGE_PROPERTY_ISO_SPEED_LATITUDEYYY: &::core::ffi::CStr = c"ISOSpeedLatitudeyyy";
1158/// The tag indicate the ISO speed latitude zzz value of the camera or input device that is defined in ISO 12232.
1159/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1160///
1161///
1162/// Available since API-level: 12
1163#[cfg(feature = "api-12")]
1164#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1165pub const OHOS_IMAGE_PROPERTY_ISO_SPEED_LATITUDEZZZ: &::core::ffi::CStr = c"ISOSpeedLatitudezzz";
1166/// The manufacturer of the lens.
1167/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1168///
1169///
1170/// Available since API-level: 12
1171#[cfg(feature = "api-12")]
1172#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1173pub const OHOS_IMAGE_PROPERTY_LENS_MAKE: &::core::ffi::CStr = c"LensMake";
1174/// The model name of the lens.
1175/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1176///
1177///
1178/// Available since API-level: 12
1179#[cfg(feature = "api-12")]
1180#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1181pub const OHOS_IMAGE_PROPERTY_LENS_MODEL: &::core::ffi::CStr = c"LensModel";
1182/// The serial number of the lens.
1183/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1184///
1185///
1186/// Available since API-level: 12
1187#[cfg(feature = "api-12")]
1188#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1189pub const OHOS_IMAGE_PROPERTY_LENS_SERIAL_NUMBER: &::core::ffi::CStr = c"LensSerialNumber";
1190/// Specifications of the lens used.
1191/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1192///
1193///
1194/// Available since API-level: 12
1195#[cfg(feature = "api-12")]
1196#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1197pub const OHOS_IMAGE_PROPERTY_LENS_SPECIFICATION: &::core::ffi::CStr = c"LensSpecification";
1198/// This tag provides a broad description of the data type in this subfile.
1199/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1200///
1201///
1202/// Available since API-level: 12
1203#[cfg(feature = "api-12")]
1204#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1205pub const OHOS_IMAGE_PROPERTY_NEW_SUBFILE_TYPE: &::core::ffi::CStr = c"NewSubfileType";
1206/// This tag records the UTC offset for the DateTime tag, ensuring accurate timestamps regardless of location.
1207/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1208///
1209///
1210/// Available since API-level: 12
1211#[cfg(feature = "api-12")]
1212#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1213pub const OHOS_IMAGE_PROPERTY_OFFSET_TIME: &::core::ffi::CStr = c"OffsetTime";
1214/// This tag logs the UTC offset when the image was digitized, aiding in accurate timestamp adjustment.
1215/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1216///
1217///
1218/// Available since API-level: 12
1219#[cfg(feature = "api-12")]
1220#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1221pub const OHOS_IMAGE_PROPERTY_OFFSET_TIME_DIGITIZED: &::core::ffi::CStr = c"OffsetTimeDigitized";
1222/// This tag records the UTC offset when the original image was created, crucial for time-sensitive applications.
1223/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1224///
1225///
1226/// Available since API-level: 12
1227#[cfg(feature = "api-12")]
1228#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1229pub const OHOS_IMAGE_PROPERTY_OFFSET_TIME_ORIGINAL: &::core::ffi::CStr = c"OffsetTimeOriginal";
1230/// Exposure times of source images for a composite image.
1231/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1232///
1233///
1234/// Available since API-level: 12
1235#[cfg(feature = "api-12")]
1236#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1237pub const OHOS_IMAGE_PROPERTY_SOURCE_EXPOSURE_TIMES_OF_COMPOSITE_IMAGE: &::core::ffi::CStr =
1238    c"SourceExposureTimesOfCompositeImage";
1239/// The number of source images used for a composite image.
1240/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1241///
1242///
1243/// Available since API-level: 12
1244#[cfg(feature = "api-12")]
1245#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1246pub const OHOS_IMAGE_PROPERTY_SOURCE_IMAGE_NUMBER_OF_COMPOSITE_IMAGE: &::core::ffi::CStr =
1247    c"SourceImageNumberOfCompositeImage";
1248/// This deprecated field signifies the type of data in this subfile. Use the NewSubfileType field instead.
1249/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1250///
1251///
1252/// Available since API-level: 12
1253#[cfg(feature = "api-12")]
1254#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1255pub const OHOS_IMAGE_PROPERTY_SUBFILE_TYPE: &::core::ffi::CStr = c"SubfileType";
1256/// This tag indicates horizontal positioning errors in meters.
1257/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1258///
1259///
1260/// Available since API-level: 12
1261#[cfg(feature = "api-12")]
1262#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1263pub const OHOS_IMAGE_PROPERTY_GPS_H_POSITIONING_ERROR: &::core::ffi::CStr = c"GPSHPositioningError";
1264/// This tag indicates the sensitivity of the camera or input device when the image was shot.
1265/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1266///
1267///
1268/// Available since API-level: 12
1269#[cfg(feature = "api-12")]
1270#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1271pub const OHOS_IMAGE_PROPERTY_PHOTOGRAPHIC_SENSITIVITY: &::core::ffi::CStr =
1272    c"PhotographicSensitivity";
1273/// Burst Number
1274/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1275///
1276///
1277/// Available since API-level: 12
1278#[cfg(feature = "api-12")]
1279#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1280pub const OHOS_IMAGE_PROPERTY_BURST_NUMBER: &::core::ffi::CStr = c"HwMnoteBurstNumber";
1281/// Face Conf
1282/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1283///
1284///
1285/// Available since API-level: 12
1286#[cfg(feature = "api-12")]
1287#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1288pub const OHOS_IMAGE_PROPERTY_FACE_CONF: &::core::ffi::CStr = c"HwMnoteFaceConf";
1289/// Face Leye Center
1290/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1291///
1292///
1293/// Available since API-level: 12
1294#[cfg(feature = "api-12")]
1295#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1296pub const OHOS_IMAGE_PROPERTY_FACE_LEYE_CENTER: &::core::ffi::CStr = c"HwMnoteFaceLeyeCenter";
1297/// Face Mouth Center
1298/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1299///
1300///
1301/// Available since API-level: 12
1302#[cfg(feature = "api-12")]
1303#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1304pub const OHOS_IMAGE_PROPERTY_FACE_MOUTH_CENTER: &::core::ffi::CStr = c"HwMnoteFaceMouthCenter";
1305/// Face Pointer
1306/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1307///
1308///
1309/// Available since API-level: 12
1310#[cfg(feature = "api-12")]
1311#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1312pub const OHOS_IMAGE_PROPERTY_FACE_POINTER: &::core::ffi::CStr = c"HwMnoteFacePointer";
1313/// Face Rect
1314/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1315///
1316///
1317/// Available since API-level: 12
1318#[cfg(feature = "api-12")]
1319#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1320pub const OHOS_IMAGE_PROPERTY_FACE_RECT: &::core::ffi::CStr = c"HwMnoteFaceRect";
1321/// Face Reye Center
1322/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1323///
1324///
1325/// Available since API-level: 12
1326#[cfg(feature = "api-12")]
1327#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1328pub const OHOS_IMAGE_PROPERTY_FACE_REYE_CENTER: &::core::ffi::CStr = c"HwMnoteFaceReyeCenter";
1329/// Face Smile Score
1330/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1331///
1332///
1333/// Available since API-level: 12
1334#[cfg(feature = "api-12")]
1335#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1336pub const OHOS_IMAGE_PROPERTY_FACE_SMILE_SCORE: &::core::ffi::CStr = c"HwMnoteFaceSmileScore";
1337/// Face Version
1338/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1339///
1340///
1341/// Available since API-level: 12
1342#[cfg(feature = "api-12")]
1343#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1344pub const OHOS_IMAGE_PROPERTY_FACE_VERSION: &::core::ffi::CStr = c"HwMnoteFaceVersion";
1345/// Front Camera
1346/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1347///
1348///
1349/// Available since API-level: 12
1350#[cfg(feature = "api-12")]
1351#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1352pub const OHOS_IMAGE_PROPERTY_FRONT_CAMERA: &::core::ffi::CStr = c"HwMnoteFrontCamera";
1353/// Scene Pointer
1354/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1355///
1356///
1357/// Available since API-level: 12
1358#[cfg(feature = "api-12")]
1359#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1360pub const OHOS_IMAGE_PROPERTY_SCENE_POINTER: &::core::ffi::CStr = c"HwMnoteScenePointer";
1361/// Scene Version
1362/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1363///
1364///
1365/// Available since API-level: 12
1366#[cfg(feature = "api-12")]
1367#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1368pub const OHOS_IMAGE_PROPERTY_SCENE_VERSION: &::core::ffi::CStr = c"HwMnoteSceneVersion";
1369/// Is Xmage Supported
1370/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1371///
1372///
1373/// Available since API-level: 12
1374#[cfg(feature = "api-12")]
1375#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1376pub const OHOS_IMAGE_PROPERTY_IS_XMAGE_SUPPORTED: &::core::ffi::CStr = c"HwMnoteIsXmageSupported";
1377/// Xmage Mode
1378/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1379///
1380///
1381/// Available since API-level: 12
1382#[cfg(feature = "api-12")]
1383#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1384pub const OHOS_IMAGE_PROPERTY_XMAGE_MODE: &::core::ffi::CStr = c"HwMnoteXmageMode";
1385/// Xmage X1 Coordinate
1386/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1387///
1388///
1389/// Available since API-level: 12
1390#[cfg(feature = "api-12")]
1391#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1392pub const OHOS_IMAGE_PROPERTY_XMAGE_LEFT: &::core::ffi::CStr = c"HwMnoteXmageLeft";
1393/// Xmage Y1 Coordinate
1394/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1395///
1396///
1397/// Available since API-level: 12
1398#[cfg(feature = "api-12")]
1399#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1400pub const OHOS_IMAGE_PROPERTY_XMAGE_TOP: &::core::ffi::CStr = c"HwMnoteXmageTop";
1401/// Xmage X2 Coordinate
1402/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1403///
1404///
1405/// Available since API-level: 12
1406#[cfg(feature = "api-12")]
1407#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1408pub const OHOS_IMAGE_PROPERTY_XMAGE_RIGHT: &::core::ffi::CStr = c"HwMnoteXmageRight";
1409/// Xmage Y2 Coordinate
1410/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1411///
1412///
1413/// Available since API-level: 12
1414#[cfg(feature = "api-12")]
1415#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1416pub const OHOS_IMAGE_PROPERTY_XMAGE_BOTTOM: &::core::ffi::CStr = c"HwMnoteXmageBottom";
1417/// Cloud Enhancement Mode
1418/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1419///
1420///
1421/// Available since API-level: 12
1422#[cfg(feature = "api-12")]
1423#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1424pub const OHOS_IMAGE_PROPERTY_CLOUD_ENHANCEMENT_MODE: &::core::ffi::CStr =
1425    c"HwMnoteCloudEnhancementMode";
1426/// Wind Snapshot Mode
1427/// It is used in [`OH_ImageSource_GetImageProperty`] and [`OH_ImageSource_ModifyImageProperty`].
1428///
1429///
1430/// Available since API-level: 12
1431#[cfg(feature = "api-12")]
1432#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1433pub const OHOS_IMAGE_PROPERTY_WIND_SNAPSHOT_MODE: &::core::ffi::CStr = c"HwMnoteWindSnapshotMode";
1434/// Gif Loop Count
1435/// It is used in [`OH_ImageSource_GetImageProperty`].
1436/// If infinite loop returns 0, other values represent the number of loops
1437///
1438///
1439/// Available since API-level: 12
1440#[cfg(feature = "api-12")]
1441#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1442pub const OHOS_IMAGE_PROPERTY_GIF_LOOP_COUNT: &::core::ffi::CStr = c"GIFLoopCount";
1443/// X in original
1444/// It is used in [`OH_ImageSource_GetImageProperty`].
1445/// The top left corner of the fragment image is at the X-coordinate of the original image
1446///
1447///
1448/// Available since API-level: 13
1449#[cfg(feature = "api-13")]
1450#[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
1451pub const OHOS_IMAGE_PROPERTY_X_IN_ORIGINAL: &::core::ffi::CStr = c"XInOriginal";
1452/// Y in original
1453/// It is used in [`OH_ImageSource_GetImageProperty`].
1454/// The top left corner of the fragment image is at the Y-coordinate of the original image
1455///
1456///
1457/// Available since API-level: 13
1458#[cfg(feature = "api-13")]
1459#[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
1460pub const OHOS_IMAGE_PROPERTY_Y_IN_ORIGINAL: &::core::ffi::CStr = c"YInOriginal";
1461/// Fragment map width
1462/// It is used in [`OH_ImageSource_GetImageProperty`].
1463/// The width of the fragment image
1464///
1465///
1466/// Available since API-level: 13
1467#[cfg(feature = "api-13")]
1468#[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
1469pub const OHOS_IMAGE_PROPERTY_FRAGMENT_WIDTH: &::core::ffi::CStr = c"FragmentImageWidth";
1470/// Fragment map height
1471/// It is used in [`OH_ImageSource_GetImageProperty`].
1472/// The height of the fragment image
1473///
1474///
1475/// Available since API-level: 13
1476#[cfg(feature = "api-13")]
1477#[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
1478pub const OHOS_IMAGE_PROPERTY_FRAGMENT_HEIGHT: &::core::ffi::CStr = c"FragmentImageHeight";
1479/// Delay of each frame in a GIF image, in milliseconds.
1480///
1481///
1482/// Available since API-level: 20
1483#[cfg(feature = "api-20")]
1484#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
1485pub const IMAGE_PROPERTY_GIF_DELAY_TIME: &::core::ffi::CStr = c"GifDelayTime";
1486/// Disposal type of each frame in a GIF image.
1487///
1488///
1489/// Available since API-level: 20
1490#[cfg(feature = "api-20")]
1491#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
1492pub const IMAGE_PROPERTY_GIF_DISPOSAL_TYPE: &::core::ffi::CStr = c"GifDisposalType";
1493extern "C" {
1494    /// Creates a <b>PictureMetadata</b> object.
1495    ///
1496    /// # Arguments
1497    ///
1498    /// * `metadataType` - The type of metadata.
1499    ///
1500    /// * `metadata` - The PictureMetadata pointer will be operated.
1501    ///
1502    /// # Returns
1503    ///
1504    /// * Image functions result code.
1505    /// [`IMAGE_SUCCESS`] if the execution is successful.
1506    /// [`IMAGE_BAD_PARAMETER`] metadata is nullptr.
1507    ///
1508    /// Available since API-level: 13
1509    #[cfg(feature = "api-13")]
1510    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
1511    pub fn OH_PictureMetadata_Create(
1512        metadataType: Image_MetadataType,
1513        metadata: *mut *mut OH_PictureMetadata,
1514    ) -> ImageResult;
1515    /// Obtains the property of picture metadata.
1516    ///
1517    /// # Arguments
1518    ///
1519    /// * `metadata` - The PictureMetadata pointer will be operated.
1520    ///
1521    /// * `key` - The property's key.
1522    ///
1523    /// * `value` - The property's value.
1524    ///
1525    /// # Returns
1526    ///
1527    /// * Image functions result code.
1528    /// [`IMAGE_SUCCESS`] if the execution is successful.
1529    /// [`IMAGE_BAD_PARAMETER`] metadata is nullptr, or key is nullptr, or value is nullptr.
1530    /// [`IMAGE_UNSUPPORTED_METADATA`] unsupported metadata type, or the metadata type does not match the
1531    /// auxiliary picture type.
1532    ///
1533    /// Available since API-level: 13
1534    #[cfg(feature = "api-13")]
1535    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
1536    pub fn OH_PictureMetadata_GetProperty(
1537        metadata: *mut OH_PictureMetadata,
1538        key: *mut Image_String,
1539        value: *mut Image_String,
1540    ) -> ImageResult;
1541    /// Set picture metadata property.
1542    ///
1543    /// # Arguments
1544    ///
1545    /// * `metadata` - The PictureMetadata pointer will be operated.
1546    ///
1547    /// * `key` - The property's key.
1548    ///
1549    /// * `value` - The property's value.
1550    ///
1551    /// # Returns
1552    ///
1553    /// * Image functions result code.
1554    /// [`IMAGE_SUCCESS`] if the execution is successful.
1555    /// [`IMAGE_BAD_PARAMETER`] metadata is nullptr, or key is nullptr, or value is nullptr.
1556    /// [`IMAGE_UNSUPPORTED_METADATA`] unsupported metadata type, or the metadata type does not match the
1557    /// auxiliary picture type.
1558    ///
1559    /// Available since API-level: 13
1560    #[cfg(feature = "api-13")]
1561    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
1562    pub fn OH_PictureMetadata_SetProperty(
1563        metadata: *mut OH_PictureMetadata,
1564        key: *mut Image_String,
1565        value: *mut Image_String,
1566    ) -> ImageResult;
1567    /// Obtains the property of picture metadata. The output value.data is null-terminated.
1568    ///
1569    /// # Arguments
1570    ///
1571    /// * `metadata` - Pointer to OH_PictureMetadata.
1572    ///
1573    /// * `key` - Pointer to property's key.
1574    ///
1575    /// * `value` - Pointer to property's value. Output parameter.
1576    ///
1577    /// # Returns
1578    ///
1579    /// * Image functions result code.
1580    /// [`IMAGE_SUCCESS`] if the execution is successful.
1581    /// [`IMAGE_INVALID_PARAMETER`] metadata is nullptr, or key is nullptr, or value is nullptr.
1582    /// [`IMAGE_UNSUPPORTED_METADATA`] unsupported metadata type, or the metadata type does not match the
1583    /// auxiliary picture type.
1584    ///
1585    /// Available since API-level: 19
1586    #[cfg(feature = "api-19")]
1587    #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
1588    pub fn OH_PictureMetadata_GetPropertyWithNull(
1589        metadata: *mut OH_PictureMetadata,
1590        key: *mut Image_String,
1591        value: *mut Image_String,
1592    ) -> ImageResult;
1593    /// Releases this PictureMetadata object.
1594    ///
1595    /// # Arguments
1596    ///
1597    /// * `metadata` - The PictureMetadata pointer will be operated.
1598    ///
1599    /// # Returns
1600    ///
1601    /// * Image functions result code.
1602    /// [`IMAGE_SUCCESS`] if the execution is successful.
1603    /// [`IMAGE_BAD_PARAMETER`] metadata is nullptr.
1604    ///
1605    /// Available since API-level: 13
1606    #[cfg(feature = "api-13")]
1607    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
1608    pub fn OH_PictureMetadata_Release(metadata: *mut OH_PictureMetadata) -> ImageResult;
1609    /// Obtains a clone of metadata.
1610    ///
1611    /// # Arguments
1612    ///
1613    /// * `oldMetadata` - The PictureMetadata pointer will be operated.
1614    ///
1615    /// * `newMetadata` - The PictureMetadata pointer will be cloned.
1616    ///
1617    /// # Returns
1618    ///
1619    /// * Image functions result code.
1620    /// [`IMAGE_SUCCESS`] if the execution is successful.
1621    /// [`IMAGE_BAD_PARAMETER`] metadata is nullptr.
1622    /// [`IMAGE_ALLOC_FAILED`] memory alloc failed.
1623    /// [`IMAGE_COPY_FAILED`] memory copy failed.
1624    ///
1625    /// Available since API-level: 13
1626    #[cfg(feature = "api-13")]
1627    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
1628    pub fn OH_PictureMetadata_Clone(
1629        oldMetadata: *mut OH_PictureMetadata,
1630        newMetadata: *mut *mut OH_PictureMetadata,
1631    ) -> ImageResult;
1632}