//! 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::*; #[cfg(feature = "objc2-core-foundation")] use objc2_core_foundation::*; use objc2_foundation::*; use crate::*; extern_class!( /// [Apple's documentation](https://developer.apple.com/documentation/quartzcore/cametaldisplaylinkupdate?language=objc) #[unsafe(super(NSObject))] #[derive(Debug, PartialEq, Eq, Hash)] pub struct CAMetalDisplayLinkUpdate; ); extern_conformance!( unsafe impl NSObjectProtocol for CAMetalDisplayLinkUpdate {} ); impl CAMetalDisplayLinkUpdate { extern_methods!( #[cfg(all(feature = "CAMetalLayer", feature = "objc2-metal"))] #[unsafe(method(drawable))] #[unsafe(method_family = none)] pub fn drawable(&self) -> Retained>; #[cfg(feature = "objc2-core-foundation")] #[unsafe(method(targetTimestamp))] #[unsafe(method_family = none)] pub fn targetTimestamp(&self) -> CFTimeInterval; #[cfg(feature = "objc2-core-foundation")] #[unsafe(method(targetPresentationTimestamp))] #[unsafe(method_family = none)] pub fn targetPresentationTimestamp(&self) -> CFTimeInterval; ); } /// Methods declared on superclass `NSObject`. impl CAMetalDisplayLinkUpdate { extern_methods!( #[unsafe(method(init))] #[unsafe(method_family = init)] pub fn init(this: Allocated) -> Retained; #[unsafe(method(new))] #[unsafe(method_family = new)] pub fn new() -> Retained; ); } impl DefaultRetained for CAMetalDisplayLinkUpdate { #[inline] fn default_retained() -> Retained { Self::new() } } extern_protocol!( /// [Apple's documentation](https://developer.apple.com/documentation/quartzcore/cametaldisplaylinkdelegate?language=objc) pub unsafe trait CAMetalDisplayLinkDelegate { #[unsafe(method(metalDisplayLink:needsUpdate:))] #[unsafe(method_family = none)] fn metalDisplayLink_needsUpdate( &self, link: &CAMetalDisplayLink, update: &CAMetalDisplayLinkUpdate, ); } ); extern_class!( /// [Apple's documentation](https://developer.apple.com/documentation/quartzcore/cametaldisplaylink?language=objc) #[unsafe(super(NSObject))] #[derive(Debug, PartialEq, Eq, Hash)] pub struct CAMetalDisplayLink; ); extern_conformance!( unsafe impl NSObjectProtocol for CAMetalDisplayLink {} ); impl CAMetalDisplayLink { extern_methods!( #[cfg(all(feature = "CALayer", feature = "CAMetalLayer"))] #[unsafe(method(initWithMetalLayer:))] #[unsafe(method_family = init)] pub fn initWithMetalLayer(this: Allocated, layer: &CAMetalLayer) -> Retained; /// # Safety /// /// `runloop` possibly has additional threading requirements. #[unsafe(method(addToRunLoop:forMode:))] #[unsafe(method_family = none)] pub unsafe fn addToRunLoop_forMode(&self, runloop: &NSRunLoop, mode: &NSRunLoopMode); /// # Safety /// /// `runloop` possibly has additional threading requirements. #[unsafe(method(removeFromRunLoop:forMode:))] #[unsafe(method_family = none)] pub unsafe fn removeFromRunLoop_forMode(&self, runloop: &NSRunLoop, mode: &NSRunLoopMode); #[unsafe(method(invalidate))] #[unsafe(method_family = none)] pub fn invalidate(&self); #[unsafe(method(delegate))] #[unsafe(method_family = none)] pub fn delegate(&self) -> Option>>; /// Setter for [`delegate`][Self::delegate]. /// /// This is a [weak property][objc2::topics::weak_property]. #[unsafe(method(setDelegate:))] #[unsafe(method_family = none)] pub fn setDelegate( &self, delegate: Option<&ProtocolObject>, ); #[unsafe(method(preferredFrameLatency))] #[unsafe(method_family = none)] pub fn preferredFrameLatency(&self) -> c_float; /// Setter for [`preferredFrameLatency`][Self::preferredFrameLatency]. #[unsafe(method(setPreferredFrameLatency:))] #[unsafe(method_family = none)] pub fn setPreferredFrameLatency(&self, preferred_frame_latency: c_float); #[cfg(feature = "CAFrameRateRange")] #[unsafe(method(preferredFrameRateRange))] #[unsafe(method_family = none)] pub fn preferredFrameRateRange(&self) -> CAFrameRateRange; #[cfg(feature = "CAFrameRateRange")] /// Setter for [`preferredFrameRateRange`][Self::preferredFrameRateRange]. #[unsafe(method(setPreferredFrameRateRange:))] #[unsafe(method_family = none)] pub fn setPreferredFrameRateRange(&self, preferred_frame_rate_range: CAFrameRateRange); #[unsafe(method(isPaused))] #[unsafe(method_family = none)] pub fn isPaused(&self) -> bool; /// Setter for [`isPaused`][Self::isPaused]. #[unsafe(method(setPaused:))] #[unsafe(method_family = none)] pub fn setPaused(&self, paused: bool); ); } /// Methods declared on superclass `NSObject`. impl CAMetalDisplayLink { extern_methods!( #[unsafe(method(init))] #[unsafe(method_family = init)] pub fn init(this: Allocated) -> Retained; #[unsafe(method(new))] #[unsafe(method_family = new)] pub fn new() -> Retained; ); } impl DefaultRetained for CAMetalDisplayLink { #[inline] fn default_retained() -> Retained { Self::new() } }