objc2-metal 0.3.2

Bindings to the Metal framework
Documentation
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use objc2::__framework_prelude::*;
use objc2_foundation::*;

use crate::*;

extern_protocol!(
    /// Represents a binary function.
    ///
    /// A binary function is a shader that you precompile from Metal IR to GPU machine code.
    ///
    /// See also [Apple's documentation](https://developer.apple.com/documentation/metal/mtl4binaryfunction?language=objc)
    pub unsafe trait MTL4BinaryFunction: NSObjectProtocol + Send + Sync {
        /// Obtains the optional name of this binary function.
        #[unsafe(method(name))]
        #[unsafe(method_family = none)]
        fn name(&self) -> Option<Retained<NSString>>;

        #[cfg(feature = "MTLLibrary")]
        /// Describes the type of this binary function.
        #[unsafe(method(functionType))]
        #[unsafe(method_family = none)]
        fn functionType(&self) -> MTLFunctionType;
    }
);