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}