1#![allow(unused_imports)]
2use crate::*;
3use objc2::runtime::{AnyObject, ProtocolObject};
4
5impl MTLCaptureDescriptor {
9 #[doc(alias = "setCaptureObject")]
10 #[cfg(feature = "MTLDevice")]
11 pub fn set_capture_device(&self, device: &ProtocolObject<dyn MTLDevice>) {
12 let device: *const _ = device;
13 let device: *const AnyObject = device.cast();
14 unsafe { self.setCaptureObject(Some(&*device)) }
15 }
16
17 #[doc(alias = "setCaptureObject")]
18 #[cfg(feature = "MTLCaptureScope")]
19 pub fn set_capture_scope(&self, scope: &ProtocolObject<dyn MTLCaptureScope>) {
20 let scope: *const _ = scope;
21 let scope: *const AnyObject = scope.cast();
22 unsafe { self.setCaptureObject(Some(&*scope)) }
23 }
24
25 #[doc(alias = "setCaptureObject")]
26 #[cfg(feature = "MTLCommandQueue")]
27 pub fn set_capture_command_queue(&self, command_queue: &ProtocolObject<dyn MTLCommandQueue>) {
28 let command_queue: *const _ = command_queue;
29 let command_queue: *const AnyObject = command_queue.cast();
30 unsafe { self.setCaptureObject(Some(&*command_queue)) }
31 }
32}