Skip to main content

ohos_window_sys/native_buffer/buffer_common/
buffer_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#[cfg(feature = "api-11")]
8#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
9impl OH_NativeBuffer_ColorSpace {
10    /// None color space
11    pub const OH_COLORSPACE_NONE: OH_NativeBuffer_ColorSpace = OH_NativeBuffer_ColorSpace(0);
12    /// COLORPRIMARIES_BT601_P | (TRANSFUNC_BT709 << 8) | (MATRIX_BT601_P << 16) | (RANGE_FULL << 21)
13    pub const OH_COLORSPACE_BT601_EBU_FULL: OH_NativeBuffer_ColorSpace =
14        OH_NativeBuffer_ColorSpace(1);
15    /// COLORPRIMARIES_BT601_N | (TRANSFUNC_BT709 << 8) | (MATRIX_BT601_N << 16) | (RANGE_FULL << 21)
16    pub const OH_COLORSPACE_BT601_SMPTE_C_FULL: OH_NativeBuffer_ColorSpace =
17        OH_NativeBuffer_ColorSpace(2);
18    /// COLORPRIMARIES_BT709 | (TRANSFUNC_BT709 << 8) | (MATRIX_BT709 << 16) | (RANGE_FULL << 21)
19    pub const OH_COLORSPACE_BT709_FULL: OH_NativeBuffer_ColorSpace = OH_NativeBuffer_ColorSpace(3);
20    /// COLORPRIMARIES_BT2020 | (TRANSFUNC_HLG << 8) | (MATRIX_BT2020 << 16) | (RANGE_FULL << 21)
21    pub const OH_COLORSPACE_BT2020_HLG_FULL: OH_NativeBuffer_ColorSpace =
22        OH_NativeBuffer_ColorSpace(4);
23    /// COLORPRIMARIES_BT2020 | (TRANSFUNC_PQ << 8) | (MATRIX_BT2020 << 16) | (RANGE_FULL << 21)
24    pub const OH_COLORSPACE_BT2020_PQ_FULL: OH_NativeBuffer_ColorSpace =
25        OH_NativeBuffer_ColorSpace(5);
26    /// COLORPRIMARIES_BT601_P | (TRANSFUNC_BT709 << 8) | (MATRIX_BT601_P << 16) | (RANGE_LIMITED << 21)
27    pub const OH_COLORSPACE_BT601_EBU_LIMIT: OH_NativeBuffer_ColorSpace =
28        OH_NativeBuffer_ColorSpace(6);
29    /// COLORPRIMARIES_BT601_N | (TRANSFUNC_BT709 << 8) | (MATRIX_BT601_N << 16) | (RANGE_LIMITED << 21)
30    pub const OH_COLORSPACE_BT601_SMPTE_C_LIMIT: OH_NativeBuffer_ColorSpace =
31        OH_NativeBuffer_ColorSpace(7);
32    /// COLORPRIMARIES_BT709 | (TRANSFUNC_BT709 << 8) | (MATRIX_BT709 << 16) | (RANGE_LIMITED << 21)
33    pub const OH_COLORSPACE_BT709_LIMIT: OH_NativeBuffer_ColorSpace = OH_NativeBuffer_ColorSpace(8);
34    /// COLORPRIMARIES_BT2020 | (TRANSFUNC_HLG << 8) | (MATRIX_BT2020 << 16) | (RANGE_LIMITED << 21)
35    pub const OH_COLORSPACE_BT2020_HLG_LIMIT: OH_NativeBuffer_ColorSpace =
36        OH_NativeBuffer_ColorSpace(9);
37    /// COLORPRIMARIES_BT2020 | (TRANSFUNC_PQ << 8) | (MATRIX_BT2020 << 16) | (RANGE_LIMITED << 21)
38    pub const OH_COLORSPACE_BT2020_PQ_LIMIT: OH_NativeBuffer_ColorSpace =
39        OH_NativeBuffer_ColorSpace(10);
40    /// COLORPRIMARIES_SRGB | (TRANSFUNC_SRGB << 8) | (MATRIX_BT601_N << 16) | (RANGE_FULL << 21)
41    pub const OH_COLORSPACE_SRGB_FULL: OH_NativeBuffer_ColorSpace = OH_NativeBuffer_ColorSpace(11);
42    /// COLORPRIMARIES_P3_D65 | (TRANSFUNC_SRGB << 8) | (MATRIX_P3 << 16) | (RANGE_FULL << 21)
43    pub const OH_COLORSPACE_P3_FULL: OH_NativeBuffer_ColorSpace = OH_NativeBuffer_ColorSpace(12);
44    /// COLORPRIMARIES_P3_D65 | (TRANSFUNC_HLG << 8) | (MATRIX_P3 << 16) | (RANGE_FULL << 21)
45    pub const OH_COLORSPACE_P3_HLG_FULL: OH_NativeBuffer_ColorSpace =
46        OH_NativeBuffer_ColorSpace(13);
47    /// COLORPRIMARIES_P3_D65 | (TRANSFUNC_PQ << 8) | (MATRIX_P3 << 16) | (RANGE_FULL << 21)
48    pub const OH_COLORSPACE_P3_PQ_FULL: OH_NativeBuffer_ColorSpace = OH_NativeBuffer_ColorSpace(14);
49    /// COLORPRIMARIES_ADOBERGB | (TRANSFUNC_ADOBERGB << 8) | (MATRIX_ADOBERGB << 16) | (RANGE_FULL << 21)
50    pub const OH_COLORSPACE_ADOBERGB_FULL: OH_NativeBuffer_ColorSpace =
51        OH_NativeBuffer_ColorSpace(15);
52    /// COLORPRIMARIES_SRGB | (TRANSFUNC_SRGB << 8) | (MATRIX_BT601_N << 16) | (RANGE_LIMITED << 21)
53    pub const OH_COLORSPACE_SRGB_LIMIT: OH_NativeBuffer_ColorSpace = OH_NativeBuffer_ColorSpace(16);
54    /// COLORPRIMARIES_P3_D65 | (TRANSFUNC_SRGB << 8) | (MATRIX_P3 << 16) | (RANGE_LIMITED << 21)
55    pub const OH_COLORSPACE_P3_LIMIT: OH_NativeBuffer_ColorSpace = OH_NativeBuffer_ColorSpace(17);
56    /// COLORPRIMARIES_P3_D65 | (TRANSFUNC_HLG << 8) | (MATRIX_P3 << 16) | (RANGE_LIMITED << 21)
57    pub const OH_COLORSPACE_P3_HLG_LIMIT: OH_NativeBuffer_ColorSpace =
58        OH_NativeBuffer_ColorSpace(18);
59    /// COLORPRIMARIES_P3_D65 | (TRANSFUNC_PQ << 8) | (MATRIX_P3 << 16) | (RANGE_LIMITED << 21)
60    pub const OH_COLORSPACE_P3_PQ_LIMIT: OH_NativeBuffer_ColorSpace =
61        OH_NativeBuffer_ColorSpace(19);
62    /// COLORPRIMARIES_ADOBERGB | (TRANSFUNC_ADOBERGB << 8) | (MATRIX_ADOBERGB << 16) | (RANGE_LIMITED << 21)
63    pub const OH_COLORSPACE_ADOBERGB_LIMIT: OH_NativeBuffer_ColorSpace =
64        OH_NativeBuffer_ColorSpace(20);
65    /// COLORPRIMARIES_SRGB | (TRANSFUNC_LINEAR << 8)
66    pub const OH_COLORSPACE_LINEAR_SRGB: OH_NativeBuffer_ColorSpace =
67        OH_NativeBuffer_ColorSpace(21);
68    /// equal to OH_COLORSPACE_LINEAR_SRGB
69    pub const OH_COLORSPACE_LINEAR_BT709: OH_NativeBuffer_ColorSpace =
70        OH_NativeBuffer_ColorSpace(22);
71    /// COLORPRIMARIES_P3_D65 | (TRANSFUNC_LINEAR << 8)
72    pub const OH_COLORSPACE_LINEAR_P3: OH_NativeBuffer_ColorSpace = OH_NativeBuffer_ColorSpace(23);
73    /// COLORPRIMARIES_BT2020 | (TRANSFUNC_LINEAR << 8)
74    pub const OH_COLORSPACE_LINEAR_BT2020: OH_NativeBuffer_ColorSpace =
75        OH_NativeBuffer_ColorSpace(24);
76    /// equal to OH_COLORSPACE_SRGB_FULL
77    pub const OH_COLORSPACE_DISPLAY_SRGB: OH_NativeBuffer_ColorSpace =
78        OH_NativeBuffer_ColorSpace(25);
79    /// equal to OH_COLORSPACE_P3_FULL
80    pub const OH_COLORSPACE_DISPLAY_P3_SRGB: OH_NativeBuffer_ColorSpace =
81        OH_NativeBuffer_ColorSpace(26);
82    /// equal to OH_COLORSPACE_P3_HLG_FULL
83    pub const OH_COLORSPACE_DISPLAY_P3_HLG: OH_NativeBuffer_ColorSpace =
84        OH_NativeBuffer_ColorSpace(27);
85    /// equal to OH_COLORSPACE_P3_PQ_FULL
86    pub const OH_COLORSPACE_DISPLAY_P3_PQ: OH_NativeBuffer_ColorSpace =
87        OH_NativeBuffer_ColorSpace(28);
88    /// COLORPRIMARIES_BT2020 | (TRANSFUNC_SRGB << 8) | (MATRIX_BT2020 << 16) | (RANGE_FULL << 21)
89    pub const OH_COLORSPACE_DISPLAY_BT2020_SRGB: OH_NativeBuffer_ColorSpace =
90        OH_NativeBuffer_ColorSpace(29);
91    /// equal to OH_COLORSPACE_BT2020_HLG_FULL
92    pub const OH_COLORSPACE_DISPLAY_BT2020_HLG: OH_NativeBuffer_ColorSpace =
93        OH_NativeBuffer_ColorSpace(30);
94    /// equal to OH_COLORSPACE_BT2020_PQ_FULL
95    pub const OH_COLORSPACE_DISPLAY_BT2020_PQ: OH_NativeBuffer_ColorSpace =
96        OH_NativeBuffer_ColorSpace(31);
97}
98#[repr(transparent)]
99/// Indicates the color space of a native buffer.
100///
101///
102/// Required System Capabilities: SystemCapability.Graphic.Graphic2D.NativeBuffer
103///
104/// Available since API-level: 11
105///
106/// Version: 1.0
107////**
108/// Indicates the color space of a native buffer.
109/// Move from native_buffer.h to native_common.h
110///
111///
112/// Required System Capabilities: SystemCapability.Graphic.Graphic2D.NativeBuffer
113///
114/// Available since API-level: 12
115///
116/// Version: 1.0
117#[cfg(feature = "api-11")]
118#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
119#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
120pub struct OH_NativeBuffer_ColorSpace(pub ::core::ffi::c_uint);
121#[cfg(feature = "api-12")]
122#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
123impl OH_NativeBuffer_MetadataType {
124    /// HLG
125    pub const OH_VIDEO_HDR_HLG: OH_NativeBuffer_MetadataType = OH_NativeBuffer_MetadataType(0);
126    /// HDR10
127    pub const OH_VIDEO_HDR_HDR10: OH_NativeBuffer_MetadataType = OH_NativeBuffer_MetadataType(1);
128    /// HDR VIVID
129    pub const OH_VIDEO_HDR_VIVID: OH_NativeBuffer_MetadataType = OH_NativeBuffer_MetadataType(2);
130    /// HDR IMAGE DUAL.
131    ///
132    /// Available since API-level: 22
133    #[cfg(feature = "api-22")]
134    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
135    pub const OH_IMAGE_HDR_VIVID_DUAL: OH_NativeBuffer_MetadataType =
136        OH_NativeBuffer_MetadataType(3);
137    /// HDR IMAGE SINGLE.
138    ///
139    /// Available since API-level: 22
140    #[cfg(feature = "api-22")]
141    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
142    pub const OH_IMAGE_HDR_VIVID_SINGLE: OH_NativeBuffer_MetadataType =
143        OH_NativeBuffer_MetadataType(4);
144    /// HDR IMAGE ISO DUAL.
145    ///
146    /// Available since API-level: 23
147    #[cfg(feature = "api-23")]
148    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
149    pub const OH_IMAGE_HDR_ISO_DUAL: OH_NativeBuffer_MetadataType = OH_NativeBuffer_MetadataType(5);
150    /// HDR IMAGE ISO SINGLE.
151    ///
152    /// Available since API-level: 23
153    #[cfg(feature = "api-23")]
154    #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
155    pub const OH_IMAGE_HDR_ISO_SINGLE: OH_NativeBuffer_MetadataType =
156        OH_NativeBuffer_MetadataType(6);
157    /// NONE Metadata
158    ///
159    /// Available since API-level: 13
160    #[cfg(feature = "api-13")]
161    #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
162    pub const OH_VIDEO_NONE: OH_NativeBuffer_MetadataType = OH_NativeBuffer_MetadataType(-1);
163}
164#[repr(transparent)]
165/// Indicates the HDR metadata type of a native buffer.
166///
167///
168/// Required System Capabilities: SystemCapability.Graphic.Graphic2D.NativeBuffer
169///
170/// Available since API-level: 12
171///
172/// Version: 1.0
173#[cfg(feature = "api-12")]
174#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
175#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
176pub struct OH_NativeBuffer_MetadataType(pub ::core::ffi::c_int);
177/// Indicates the color x and y.
178///
179///
180/// Required System Capabilities: SystemCapability.Graphic.Graphic2D.NativeBuffer
181///
182/// Available since API-level: 12
183///
184/// Version: 1.0
185#[cfg(feature = "api-12")]
186#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
187#[repr(C)]
188#[derive(Debug, Copy, Clone)]
189pub struct OH_NativeBuffer_ColorXY {
190    /// color X
191    pub x: f32,
192    /// color Y
193    pub y: f32,
194}
195/// Indicates the smpte2086 metadata.
196///
197///
198/// Required System Capabilities: SystemCapability.Graphic.Graphic2D.NativeBuffer
199///
200/// Available since API-level: 12
201///
202/// Version: 1.0
203#[cfg(feature = "api-12")]
204#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
205#[repr(C)]
206#[derive(Debug, Copy, Clone)]
207pub struct OH_NativeBuffer_Smpte2086 {
208    /// primary red
209    pub displayPrimaryRed: OH_NativeBuffer_ColorXY,
210    /// primary green
211    pub displayPrimaryGreen: OH_NativeBuffer_ColorXY,
212    /// primary blue
213    pub displayPrimaryBlue: OH_NativeBuffer_ColorXY,
214    /// white point
215    pub whitePoint: OH_NativeBuffer_ColorXY,
216    /// max luminance
217    pub maxLuminance: f32,
218    /// min luminance
219    pub minLuminance: f32,
220}
221/// Indicates the cta861.3 metadata.
222///
223///
224/// Required System Capabilities: SystemCapability.Graphic.Graphic2D.NativeBuffer
225///
226/// Available since API-level: 12
227///
228/// Version: 1.0
229#[cfg(feature = "api-12")]
230#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
231#[repr(C)]
232#[derive(Debug, Copy, Clone)]
233pub struct OH_NativeBuffer_Cta861 {
234    /// max content lightLevel
235    pub maxContentLightLevel: f32,
236    /// max frame average light level
237    pub maxFrameAverageLightLevel: f32,
238}
239/// Indicates the HDR static metadata.
240///
241///
242/// Required System Capabilities: SystemCapability.Graphic.Graphic2D.NativeBuffer
243///
244/// Available since API-level: 12
245///
246/// Version: 1.0
247#[cfg(feature = "api-12")]
248#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
249#[repr(C)]
250#[derive(Debug, Copy, Clone)]
251pub struct OH_NativeBuffer_StaticMetadata {
252    /// smpte 2086 metadata
253    pub smpte2086: OH_NativeBuffer_Smpte2086,
254    /// CTA-861.3 metadata
255    pub cta861: OH_NativeBuffer_Cta861,
256}
257#[cfg(feature = "api-12")]
258#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
259impl OH_NativeBuffer_MetadataKey {
260    /// value: OH_NativeBuffer_MetadataType
261    pub const OH_HDR_METADATA_TYPE: OH_NativeBuffer_MetadataKey = OH_NativeBuffer_MetadataKey(0);
262    /// value: OH_NativeBuffer_StaticMetadata
263    pub const OH_HDR_STATIC_METADATA: OH_NativeBuffer_MetadataKey = OH_NativeBuffer_MetadataKey(1);
264    /// byte stream of SEI in video stream
265    pub const OH_HDR_DYNAMIC_METADATA: OH_NativeBuffer_MetadataKey = OH_NativeBuffer_MetadataKey(2);
266    /// Region of interest(ROI) metadata is used to conifgure ROI feature in video encoding. Value type is string
267    /// in the format "Top1,Left1-Bottom1,Right1=QpOffset1;Top2,Left2-Bottom2,Right2=QpOffset2;".
268    /// Each "Top,Left-Bottom,Right=QpOffset" represents the coordinate information and quantization parameter
269    /// offset of one ROI. Each "=QpOffset" in the string can be omitted,
270    /// like "Top1,Left1-Bottom1,Right1;Top2,Left2-Bottom2,Right2=QpOffset2;", the encoder will use the default
271    /// quantization parameter offset to perform the ROI encoding on the first ROI and use QpOffset2 on the second ROI.
272    /// Note that the number of ROIs that can be applied simultaneously does not exceed six, and the total area must
273    /// not exceed one-fifth of the total image area.
274    ///
275    ///
276    /// Available since API-level: 22
277    #[cfg(feature = "api-22")]
278    #[cfg_attr(docsrs, doc(cfg(feature = "api-22")))]
279    pub const OH_REGION_OF_INTEREST_METADATA: OH_NativeBuffer_MetadataKey =
280        OH_NativeBuffer_MetadataKey(3);
281}
282#[repr(transparent)]
283/// Indicates the descriptive information of a native buffer,
284/// such as HDR metadata, ROI metadata, etc.
285///
286///
287/// Required System Capabilities: SystemCapability.Graphic.Graphic2D.NativeBuffer
288///
289/// Available since API-level: 12
290///
291/// Version: 1.0
292#[cfg(feature = "api-12")]
293#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
294#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
295pub struct OH_NativeBuffer_MetadataKey(pub ::core::ffi::c_uint);
296impl OH_NativeBuffer_Format {
297    /// CLUT8 format
298    ///
299    /// Available since API-level: 12
300    #[cfg(feature = "api-12")]
301    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
302    pub const NATIVEBUFFER_PIXEL_FMT_CLUT8: OH_NativeBuffer_Format = OH_NativeBuffer_Format(0);
303    /// CLUT1 format
304    ///
305    /// Available since API-level: 12
306    #[cfg(feature = "api-12")]
307    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
308    pub const NATIVEBUFFER_PIXEL_FMT_CLUT1: OH_NativeBuffer_Format = OH_NativeBuffer_Format(1);
309    /// CLUT4 format
310    ///
311    /// Available since API-level: 12
312    #[cfg(feature = "api-12")]
313    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
314    pub const NATIVEBUFFER_PIXEL_FMT_CLUT4: OH_NativeBuffer_Format = OH_NativeBuffer_Format(2);
315    /// CLUT4 format
316    ///
317    /// Available since API-level: 12
318    #[cfg(feature = "api-12")]
319    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
320    pub const NATIVEBUFFER_PIXEL_FMT_RGB_565: OH_NativeBuffer_Format = OH_NativeBuffer_Format(3);
321    /// < RGB565 format */
322    pub const NATIVEBUFFER_PIXEL_FMT_RGBA_5658: OH_NativeBuffer_Format = OH_NativeBuffer_Format(4);
323    /// < RGBA5658 format */
324    pub const NATIVEBUFFER_PIXEL_FMT_RGBX_4444: OH_NativeBuffer_Format = OH_NativeBuffer_Format(5);
325    /// < RGBX4444 format */
326    pub const NATIVEBUFFER_PIXEL_FMT_RGBA_4444: OH_NativeBuffer_Format = OH_NativeBuffer_Format(6);
327    /// < RGBA4444 format */
328    pub const NATIVEBUFFER_PIXEL_FMT_RGB_444: OH_NativeBuffer_Format = OH_NativeBuffer_Format(7);
329    /// < RGB444 format */
330    pub const NATIVEBUFFER_PIXEL_FMT_RGBX_5551: OH_NativeBuffer_Format = OH_NativeBuffer_Format(8);
331    /// < RGBX5551 format */
332    pub const NATIVEBUFFER_PIXEL_FMT_RGBA_5551: OH_NativeBuffer_Format = OH_NativeBuffer_Format(9);
333    /// < RGBA5551 format */
334    pub const NATIVEBUFFER_PIXEL_FMT_RGB_555: OH_NativeBuffer_Format = OH_NativeBuffer_Format(10);
335    /// < RGB555 format */
336    pub const NATIVEBUFFER_PIXEL_FMT_RGBX_8888: OH_NativeBuffer_Format = OH_NativeBuffer_Format(11);
337    /// < RGBX8888 format */
338    pub const NATIVEBUFFER_PIXEL_FMT_RGBA_8888: OH_NativeBuffer_Format = OH_NativeBuffer_Format(12);
339    /// < RGBA8888 format */
340    pub const NATIVEBUFFER_PIXEL_FMT_RGB_888: OH_NativeBuffer_Format = OH_NativeBuffer_Format(13);
341    /// < RGB888 format */
342    pub const NATIVEBUFFER_PIXEL_FMT_BGR_565: OH_NativeBuffer_Format = OH_NativeBuffer_Format(14);
343    /// < BGR565 format */
344    pub const NATIVEBUFFER_PIXEL_FMT_BGRX_4444: OH_NativeBuffer_Format = OH_NativeBuffer_Format(15);
345    /// < BGRX4444 format */
346    pub const NATIVEBUFFER_PIXEL_FMT_BGRA_4444: OH_NativeBuffer_Format = OH_NativeBuffer_Format(16);
347    /// < BGRA4444 format */
348    pub const NATIVEBUFFER_PIXEL_FMT_BGRX_5551: OH_NativeBuffer_Format = OH_NativeBuffer_Format(17);
349    /// < BGRX5551 format */
350    pub const NATIVEBUFFER_PIXEL_FMT_BGRA_5551: OH_NativeBuffer_Format = OH_NativeBuffer_Format(18);
351    /// < BGRA5551 format */
352    pub const NATIVEBUFFER_PIXEL_FMT_BGRX_8888: OH_NativeBuffer_Format = OH_NativeBuffer_Format(19);
353    /// < BGRX8888 format */
354    pub const NATIVEBUFFER_PIXEL_FMT_BGRA_8888: OH_NativeBuffer_Format = OH_NativeBuffer_Format(20);
355    /// < BGRA8888 format */
356    /// **
357    /// * YUV422 interleaved format
358    /// * @since 12
359    /// */
360    #[cfg(feature = "api-12")]
361    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
362    pub const NATIVEBUFFER_PIXEL_FMT_YUV_422_I: OH_NativeBuffer_Format = OH_NativeBuffer_Format(21);
363    /// YCBCR422 semi-plannar format
364    ///
365    /// Available since API-level: 12
366    #[cfg(feature = "api-12")]
367    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
368    pub const NATIVEBUFFER_PIXEL_FMT_YCBCR_422_SP: OH_NativeBuffer_Format =
369        OH_NativeBuffer_Format(22);
370    /// YCRCB422 semi-plannar format
371    ///
372    /// Available since API-level: 12
373    #[cfg(feature = "api-12")]
374    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
375    pub const NATIVEBUFFER_PIXEL_FMT_YCRCB_422_SP: OH_NativeBuffer_Format =
376        OH_NativeBuffer_Format(23);
377    /// YCBCR420 semi-plannar format
378    ///
379    /// Available since API-level: 12
380    #[cfg(feature = "api-12")]
381    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
382    pub const NATIVEBUFFER_PIXEL_FMT_YCBCR_420_SP: OH_NativeBuffer_Format =
383        OH_NativeBuffer_Format(24);
384    /// YCRCB420 semi-plannar format
385    ///
386    /// Available since API-level: 12
387    #[cfg(feature = "api-12")]
388    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
389    pub const NATIVEBUFFER_PIXEL_FMT_YCRCB_420_SP: OH_NativeBuffer_Format =
390        OH_NativeBuffer_Format(25);
391    /// YCBCR422 plannar format
392    ///
393    /// Available since API-level: 12
394    #[cfg(feature = "api-12")]
395    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
396    pub const NATIVEBUFFER_PIXEL_FMT_YCBCR_422_P: OH_NativeBuffer_Format =
397        OH_NativeBuffer_Format(26);
398    /// YCRCB422 plannar format
399    ///
400    /// Available since API-level: 12
401    #[cfg(feature = "api-12")]
402    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
403    pub const NATIVEBUFFER_PIXEL_FMT_YCRCB_422_P: OH_NativeBuffer_Format =
404        OH_NativeBuffer_Format(27);
405    /// YCBCR420 plannar format
406    ///
407    /// Available since API-level: 12
408    #[cfg(feature = "api-12")]
409    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
410    pub const NATIVEBUFFER_PIXEL_FMT_YCBCR_420_P: OH_NativeBuffer_Format =
411        OH_NativeBuffer_Format(28);
412    /// YCRCB420 plannar format
413    ///
414    /// Available since API-level: 12
415    #[cfg(feature = "api-12")]
416    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
417    pub const NATIVEBUFFER_PIXEL_FMT_YCRCB_420_P: OH_NativeBuffer_Format =
418        OH_NativeBuffer_Format(29);
419    /// YUYV422 packed format
420    ///
421    /// Available since API-level: 12
422    #[cfg(feature = "api-12")]
423    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
424    pub const NATIVEBUFFER_PIXEL_FMT_YUYV_422_PKG: OH_NativeBuffer_Format =
425        OH_NativeBuffer_Format(30);
426    /// UYVY422 packed format
427    ///
428    /// Available since API-level: 12
429    #[cfg(feature = "api-12")]
430    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
431    pub const NATIVEBUFFER_PIXEL_FMT_UYVY_422_PKG: OH_NativeBuffer_Format =
432        OH_NativeBuffer_Format(31);
433    /// YVYU422 packed format
434    ///
435    /// Available since API-level: 12
436    #[cfg(feature = "api-12")]
437    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
438    pub const NATIVEBUFFER_PIXEL_FMT_YVYU_422_PKG: OH_NativeBuffer_Format =
439        OH_NativeBuffer_Format(32);
440    /// VYUY422 packed format
441    ///
442    /// Available since API-level: 12
443    #[cfg(feature = "api-12")]
444    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
445    pub const NATIVEBUFFER_PIXEL_FMT_VYUY_422_PKG: OH_NativeBuffer_Format =
446        OH_NativeBuffer_Format(33);
447    /// RGBA_1010102 packed format
448    ///
449    /// Available since API-level: 12
450    #[cfg(feature = "api-12")]
451    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
452    pub const NATIVEBUFFER_PIXEL_FMT_RGBA_1010102: OH_NativeBuffer_Format =
453        OH_NativeBuffer_Format(34);
454    /// YCBCR420 semi-planar 10bit packed format
455    ///
456    /// Available since API-level: 12
457    #[cfg(feature = "api-12")]
458    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
459    pub const NATIVEBUFFER_PIXEL_FMT_YCBCR_P010: OH_NativeBuffer_Format =
460        OH_NativeBuffer_Format(35);
461    /// YCRCB420 semi-planar 10bit packed format
462    ///
463    /// Available since API-level: 12
464    #[cfg(feature = "api-12")]
465    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
466    pub const NATIVEBUFFER_PIXEL_FMT_YCRCB_P010: OH_NativeBuffer_Format =
467        OH_NativeBuffer_Format(36);
468    /// Raw 10bit packed format
469    ///
470    /// Available since API-level: 12
471    #[cfg(feature = "api-12")]
472    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
473    pub const NATIVEBUFFER_PIXEL_FMT_RAW10: OH_NativeBuffer_Format = OH_NativeBuffer_Format(37);
474    /// BLOB format
475    ///
476    /// Available since API-level: 15
477    #[cfg(feature = "api-15")]
478    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
479    pub const NATIVEBUFFER_PIXEL_FMT_BLOB: OH_NativeBuffer_Format = OH_NativeBuffer_Format(38);
480    /// RGBA16 float format
481    ///
482    /// Available since API-level: 15
483    #[cfg(feature = "api-15")]
484    #[cfg_attr(docsrs, doc(cfg(feature = "api-15")))]
485    pub const NATIVEBUFFER_PIXEL_FMT_RGBA16_FLOAT: OH_NativeBuffer_Format =
486        OH_NativeBuffer_Format(39);
487    /// Y8 format
488    ///
489    /// Available since API-level: 20
490    #[cfg(feature = "api-20")]
491    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
492    pub const NATIVEBUFFER_PIXEL_FMT_Y8: OH_NativeBuffer_Format = OH_NativeBuffer_Format(40);
493    /// Y16 format
494    ///
495    /// Available since API-level: 20
496    #[cfg(feature = "api-20")]
497    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
498    pub const NATIVEBUFFER_PIXEL_FMT_Y16: OH_NativeBuffer_Format = OH_NativeBuffer_Format(41);
499    /// vender mask format
500    ///
501    /// Available since API-level: 12
502    #[cfg(feature = "api-12")]
503    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
504    pub const NATIVEBUFFER_PIXEL_FMT_VENDER_MASK: OH_NativeBuffer_Format =
505        OH_NativeBuffer_Format(2147418112);
506    /// vender mask format
507    ///
508    /// Available since API-level: 12
509    #[cfg(feature = "api-12")]
510    #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
511    pub const NATIVEBUFFER_PIXEL_FMT_BUTT: OH_NativeBuffer_Format =
512        OH_NativeBuffer_Format(2147483647);
513}
514#[repr(transparent)]
515/// Indicates the format of a native buffer.
516///
517///
518/// Required System Capabilities: SystemCapability.Graphic.Graphic2D.NativeBuffer
519///
520/// Available since API-level: 10
521///
522/// Version: 1.0
523#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
524pub struct OH_NativeBuffer_Format(pub ::core::ffi::c_uint);
525#[cfg(feature = "api-12")]
526#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
527impl OH_NativeBuffer_TransformType {
528    /// < No rotation
529    pub const NATIVEBUFFER_ROTATE_NONE: OH_NativeBuffer_TransformType =
530        OH_NativeBuffer_TransformType(0);
531    /// < Rotation by 90 degrees
532    pub const NATIVEBUFFER_ROTATE_90: OH_NativeBuffer_TransformType =
533        OH_NativeBuffer_TransformType(1);
534    /// < Rotation by 180 degrees
535    pub const NATIVEBUFFER_ROTATE_180: OH_NativeBuffer_TransformType =
536        OH_NativeBuffer_TransformType(2);
537    /// < Rotation by 270 degrees
538    pub const NATIVEBUFFER_ROTATE_270: OH_NativeBuffer_TransformType =
539        OH_NativeBuffer_TransformType(3);
540    /// < Flip horizontally
541    pub const NATIVEBUFFER_FLIP_H: OH_NativeBuffer_TransformType = OH_NativeBuffer_TransformType(4);
542    /// < Flip vertically
543    pub const NATIVEBUFFER_FLIP_V: OH_NativeBuffer_TransformType = OH_NativeBuffer_TransformType(5);
544    /// < Flip horizontally and rotate 90 degrees
545    pub const NATIVEBUFFER_FLIP_H_ROT90: OH_NativeBuffer_TransformType =
546        OH_NativeBuffer_TransformType(6);
547    /// < Flip vertically and rotate 90 degrees
548    pub const NATIVEBUFFER_FLIP_V_ROT90: OH_NativeBuffer_TransformType =
549        OH_NativeBuffer_TransformType(7);
550    /// < Flip horizontally and rotate 180 degrees
551    pub const NATIVEBUFFER_FLIP_H_ROT180: OH_NativeBuffer_TransformType =
552        OH_NativeBuffer_TransformType(8);
553    /// < Flip vertically and rotate 180 degrees
554    pub const NATIVEBUFFER_FLIP_V_ROT180: OH_NativeBuffer_TransformType =
555        OH_NativeBuffer_TransformType(9);
556    /// < Flip horizontally and rotate 270 degrees
557    pub const NATIVEBUFFER_FLIP_H_ROT270: OH_NativeBuffer_TransformType =
558        OH_NativeBuffer_TransformType(10);
559    /// < Flip vertically and rotate 270 degrees
560    pub const NATIVEBUFFER_FLIP_V_ROT270: OH_NativeBuffer_TransformType =
561        OH_NativeBuffer_TransformType(11);
562}
563#[repr(transparent)]
564/// Indicates the transform type of a native buffer.
565///
566///
567/// Required System Capabilities: SystemCapability.Graphic.Graphic2D.NativeBuffer
568///
569/// Available since API-level: 12
570///
571/// Version: 1.0
572#[cfg(feature = "api-12")]
573#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
574#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
575pub struct OH_NativeBuffer_TransformType(pub ::core::ffi::c_uint);