#![allow(non_upper_case_globals)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub type PictureInPicture_PipConfig = *mut ::core::ffi::c_void;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
impl PictureInPicture_PipTemplateType {
pub const VIDEO_PLAY: PictureInPicture_PipTemplateType = PictureInPicture_PipTemplateType(0);
pub const VIDEO_CALL: PictureInPicture_PipTemplateType = PictureInPicture_PipTemplateType(1);
pub const VIDEO_MEETING: PictureInPicture_PipTemplateType = PictureInPicture_PipTemplateType(2);
pub const VIDEO_LIVE: PictureInPicture_PipTemplateType = PictureInPicture_PipTemplateType(3);
}
#[repr(transparent)]
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct PictureInPicture_PipTemplateType(pub ::core::ffi::c_uint);
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
impl PictureInPicture_PipControlGroup {
pub const VIDEO_PLAY_VIDEO_PREVIOUS_NEXT: PictureInPicture_PipControlGroup =
PictureInPicture_PipControlGroup(101);
pub const VIDEO_PLAY_FAST_FORWARD_BACKWARD: PictureInPicture_PipControlGroup =
PictureInPicture_PipControlGroup(102);
pub const VIDEO_CALL_MICROPHONE_SWITCH: PictureInPicture_PipControlGroup =
PictureInPicture_PipControlGroup(201);
pub const VIDEO_CALL_HANG_UP_BUTTON: PictureInPicture_PipControlGroup =
PictureInPicture_PipControlGroup(202);
pub const VIDEO_CALL_CAMERA_SWITCH: PictureInPicture_PipControlGroup =
PictureInPicture_PipControlGroup(203);
pub const VIDEO_CALL_MUTE_SWITCH: PictureInPicture_PipControlGroup =
PictureInPicture_PipControlGroup(204);
pub const VIDEO_MEETING_HANG_UP_BUTTON: PictureInPicture_PipControlGroup =
PictureInPicture_PipControlGroup(301);
pub const VIDEO_MEETING_CAMERA_SWITCH: PictureInPicture_PipControlGroup =
PictureInPicture_PipControlGroup(302);
pub const VIDEO_MEETING_MUTE_SWITCH: PictureInPicture_PipControlGroup =
PictureInPicture_PipControlGroup(303);
pub const VIDEO_MEETING_MICROPHONE_SWITCH: PictureInPicture_PipControlGroup =
PictureInPicture_PipControlGroup(304);
pub const VIDEO_LIVE_VIDEO_PLAY_PAUSE: PictureInPicture_PipControlGroup =
PictureInPicture_PipControlGroup(401);
pub const VIDEO_LIVE_MUTE_SWITCH: PictureInPicture_PipControlGroup =
PictureInPicture_PipControlGroup(402);
}
#[repr(transparent)]
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct PictureInPicture_PipControlGroup(pub ::core::ffi::c_uint);
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
impl PictureInPicture_PipControlType {
pub const VIDEO_PLAY_PAUSE: PictureInPicture_PipControlType =
PictureInPicture_PipControlType(0);
pub const VIDEO_PREVIOUS: PictureInPicture_PipControlType = PictureInPicture_PipControlType(1);
pub const VIDEO_NEXT: PictureInPicture_PipControlType = PictureInPicture_PipControlType(2);
pub const FAST_FORWARD: PictureInPicture_PipControlType = PictureInPicture_PipControlType(3);
pub const FAST_BACKWARD: PictureInPicture_PipControlType = PictureInPicture_PipControlType(4);
pub const HANG_UP_BUTTON: PictureInPicture_PipControlType = PictureInPicture_PipControlType(5);
pub const MICROPHONE_SWITCH: PictureInPicture_PipControlType =
PictureInPicture_PipControlType(6);
pub const CAMERA_SWITCH: PictureInPicture_PipControlType = PictureInPicture_PipControlType(7);
pub const MUTE_SWITCH: PictureInPicture_PipControlType = PictureInPicture_PipControlType(8);
}
#[repr(transparent)]
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct PictureInPicture_PipControlType(pub ::core::ffi::c_uint);
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
impl PictureInPicture_PipControlStatus {
pub const PLAY: PictureInPicture_PipControlStatus = PictureInPicture_PipControlStatus(1);
pub const PAUSE: PictureInPicture_PipControlStatus = PictureInPicture_PipControlStatus(0);
pub const OPEN: PictureInPicture_PipControlStatus = PictureInPicture_PipControlStatus(1);
pub const CLOSE: PictureInPicture_PipControlStatus = PictureInPicture_PipControlStatus(0);
}
#[repr(transparent)]
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct PictureInPicture_PipControlStatus(pub ::core::ffi::c_uint);
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
impl PictureInPicture_PipState {
pub const ABOUT_TO_START: PictureInPicture_PipState = PictureInPicture_PipState(1);
pub const STARTED: PictureInPicture_PipState = PictureInPicture_PipState(2);
pub const ABOUT_TO_STOP: PictureInPicture_PipState = PictureInPicture_PipState(3);
pub const STOPPED: PictureInPicture_PipState = PictureInPicture_PipState(4);
pub const ABOUT_TO_RESTORE: PictureInPicture_PipState = PictureInPicture_PipState(5);
pub const ERROR: PictureInPicture_PipState = PictureInPicture_PipState(6);
}
#[repr(transparent)]
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub struct PictureInPicture_PipState(pub ::core::ffi::c_uint);
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub type WebPipStartPipCallback =
::core::option::Option<unsafe extern "C" fn(controllerId: u32, requestId: u8, surfaceId: u64)>;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub type WebPipLifecycleCallback = ::core::option::Option<
unsafe extern "C" fn(controllerId: u32, state: PictureInPicture_PipState, errcode: i32),
>;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub type WebPipControlEventCallback = ::core::option::Option<
unsafe extern "C" fn(
controllerId: u32,
controlType: PictureInPicture_PipControlType,
status: PictureInPicture_PipControlStatus,
),
>;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub type WebPipResizeCallback = ::core::option::Option<
unsafe extern "C" fn(controllerId: u32, width: u32, height: u32, scale: f64),
>;
extern "C" {
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_CreatePipConfig(pipConfig: *mut PictureInPicture_PipConfig) -> i32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_DestroyPipConfig(pipConfig: *mut PictureInPicture_PipConfig) -> i32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_SetPipMainWindowId(
pipConfig: PictureInPicture_PipConfig,
mainWindowId: u32,
) -> i32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_SetPipTemplateType(
pipConfig: PictureInPicture_PipConfig,
pipTemplateType: PictureInPicture_PipTemplateType,
) -> i32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_SetPipRect(
pipConfig: PictureInPicture_PipConfig,
width: u32,
height: u32,
) -> i32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_SetPipControlGroup(
pipConfig: PictureInPicture_PipConfig,
controlGroup: *mut PictureInPicture_PipControlGroup,
controlGroupLength: u8,
) -> i32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_SetPipNapiEnv(
pipConfig: PictureInPicture_PipConfig,
env: *mut ::core::ffi::c_void,
) -> i32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_CreatePip(
pipConfig: PictureInPicture_PipConfig,
controllerId: *mut u32,
) -> i32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_DeletePip(controllerId: u32) -> i32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_StartPip(controllerId: u32) -> i32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_StopPip(controllerId: u32) -> i32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_UpdatePipContentSize(
controllerId: u32,
width: u32,
height: u32,
) -> i32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_UpdatePipControlStatus(
controllerId: u32,
controlType: PictureInPicture_PipControlType,
status: PictureInPicture_PipControlStatus,
) -> i32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_SetPipControlEnabled(
controllerId: u32,
controlType: PictureInPicture_PipControlType,
enabled: bool,
) -> i32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_SetPipInitialSurfaceRect(
controllerId: u32,
positionX: i32,
positionY: i32,
width: u32,
height: u32,
) -> i32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_UnsetPipInitialSurfaceRect(controllerId: u32) -> i32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_RegisterStartPipCallback(
controllerId: u32,
callback: WebPipStartPipCallback,
) -> i32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_UnregisterStartPipCallback(
controllerId: u32,
callback: WebPipStartPipCallback,
) -> i32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_UnregisterAllStartPipCallbacks(controllerId: u32) -> i32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_RegisterLifecycleListener(
controllerId: u32,
callback: WebPipLifecycleCallback,
) -> i32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_UnregisterLifecycleListener(
controllerId: u32,
callback: WebPipLifecycleCallback,
) -> i32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_UnregisterAllLifecycleListeners(controllerId: u32) -> i32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_RegisterControlEventListener(
controllerId: u32,
callback: WebPipControlEventCallback,
) -> i32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_UnregisterControlEventListener(
controllerId: u32,
callback: WebPipControlEventCallback,
) -> i32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_UnregisterAllControlEventListeners(controllerId: u32) -> i32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_RegisterResizeListener(
controllerId: u32,
callback: WebPipResizeCallback,
) -> i32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_UnregisterResizeListener(
controllerId: u32,
callback: WebPipResizeCallback,
) -> i32;
#[cfg(feature = "api-20")]
#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
pub fn OH_PictureInPicture_UnregisterAllResizeListeners(controllerId: u32) -> i32;
}