//! This file has been automatically generated by `objc2`'s `header-translator`. //! DO NOT EDIT use core::ffi::*; use core::ptr::NonNull; use objc2::__framework_prelude::*; use objc2_foundation::*; use crate::*; extern_protocol!( /// [Apple's documentation](https://developer.apple.com/documentation/metal/mtlcapturescope?language=objc) pub unsafe trait MTLCaptureScope: NSObjectProtocol { #[unsafe(method(beginScope))] #[unsafe(method_family = none)] fn beginScope(&self); #[unsafe(method(endScope))] #[unsafe(method_family = none)] fn endScope(&self); /// Scope label /// /// Created capture scopes are listed in Xcode when long-pressing the capture button, performing the capture over the selected scope #[unsafe(method(label))] #[unsafe(method_family = none)] fn label(&self) -> Option>; /// Setter for [`label`][Self::label]. /// /// This is [copied][objc2_foundation::NSCopying::copy] when set. #[unsafe(method(setLabel:))] #[unsafe(method_family = none)] fn setLabel(&self, label: Option<&NSString>); #[cfg(feature = "MTLDevice")] #[unsafe(method(device))] #[unsafe(method_family = none)] fn device(&self) -> Retained>; #[cfg(feature = "MTLCommandQueue")] /// If set, this scope will only capture Metal commands from the associated command queue. Defaults to nil (all command queues from the associated device are captured). #[unsafe(method(commandQueue))] #[unsafe(method_family = none)] fn commandQueue(&self) -> Option>>; #[cfg(feature = "MTL4CommandQueue")] /// If set, this scope will only capture Metal commands from the associated Metal 4 command queue. Defaults to nil (all command queues from the associated device are captured). #[unsafe(method(mtl4CommandQueue))] #[unsafe(method_family = none)] fn mtl4CommandQueue(&self) -> Option>>; } );