objc2_av_kit/generated/
AVPictureInPictureController.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6#[cfg(feature = "objc2-app-kit")]
7#[cfg(target_os = "macos")]
8use objc2_app_kit::*;
9#[cfg(feature = "objc2-av-foundation")]
10use objc2_av_foundation::*;
11use objc2_foundation::*;
12
13use crate::*;
14
15extern_class!(
16 #[unsafe(super(NSObject))]
20 #[derive(Debug, PartialEq, Eq, Hash)]
21 pub struct AVPictureInPictureController;
22);
23
24extern_conformance!(
25 unsafe impl NSObjectProtocol for AVPictureInPictureController {}
26);
27
28impl AVPictureInPictureController {
29 extern_methods!(
30 #[unsafe(method(isPictureInPictureSupported))]
34 #[unsafe(method_family = none)]
35 pub unsafe fn isPictureInPictureSupported() -> bool;
36
37 #[cfg(feature = "objc2-app-kit")]
38 #[cfg(target_os = "macos")]
39 #[unsafe(method(pictureInPictureButtonStartImage))]
41 #[unsafe(method_family = none)]
42 pub unsafe fn pictureInPictureButtonStartImage() -> Retained<NSImage>;
43
44 #[cfg(feature = "objc2-app-kit")]
45 #[cfg(target_os = "macos")]
46 #[unsafe(method(pictureInPictureButtonStopImage))]
48 #[unsafe(method_family = none)]
49 pub unsafe fn pictureInPictureButtonStopImage() -> Retained<NSImage>;
50
51 #[unsafe(method(initWithContentSource:))]
55 #[unsafe(method_family = init)]
56 pub unsafe fn initWithContentSource(
57 this: Allocated<Self>,
58 content_source: &AVPictureInPictureControllerContentSource,
59 ) -> Retained<Self>;
60
61 #[cfg(feature = "objc2-av-foundation")]
62 #[cfg(not(target_os = "watchos"))]
63 #[unsafe(method(initWithPlayerLayer:))]
67 #[unsafe(method_family = init)]
68 pub unsafe fn initWithPlayerLayer(
69 this: Allocated<Self>,
70 player_layer: &AVPlayerLayer,
71 ) -> Option<Retained<Self>>;
72
73 #[unsafe(method(contentSource))]
75 #[unsafe(method_family = none)]
76 pub unsafe fn contentSource(
77 &self,
78 ) -> Option<Retained<AVPictureInPictureControllerContentSource>>;
79
80 #[unsafe(method(setContentSource:))]
82 #[unsafe(method_family = none)]
83 pub unsafe fn setContentSource(
84 &self,
85 content_source: Option<&AVPictureInPictureControllerContentSource>,
86 );
87
88 #[cfg(feature = "objc2-av-foundation")]
89 #[cfg(not(target_os = "watchos"))]
90 #[unsafe(method(playerLayer))]
92 #[unsafe(method_family = none)]
93 pub unsafe fn playerLayer(&self) -> Retained<AVPlayerLayer>;
94
95 #[unsafe(method(delegate))]
97 #[unsafe(method_family = none)]
98 pub unsafe fn delegate(
99 &self,
100 ) -> Option<Retained<ProtocolObject<dyn AVPictureInPictureControllerDelegate>>>;
101
102 #[unsafe(method(setDelegate:))]
106 #[unsafe(method_family = none)]
107 pub unsafe fn setDelegate(
108 &self,
109 delegate: Option<&ProtocolObject<dyn AVPictureInPictureControllerDelegate>>,
110 );
111
112 #[unsafe(method(startPictureInPicture))]
116 #[unsafe(method_family = none)]
117 pub unsafe fn startPictureInPicture(&self);
118
119 #[unsafe(method(stopPictureInPicture))]
123 #[unsafe(method_family = none)]
124 pub unsafe fn stopPictureInPicture(&self);
125
126 #[unsafe(method(isPictureInPicturePossible))]
128 #[unsafe(method_family = none)]
129 pub unsafe fn isPictureInPicturePossible(&self) -> bool;
130
131 #[unsafe(method(isPictureInPictureActive))]
133 #[unsafe(method_family = none)]
134 pub unsafe fn isPictureInPictureActive(&self) -> bool;
135
136 #[unsafe(method(isPictureInPictureSuspended))]
138 #[unsafe(method_family = none)]
139 pub unsafe fn isPictureInPictureSuspended(&self) -> bool;
140
141 #[unsafe(method(canStopPictureInPicture))]
145 #[unsafe(method_family = none)]
146 pub unsafe fn canStopPictureInPicture(&self) -> bool;
147
148 #[unsafe(method(requiresLinearPlayback))]
152 #[unsafe(method_family = none)]
153 pub unsafe fn requiresLinearPlayback(&self) -> bool;
154
155 #[unsafe(method(setRequiresLinearPlayback:))]
157 #[unsafe(method_family = none)]
158 pub unsafe fn setRequiresLinearPlayback(&self, requires_linear_playback: bool);
159
160 #[unsafe(method(canStartPictureInPictureAutomaticallyFromInline))]
164 #[unsafe(method_family = none)]
165 pub unsafe fn canStartPictureInPictureAutomaticallyFromInline(&self) -> bool;
166
167 #[unsafe(method(setCanStartPictureInPictureAutomaticallyFromInline:))]
169 #[unsafe(method_family = none)]
170 pub unsafe fn setCanStartPictureInPictureAutomaticallyFromInline(
171 &self,
172 can_start_picture_in_picture_automatically_from_inline: bool,
173 );
174 );
175}
176
177impl AVPictureInPictureController {
179 extern_methods!(
180 #[unsafe(method(init))]
181 #[unsafe(method_family = init)]
182 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
183
184 #[unsafe(method(new))]
185 #[unsafe(method_family = new)]
186 pub unsafe fn new() -> Retained<Self>;
187 );
188}
189
190extern_class!(
191 #[unsafe(super(NSObject))]
197 #[derive(Debug, PartialEq, Eq, Hash)]
198 pub struct AVPictureInPictureControllerContentSource;
199);
200
201extern_conformance!(
202 unsafe impl NSObjectProtocol for AVPictureInPictureControllerContentSource {}
203);
204
205impl AVPictureInPictureControllerContentSource {
206 extern_methods!(
207 #[unsafe(method(init))]
208 #[unsafe(method_family = init)]
209 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
210
211 #[unsafe(method(new))]
212 #[unsafe(method_family = new)]
213 pub unsafe fn new() -> Retained<Self>;
214
215 #[cfg(feature = "objc2-av-foundation")]
216 #[cfg(not(target_os = "watchos"))]
217 #[unsafe(method(initWithPlayerLayer:))]
221 #[unsafe(method_family = init)]
222 pub unsafe fn initWithPlayerLayer(
223 this: Allocated<Self>,
224 player_layer: &AVPlayerLayer,
225 ) -> Retained<Self>;
226
227 #[cfg(feature = "objc2-av-foundation")]
228 #[cfg(not(target_os = "watchos"))]
229 #[unsafe(method(playerLayer))]
231 #[unsafe(method_family = none)]
232 pub unsafe fn playerLayer(&self) -> Option<Retained<AVPlayerLayer>>;
233 );
234}
235
236extern_protocol!(
237 pub unsafe trait AVPictureInPictureControllerDelegate: NSObjectProtocol {
241 #[optional]
245 #[unsafe(method(pictureInPictureControllerWillStartPictureInPicture:))]
246 #[unsafe(method_family = none)]
247 unsafe fn pictureInPictureControllerWillStartPictureInPicture(
248 &self,
249 picture_in_picture_controller: &AVPictureInPictureController,
250 );
251
252 #[optional]
256 #[unsafe(method(pictureInPictureControllerDidStartPictureInPicture:))]
257 #[unsafe(method_family = none)]
258 unsafe fn pictureInPictureControllerDidStartPictureInPicture(
259 &self,
260 picture_in_picture_controller: &AVPictureInPictureController,
261 );
262
263 #[optional]
269 #[unsafe(method(pictureInPictureController:failedToStartPictureInPictureWithError:))]
270 #[unsafe(method_family = none)]
271 unsafe fn pictureInPictureController_failedToStartPictureInPictureWithError(
272 &self,
273 picture_in_picture_controller: &AVPictureInPictureController,
274 error: &NSError,
275 );
276
277 #[optional]
281 #[unsafe(method(pictureInPictureControllerWillStopPictureInPicture:))]
282 #[unsafe(method_family = none)]
283 unsafe fn pictureInPictureControllerWillStopPictureInPicture(
284 &self,
285 picture_in_picture_controller: &AVPictureInPictureController,
286 );
287
288 #[optional]
292 #[unsafe(method(pictureInPictureControllerDidStopPictureInPicture:))]
293 #[unsafe(method_family = none)]
294 unsafe fn pictureInPictureControllerDidStopPictureInPicture(
295 &self,
296 picture_in_picture_controller: &AVPictureInPictureController,
297 );
298
299 #[cfg(feature = "block2")]
300 #[optional]
306 #[unsafe(method(pictureInPictureController:restoreUserInterfaceForPictureInPictureStopWithCompletionHandler:))]
307 #[unsafe(method_family = none)]
308 unsafe fn pictureInPictureController_restoreUserInterfaceForPictureInPictureStopWithCompletionHandler(
309 &self,
310 picture_in_picture_controller: &AVPictureInPictureController,
311 completion_handler: &block2::DynBlock<dyn Fn(Bool)>,
312 );
313 }
314);