ohos_window_manager_sys/window_pip/
window_pip_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/// Picture in picture config.
8///
9/// Available since API-level: 20
10#[cfg(feature = "api-20")]
11#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
12pub type PictureInPicture_PipConfig = *mut ::core::ffi::c_void;
13#[cfg(feature = "api-20")]
14#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
15impl PictureInPicture_PipTemplateType {
16    /// Video play.
17    pub const VIDEO_PLAY: PictureInPicture_PipTemplateType = PictureInPicture_PipTemplateType(0);
18    /// Video call.
19    pub const VIDEO_CALL: PictureInPicture_PipTemplateType = PictureInPicture_PipTemplateType(1);
20    /// Video meeting.
21    pub const VIDEO_MEETING: PictureInPicture_PipTemplateType = PictureInPicture_PipTemplateType(2);
22    /// Video live.
23    pub const VIDEO_LIVE: PictureInPicture_PipTemplateType = PictureInPicture_PipTemplateType(3);
24}
25#[repr(transparent)]
26/// Enumerates picture in picture template type.
27///
28/// Available since API-level: 20
29#[cfg(feature = "api-20")]
30#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
31#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
32pub struct PictureInPicture_PipTemplateType(pub ::core::ffi::c_uint);
33#[cfg(feature = "api-20")]
34#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
35impl PictureInPicture_PipControlGroup {
36    /// Previous/next control group for video play.
37    pub const VIDEO_PLAY_VIDEO_PREVIOUS_NEXT: PictureInPicture_PipControlGroup =
38        PictureInPicture_PipControlGroup(101);
39    /// Fast forward/backward control group for video play.
40    pub const VIDEO_PLAY_FAST_FORWARD_BACKWARD: PictureInPicture_PipControlGroup =
41        PictureInPicture_PipControlGroup(102);
42    /// Switch on/off the microphone control group for video call.
43    pub const VIDEO_CALL_MICROPHONE_SWITCH: PictureInPicture_PipControlGroup =
44        PictureInPicture_PipControlGroup(201);
45    /// Hang up control group for video call.
46    pub const VIDEO_CALL_HANG_UP_BUTTON: PictureInPicture_PipControlGroup =
47        PictureInPicture_PipControlGroup(202);
48    /// Switch on/off the camera control group for video call.
49    pub const VIDEO_CALL_CAMERA_SWITCH: PictureInPicture_PipControlGroup =
50        PictureInPicture_PipControlGroup(203);
51    /// Mute control group for video call.
52    pub const VIDEO_CALL_MUTE_SWITCH: PictureInPicture_PipControlGroup =
53        PictureInPicture_PipControlGroup(204);
54    /// Hang up control group for video meeting.
55    pub const VIDEO_MEETING_HANG_UP_BUTTON: PictureInPicture_PipControlGroup =
56        PictureInPicture_PipControlGroup(301);
57    /// Switch on/off the camera control group for video meeting.
58    pub const VIDEO_MEETING_CAMERA_SWITCH: PictureInPicture_PipControlGroup =
59        PictureInPicture_PipControlGroup(302);
60    /// Mute control group for video meeting.
61    pub const VIDEO_MEETING_MUTE_SWITCH: PictureInPicture_PipControlGroup =
62        PictureInPicture_PipControlGroup(303);
63    /// Switch on/off the microphone control group for video meeting.
64    pub const VIDEO_MEETING_MICROPHONE_SWITCH: PictureInPicture_PipControlGroup =
65        PictureInPicture_PipControlGroup(304);
66    /// Video play/pause control group for video live.
67    pub const VIDEO_LIVE_VIDEO_PLAY_PAUSE: PictureInPicture_PipControlGroup =
68        PictureInPicture_PipControlGroup(401);
69    /// Mute control group for video live.
70    pub const VIDEO_LIVE_MUTE_SWITCH: PictureInPicture_PipControlGroup =
71        PictureInPicture_PipControlGroup(402);
72}
73#[repr(transparent)]
74/// Enumerates picture in picture control group.
75///
76/// Available since API-level: 20
77#[cfg(feature = "api-20")]
78#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
79#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
80pub struct PictureInPicture_PipControlGroup(pub ::core::ffi::c_uint);
81#[cfg(feature = "api-20")]
82#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
83impl PictureInPicture_PipControlType {
84    /// Video play/pause.
85    pub const VIDEO_PLAY_PAUSE: PictureInPicture_PipControlType =
86        PictureInPicture_PipControlType(0);
87    /// Video previous.
88    pub const VIDEO_PREVIOUS: PictureInPicture_PipControlType = PictureInPicture_PipControlType(1);
89    /// Video next.
90    pub const VIDEO_NEXT: PictureInPicture_PipControlType = PictureInPicture_PipControlType(2);
91    /// Video fast forward.
92    pub const FAST_FORWARD: PictureInPicture_PipControlType = PictureInPicture_PipControlType(3);
93    /// Video back forward.
94    pub const FAST_BACKWARD: PictureInPicture_PipControlType = PictureInPicture_PipControlType(4);
95    /// Hang up.
96    pub const HANG_UP_BUTTON: PictureInPicture_PipControlType = PictureInPicture_PipControlType(5);
97    /// Microphone switch.
98    pub const MICROPHONE_SWITCH: PictureInPicture_PipControlType =
99        PictureInPicture_PipControlType(6);
100    /// camera switch.
101    pub const CAMERA_SWITCH: PictureInPicture_PipControlType = PictureInPicture_PipControlType(7);
102    /// mute switch.
103    pub const MUTE_SWITCH: PictureInPicture_PipControlType = PictureInPicture_PipControlType(8);
104}
105#[repr(transparent)]
106/// Enumerates picture in picture control type.
107///
108/// Available since API-level: 20
109#[cfg(feature = "api-20")]
110#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
111#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
112pub struct PictureInPicture_PipControlType(pub ::core::ffi::c_uint);
113#[cfg(feature = "api-20")]
114#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
115impl PictureInPicture_PipControlStatus {
116    /// Play.
117    pub const PLAY: PictureInPicture_PipControlStatus = PictureInPicture_PipControlStatus(1);
118    /// Pause.
119    pub const PAUSE: PictureInPicture_PipControlStatus = PictureInPicture_PipControlStatus(0);
120    /// Open.
121    pub const OPEN: PictureInPicture_PipControlStatus = PictureInPicture_PipControlStatus(1);
122    /// Close.
123    pub const CLOSE: PictureInPicture_PipControlStatus = PictureInPicture_PipControlStatus(0);
124}
125#[repr(transparent)]
126/// Enumerates picture in picture control status.
127///
128/// Available since API-level: 20
129#[cfg(feature = "api-20")]
130#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
131#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
132pub struct PictureInPicture_PipControlStatus(pub ::core::ffi::c_uint);
133#[cfg(feature = "api-20")]
134#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
135impl PictureInPicture_PipState {
136    /// About to start.
137    pub const ABOUT_TO_START: PictureInPicture_PipState = PictureInPicture_PipState(1);
138    /// started.
139    pub const STARTED: PictureInPicture_PipState = PictureInPicture_PipState(2);
140    /// About to stop.
141    pub const ABOUT_TO_STOP: PictureInPicture_PipState = PictureInPicture_PipState(3);
142    /// stopped.
143    pub const STOPPED: PictureInPicture_PipState = PictureInPicture_PipState(4);
144    /// About to restore.
145    pub const ABOUT_TO_RESTORE: PictureInPicture_PipState = PictureInPicture_PipState(5);
146    /// Error.
147    pub const ERROR: PictureInPicture_PipState = PictureInPicture_PipState(6);
148}
149#[repr(transparent)]
150/// Enumerates picture in picture state.
151///
152/// Available since API-level: 20
153#[cfg(feature = "api-20")]
154#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
155#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
156pub struct PictureInPicture_PipState(pub ::core::ffi::c_uint);
157/// Start the picture-in-picture callback
158/// # Arguments
159///
160/// * `controllerId` - The picture-in-picture controller ID
161///
162/// * `requestId` - The picture-in-picture requestId
163///
164/// * `surfaceId` - The picture-in-picture surfaceId
165///
166/// Available since API-level: 20
167#[cfg(feature = "api-20")]
168#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
169pub type WebPipStartPipCallback =
170    ::core::option::Option<unsafe extern "C" fn(controllerId: u32, requestId: u8, surfaceId: u64)>;
171/// The picture-in-picture lifecycle callback
172/// # Arguments
173///
174/// * `controllerId` - The picture-in-picture controller ID
175///
176/// * `state` - The picture-in-picture state
177///
178/// * `errcode` - The picture-in-picture error code
179///
180/// Available since API-level: 20
181#[cfg(feature = "api-20")]
182#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
183pub type WebPipLifecycleCallback = ::core::option::Option<
184    unsafe extern "C" fn(controllerId: u32, state: PictureInPicture_PipState, errcode: i32),
185>;
186/// The picture-in-picture control event callback
187/// # Arguments
188///
189/// * `controllerId` - The picture-in-picture controller ID
190///
191/// * `controlType` - The picture-in-picture control type
192///
193/// * `status` - The picture-in-picture control status
194///
195/// Available since API-level: 20
196#[cfg(feature = "api-20")]
197#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
198pub type WebPipControlEventCallback = ::core::option::Option<
199    unsafe extern "C" fn(
200        controllerId: u32,
201        controlType: PictureInPicture_PipControlType,
202        status: PictureInPicture_PipControlStatus,
203    ),
204>;
205/// The picture-in-picture size change callback
206/// # Arguments
207///
208/// * `controllerId` - The picture-in-picture controller ID
209///
210/// * `width` - The picture-in-picture window width
211///
212/// * `height` - The picture-in-picture window height
213///
214/// * `scale` - The picture-in-picture window scale
215///
216/// Available since API-level: 20
217#[cfg(feature = "api-20")]
218#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
219pub type WebPipResizeCallback = ::core::option::Option<
220    unsafe extern "C" fn(controllerId: u32, width: u32, height: u32, scale: f64),
221>;
222extern "C" {
223    /// Create picture-in-picture config.
224    /// # Arguments
225    ///
226    /// * `pipConfig` - The picture-in-picture config
227    ///
228    /// # Returns
229    ///
230    /// * Return the result code.
231    /// [`OK`] the function call is successful.
232    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
233    ///
234    /// Available since API-level: 20
235    #[cfg(feature = "api-20")]
236    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
237    pub fn OH_PictureInPicture_CreatePipConfig(pipConfig: *mut PictureInPicture_PipConfig) -> i32;
238    /// Destroy picture-in-picture config.
239    /// # Arguments
240    ///
241    /// * `pipConfig` - The picture-in-picture config
242    ///
243    /// # Returns
244    ///
245    /// * Return the result code.
246    /// [`OK`] the function call is successful.
247    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
248    ///
249    /// Available since API-level: 20
250    #[cfg(feature = "api-20")]
251    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
252    pub fn OH_PictureInPicture_DestroyPipConfig(pipConfig: *mut PictureInPicture_PipConfig) -> i32;
253    /// Set picture-in-picture mainWindowId.
254    ///
255    /// # Arguments
256    ///
257    /// * `pipConfig` - The picture-in-picture config
258    ///
259    /// * `mainWindowId` - WindowId of corresponding mainWindow
260    ///
261    /// # Returns
262    ///
263    /// * Return the result code.
264    /// [`OK`] the function call is successful.
265    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
266    /// [`WINDOW_MANAGER_ERRORCODE_DEVICE_NOT_SUPPORTED`] capability not supported.
267    ///
268    /// Available since API-level: 20
269    #[cfg(feature = "api-20")]
270    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
271    pub fn OH_PictureInPicture_SetPipMainWindowId(
272        pipConfig: PictureInPicture_PipConfig,
273        mainWindowId: u32,
274    ) -> i32;
275    /// Set picture-in-picture templateType.
276    ///
277    /// # Arguments
278    ///
279    /// * `pipConfig` - The picture-in-picture config
280    ///
281    /// * `pipTemplateType` - The picture-in-picture template type
282    ///
283    /// # Returns
284    ///
285    /// * Return the result code.
286    /// [`OK`] the function call is successful.
287    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
288    /// [`WINDOW_MANAGER_ERRORCODE_DEVICE_NOT_SUPPORTED`] capability not supported.
289    ///
290    /// Available since API-level: 20
291    #[cfg(feature = "api-20")]
292    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
293    pub fn OH_PictureInPicture_SetPipTemplateType(
294        pipConfig: PictureInPicture_PipConfig,
295        pipTemplateType: PictureInPicture_PipTemplateType,
296    ) -> i32;
297    /// Set picture-in-picture rect.
298    ///
299    /// # Arguments
300    ///
301    /// * `pipConfig` - The picture-in-picture config
302    ///
303    /// * `width` - The picture-in-picture window width
304    ///
305    /// * `height` - The picture-in-picture window height
306    ///
307    /// # Returns
308    ///
309    /// * Return the result code.
310    /// [`OK`] the function call is successful.
311    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
312    /// [`WINDOW_MANAGER_ERRORCODE_DEVICE_NOT_SUPPORTED`] capability not supported.
313    ///
314    /// Available since API-level: 20
315    #[cfg(feature = "api-20")]
316    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
317    pub fn OH_PictureInPicture_SetPipRect(
318        pipConfig: PictureInPicture_PipConfig,
319        width: u32,
320        height: u32,
321    ) -> i32;
322    /// Set picture-in-picture control group.
323    ///
324    /// # Arguments
325    ///
326    /// * `pipConfig` - The picture-in-picture config
327    ///
328    /// * `controlGroup` - The picture-in-picture control group
329    ///
330    /// * `controlGroupLength` - The length of picture-in-picture control group
331    ///
332    /// # Returns
333    ///
334    /// * Return the result code.
335    /// [`OK`] the function call is successful.
336    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
337    /// [`WINDOW_MANAGER_ERRORCODE_DEVICE_NOT_SUPPORTED`] capability not supported.
338    ///
339    /// Available since API-level: 20
340    #[cfg(feature = "api-20")]
341    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
342    pub fn OH_PictureInPicture_SetPipControlGroup(
343        pipConfig: PictureInPicture_PipConfig,
344        controlGroup: *mut PictureInPicture_PipControlGroup,
345        controlGroupLength: u8,
346    ) -> i32;
347    /// Set picture-in-picture napi env.
348    ///
349    /// # Arguments
350    ///
351    /// * `pipConfig` - The picture-in-picture config
352    ///
353    /// * `env` - The picture-in-picture napi env
354    ///
355    /// # Returns
356    ///
357    /// * Return the result code.
358    /// [`OK`] the function call is successful.
359    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
360    /// [`WINDOW_MANAGER_ERRORCODE_DEVICE_NOT_SUPPORTED`] capability not supported.
361    ///
362    /// Available since API-level: 20
363    #[cfg(feature = "api-20")]
364    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
365    pub fn OH_PictureInPicture_SetPipNapiEnv(
366        pipConfig: PictureInPicture_PipConfig,
367        env: *mut ::core::ffi::c_void,
368    ) -> i32;
369    /// Create picture-in-picture controller.
370    /// # Arguments
371    ///
372    /// * `pipConfig` - The picture-in-picture config
373    ///
374    /// * `controllerId` - The picture-in-picture controller ID
375    ///
376    /// # Returns
377    ///
378    /// * Return the result code.
379    /// [`OK`] the function call is successful.
380    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
381    /// [`WINDOW_MANAGER_ERRORCODE_DEVICE_NOT_SUPPORTED`] capability not supported.
382    /// [`WINDOW_MANAGER_ERRORCODE_PIP_INTERNAL_ERROR`] pip internal error.
383    ///
384    /// Available since API-level: 20
385    #[cfg(feature = "api-20")]
386    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
387    pub fn OH_PictureInPicture_CreatePip(
388        pipConfig: PictureInPicture_PipConfig,
389        controllerId: *mut u32,
390    ) -> i32;
391    /// Delete picture-in-picture controller.
392    ///
393    /// # Arguments
394    ///
395    /// * `controllerId` - The picture-in-picture controller ID
396    ///
397    /// # Returns
398    ///
399    /// * Return the result code.
400    /// [`OK`] The function call is successful.
401    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
402    ///
403    /// Available since API-level: 20
404    #[cfg(feature = "api-20")]
405    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
406    pub fn OH_PictureInPicture_DeletePip(controllerId: u32) -> i32;
407    /// Start picture-in-picture.
408    ///
409    /// # Arguments
410    ///
411    /// * `controllerId` - The picture-in-picture controller ID
412    ///
413    /// # Returns
414    ///
415    /// * Return the result code.
416    /// [`OK`] the function call is successful.
417    /// [`WINDOW_MANAGER_ERRORCODE_PIP_STATE_ABNORMAL`] the PiP window state is abnormal.
418    /// [`WINDOW_MANAGER_ERRORCODE_PIP_CREATE_FAILED`] failed to create the PiP window.
419    /// [`WINDOW_MANAGER_ERRORCODE_PIP_INTERNAL_ERROR`] pip internal error.
420    /// [`WINDOW_MANAGER_ERRORCODE_PIP_REPEATED_OPERATION`] repeated PiP operation.
421    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
422    ///
423    /// Available since API-level: 20
424    #[cfg(feature = "api-20")]
425    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
426    pub fn OH_PictureInPicture_StartPip(controllerId: u32) -> i32;
427    /// Stop picture-in-picture.
428    ///
429    /// # Arguments
430    ///
431    /// * `controllerId` - The picture-in-picture controller ID
432    ///
433    /// # Returns
434    ///
435    /// * Return the result code.
436    /// [`OK`] the function call is successful.
437    /// [`WINDOW_MANAGER_ERRORCODE_PIP_DESTROY_FAILED`] failed to destroy the PiP window.
438    /// [`WINDOW_MANAGER_ERRORCODE_PIP_STATE_ABNORMAL`] the PiP window state is abnormal.
439    /// [`WINDOW_MANAGER_ERRORCODE_PIP_INTERNAL_ERROR`] pip internal error.
440    /// [`WINDOW_MANAGER_ERRORCODE_PIP_REPEATED_OPERATION`] repeated PiP operation.
441    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
442    ///
443    /// Available since API-level: 20
444    #[cfg(feature = "api-20")]
445    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
446    pub fn OH_PictureInPicture_StopPip(controllerId: u32) -> i32;
447    /// Update picture-in-picture content size.
448    ///
449    /// # Arguments
450    ///
451    /// * `controllerId` - The picture-in-picture controller ID
452    ///
453    /// * `width` - The picture-in-picture content width
454    ///
455    /// * `height` - The picture-in-picture content height
456    ///
457    /// # Returns
458    ///
459    /// * Return the result code.
460    /// [`OK`] the function call is successful.
461    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
462    /// [`WINDOW_MANAGER_ERRORCODE_PIP_INTERNAL_ERROR`] pip internal error.
463    ///
464    /// Available since API-level: 20
465    #[cfg(feature = "api-20")]
466    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
467    pub fn OH_PictureInPicture_UpdatePipContentSize(
468        controllerId: u32,
469        width: u32,
470        height: u32,
471    ) -> i32;
472    /// Update picture-in-picture control status.
473    ///
474    /// # Arguments
475    ///
476    /// * `controllerId` - The picture-in-picture controller ID
477    ///
478    /// * `controlType` - The picture-in-picture control type.
479    ///
480    /// * `status` - The picture-in-picture control status.
481    ///
482    /// # Returns
483    ///
484    /// * Return the result code.
485    /// [`OK`] the function call is successful.
486    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
487    /// [`WINDOW_MANAGER_ERRORCODE_PIP_INTERNAL_ERROR`] pip internal error.
488    ///
489    /// Available since API-level: 20
490    #[cfg(feature = "api-20")]
491    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
492    pub fn OH_PictureInPicture_UpdatePipControlStatus(
493        controllerId: u32,
494        controlType: PictureInPicture_PipControlType,
495        status: PictureInPicture_PipControlStatus,
496    ) -> i32;
497    /// Set picture-in-picture controll enable status.
498    ///
499    /// # Arguments
500    ///
501    /// * `controllerId` - The picture-in-picture controller ID
502    ///
503    /// * `controlType` - The picture-in-picture control type.
504    ///
505    /// * `enabled` - Indicate the picture-in-picture control is enabled.
506    ///
507    /// # Returns
508    ///
509    /// * Return the result code.
510    /// [`OK`] the function call is successful.
511    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
512    /// [`WINDOW_MANAGER_ERRORCODE_PIP_INTERNAL_ERROR`] pip internal error.
513    ///
514    /// Available since API-level: 20
515    #[cfg(feature = "api-20")]
516    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
517    pub fn OH_PictureInPicture_SetPipControlEnabled(
518        controllerId: u32,
519        controlType: PictureInPicture_PipControlType,
520        enabled: bool,
521    ) -> i32;
522    /// Set picture-in-picture initial surface rect.
523    ///
524    /// # Arguments
525    ///
526    /// * `controllerId` - The picture-in-picture controller ID
527    ///
528    /// * `positionX` - The X position of the first frame when start the picture-in-picture.
529    ///
530    /// * `positionY` - The Y position of the first frame when start the picture-in-picture.
531    ///
532    /// * `width` - The width of the first frame when start the picture-in-picture.
533    ///
534    /// * `height` - The height of the first frame when start the picture-in-picture.
535    ///
536    /// # Returns
537    ///
538    /// * Return the result code.
539    /// [`OK`] the function call is successful.
540    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
541    /// [`WINDOW_MANAGER_ERRORCODE_PIP_INTERNAL_ERROR`] pip internal error.
542    ///
543    /// Available since API-level: 20
544    #[cfg(feature = "api-20")]
545    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
546    pub fn OH_PictureInPicture_SetPipInitialSurfaceRect(
547        controllerId: u32,
548        positionX: i32,
549        positionY: i32,
550        width: u32,
551        height: u32,
552    ) -> i32;
553    /// Unset picture-in-picture initial surface rect.
554    ///
555    /// # Arguments
556    ///
557    /// * `controllerId` - The picture-in-picture controller ID
558    ///
559    /// # Returns
560    ///
561    /// * Return the result code.
562    /// [`OK`] the function call is successful.
563    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
564    /// [`WINDOW_MANAGER_ERRORCODE_PIP_INTERNAL_ERROR`] pip internal error.
565    ///
566    /// Available since API-level: 20
567    #[cfg(feature = "api-20")]
568    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
569    pub fn OH_PictureInPicture_UnsetPipInitialSurfaceRect(controllerId: u32) -> i32;
570    /// Register picture-in-picture controller start callback.
571    ///
572    /// # Arguments
573    ///
574    /// * `controllerId` - The picture-in-picture controller ID
575    ///
576    /// * `callback` - Start the picture-in-picture callback
577    ///
578    /// # Returns
579    ///
580    /// * Return the result code.
581    /// [`OK`] the function call is successful.
582    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
583    /// [`WINDOW_MANAGER_ERRORCODE_DEVICE_NOT_SUPPORTED`] capability not supported.
584    /// [`WINDOW_MANAGER_ERRORCODE_PIP_INTERNAL_ERROR`] pip internal error.
585    ///
586    /// Available since API-level: 20
587    #[cfg(feature = "api-20")]
588    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
589    pub fn OH_PictureInPicture_RegisterStartPipCallback(
590        controllerId: u32,
591        callback: WebPipStartPipCallback,
592    ) -> i32;
593    /// Unregister picture-in-picture controller start callback.
594    ///
595    /// # Arguments
596    ///
597    /// * `controllerId` - The picture-in-picture controller ID
598    ///
599    /// * `callback` - Start the picture-in-picture callback
600    ///
601    /// # Returns
602    ///
603    /// * Return the result code.
604    /// [`OK`] the function call is successful.
605    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
606    /// [`WINDOW_MANAGER_ERRORCODE_DEVICE_NOT_SUPPORTED`] capability not supported.
607    /// [`WINDOW_MANAGER_ERRORCODE_PIP_INTERNAL_ERROR`] pip internal error.
608    ///
609    /// Available since API-level: 20
610    #[cfg(feature = "api-20")]
611    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
612    pub fn OH_PictureInPicture_UnregisterStartPipCallback(
613        controllerId: u32,
614        callback: WebPipStartPipCallback,
615    ) -> i32;
616    /// Unregister all picture-in-picture controller start callbacks.
617    ///
618    /// # Arguments
619    ///
620    /// * `controllerId` - The picture-in-picture controller ID
621    ///
622    /// # Returns
623    ///
624    /// * Return the result code.
625    /// [`OK`] the function call is successful.
626    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
627    /// [`WINDOW_MANAGER_ERRORCODE_DEVICE_NOT_SUPPORTED`] capability not supported.
628    /// [`WINDOW_MANAGER_ERRORCODE_PIP_INTERNAL_ERROR`] pip internal error.
629    ///
630    /// Available since API-level: 20
631    #[cfg(feature = "api-20")]
632    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
633    pub fn OH_PictureInPicture_UnregisterAllStartPipCallbacks(controllerId: u32) -> i32;
634    /// Register picture-in-picture lifecycle listener callback.
635    ///
636    /// # Arguments
637    ///
638    /// * `controllerId` - The picture-in-picture controller ID
639    ///
640    /// * `callback` - The picture-in-picture lifecycle callback.
641    ///
642    /// # Returns
643    ///
644    /// * Return the result code.
645    /// [`OK`] the function call is successful.
646    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
647    /// [`WINDOW_MANAGER_ERRORCODE_DEVICE_NOT_SUPPORTED`] capability not supported.
648    /// [`WINDOW_MANAGER_ERRORCODE_PIP_INTERNAL_ERROR`] pip internal error.
649    ///
650    /// Available since API-level: 20
651    #[cfg(feature = "api-20")]
652    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
653    pub fn OH_PictureInPicture_RegisterLifecycleListener(
654        controllerId: u32,
655        callback: WebPipLifecycleCallback,
656    ) -> i32;
657    /// Unregister picture-in-picture lifecycle listener callback.
658    ///
659    /// # Arguments
660    ///
661    /// * `controllerId` - The picture-in-picture controller ID
662    ///
663    /// * `callback` - The picture-in-picture lifecycle callback.
664    ///
665    /// # Returns
666    ///
667    /// * Return the result code.
668    /// [`OK`] the function call is successful.
669    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
670    /// [`WINDOW_MANAGER_ERRORCODE_DEVICE_NOT_SUPPORTED`] capability not supported.
671    /// [`WINDOW_MANAGER_ERRORCODE_PIP_INTERNAL_ERROR`] pip internal error.
672    ///
673    /// Available since API-level: 20
674    #[cfg(feature = "api-20")]
675    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
676    pub fn OH_PictureInPicture_UnregisterLifecycleListener(
677        controllerId: u32,
678        callback: WebPipLifecycleCallback,
679    ) -> i32;
680    /// Unregister all picture-in-picture lifecycle listener callbacks.
681    ///
682    /// # Arguments
683    ///
684    /// * `controllerId` - The picture-in-picture controller ID
685    ///
686    /// # Returns
687    ///
688    /// * Return the result code.
689    /// [`OK`] the function call is successful.
690    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
691    /// [`WINDOW_MANAGER_ERRORCODE_DEVICE_NOT_SUPPORTED`] capability not supported.
692    /// [`WINDOW_MANAGER_ERRORCODE_PIP_INTERNAL_ERROR`] pip internal error.
693    ///
694    /// Available since API-level: 20
695    #[cfg(feature = "api-20")]
696    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
697    pub fn OH_PictureInPicture_UnregisterAllLifecycleListeners(controllerId: u32) -> i32;
698    /// Register picture-in-picture control event listener callback.
699    ///
700    /// # Arguments
701    ///
702    /// * `controllerId` - The picture-in-picture controller ID
703    ///
704    /// * `callback` - The picture-in-picture control event callback.
705    ///
706    /// # Returns
707    ///
708    /// * Return the result code.
709    /// [`OK`] the function call is successful.
710    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
711    /// [`WINDOW_MANAGER_ERRORCODE_DEVICE_NOT_SUPPORTED`] capability not supported.
712    /// [`WINDOW_MANAGER_ERRORCODE_PIP_INTERNAL_ERROR`] pip internal error.
713    ///
714    /// Available since API-level: 20
715    #[cfg(feature = "api-20")]
716    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
717    pub fn OH_PictureInPicture_RegisterControlEventListener(
718        controllerId: u32,
719        callback: WebPipControlEventCallback,
720    ) -> i32;
721    /// Unregister picture-in-picture control event listener callback.
722    ///
723    /// # Arguments
724    ///
725    /// * `controllerId` - The picture-in-picture controller ID
726    ///
727    /// * `callback` - The picture-in-picture control event callback.
728    ///
729    /// # Returns
730    ///
731    /// * Return the result code.
732    /// [`OK`] the function call is successful.
733    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
734    /// [`WINDOW_MANAGER_ERRORCODE_DEVICE_NOT_SUPPORTED`] capability not supported.
735    /// [`WINDOW_MANAGER_ERRORCODE_PIP_INTERNAL_ERROR`] pip internal error.
736    ///
737    /// Available since API-level: 20
738    #[cfg(feature = "api-20")]
739    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
740    pub fn OH_PictureInPicture_UnregisterControlEventListener(
741        controllerId: u32,
742        callback: WebPipControlEventCallback,
743    ) -> i32;
744    /// Unregister all picture-in-picture control event listener callbacks.
745    ///
746    /// # Arguments
747    ///
748    /// * `controllerId` - The picture-in-picture controller ID
749    ///
750    /// # Returns
751    ///
752    /// * Return the result code.
753    /// [`OK`] the function call is successful.
754    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
755    /// [`WINDOW_MANAGER_ERRORCODE_DEVICE_NOT_SUPPORTED`] capability not supported.
756    /// [`WINDOW_MANAGER_ERRORCODE_PIP_INTERNAL_ERROR`] pip internal error.
757    ///
758    /// Available since API-level: 20
759    #[cfg(feature = "api-20")]
760    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
761    pub fn OH_PictureInPicture_UnregisterAllControlEventListeners(controllerId: u32) -> i32;
762    /// Register picture-in-picture resize listener callback.
763    ///
764    /// # Arguments
765    ///
766    /// * `controllerId` - The picture-in-picture controller ID
767    ///
768    /// * `callback` - The picture-in-picture size change callback.
769    ///
770    /// # Returns
771    ///
772    /// * Return the result code.
773    /// [`OK`] the function call is successful.
774    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
775    /// [`WINDOW_MANAGER_ERRORCODE_DEVICE_NOT_SUPPORTED`] capability not supported.
776    /// [`WINDOW_MANAGER_ERRORCODE_PIP_INTERNAL_ERROR`] pip internal error.
777    ///
778    /// Available since API-level: 20
779    #[cfg(feature = "api-20")]
780    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
781    pub fn OH_PictureInPicture_RegisterResizeListener(
782        controllerId: u32,
783        callback: WebPipResizeCallback,
784    ) -> i32;
785    /// Unregister picture-in-picture resize listener callback.
786    ///
787    /// # Arguments
788    ///
789    /// * `controllerId` - The picture-in-picture controller ID
790    ///
791    /// * `callback` - The picture-in-picture size change callback.
792    ///
793    /// # Returns
794    ///
795    /// * Return the result code.
796    /// [`OK`] the function call is successful.
797    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
798    /// [`WINDOW_MANAGER_ERRORCODE_DEVICE_NOT_SUPPORTED`] capability not supported.
799    /// [`WINDOW_MANAGER_ERRORCODE_PIP_INTERNAL_ERROR`] pip internal error.
800    ///
801    /// Available since API-level: 20
802    #[cfg(feature = "api-20")]
803    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
804    pub fn OH_PictureInPicture_UnregisterResizeListener(
805        controllerId: u32,
806        callback: WebPipResizeCallback,
807    ) -> i32;
808    /// Unregister all picture-in-picture resize listener callbacks.
809    ///
810    /// # Arguments
811    ///
812    /// * `controllerId` - The picture-in-picture controller ID
813    ///
814    /// # Returns
815    ///
816    /// * Return the result code.
817    /// [`OK`] the function call is successful.
818    /// [`WINDOW_MANAGER_ERRORCODE_INCORRECT_PARAM`] parameter error.
819    /// [`WINDOW_MANAGER_ERRORCODE_DEVICE_NOT_SUPPORTED`] capability not supported.
820    /// [`WINDOW_MANAGER_ERRORCODE_PIP_INTERNAL_ERROR`] pip internal error.
821    ///
822    /// Available since API-level: 20
823    #[cfg(feature = "api-20")]
824    #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
825    pub fn OH_PictureInPicture_UnregisterAllResizeListeners(controllerId: u32) -> i32;
826}