use crate::common::*;
use crate::Foundation::*;
use crate::Metal::*;
use crate::MetalFX::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(feature = "MetalFX_MTLFXTemporalScalerDescriptor")]
pub struct MTLFXTemporalScalerDescriptor;
#[cfg(feature = "MetalFX_MTLFXTemporalScalerDescriptor")]
unsafe impl ClassType for MTLFXTemporalScalerDescriptor {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
#[cfg(feature = "MetalFX_MTLFXTemporalScalerDescriptor")]
unsafe impl NSCopying for MTLFXTemporalScalerDescriptor {}
#[cfg(feature = "MetalFX_MTLFXTemporalScalerDescriptor")]
unsafe impl NSObjectProtocol for MTLFXTemporalScalerDescriptor {}
extern_methods!(
#[cfg(feature = "MetalFX_MTLFXTemporalScalerDescriptor")]
unsafe impl MTLFXTemporalScalerDescriptor {
#[method(colorTextureFormat)]
pub unsafe fn colorTextureFormat(&self) -> MTLPixelFormat;
#[method(setColorTextureFormat:)]
pub unsafe fn setColorTextureFormat(&self, color_texture_format: MTLPixelFormat);
#[method(depthTextureFormat)]
pub unsafe fn depthTextureFormat(&self) -> MTLPixelFormat;
#[method(setDepthTextureFormat:)]
pub unsafe fn setDepthTextureFormat(&self, depth_texture_format: MTLPixelFormat);
#[method(motionTextureFormat)]
pub unsafe fn motionTextureFormat(&self) -> MTLPixelFormat;
#[method(setMotionTextureFormat:)]
pub unsafe fn setMotionTextureFormat(&self, motion_texture_format: MTLPixelFormat);
#[method(outputTextureFormat)]
pub unsafe fn outputTextureFormat(&self) -> MTLPixelFormat;
#[method(setOutputTextureFormat:)]
pub unsafe fn setOutputTextureFormat(&self, output_texture_format: MTLPixelFormat);
#[method(inputWidth)]
pub unsafe fn inputWidth(&self) -> NSUInteger;
#[method(setInputWidth:)]
pub unsafe fn setInputWidth(&self, input_width: NSUInteger);
#[method(inputHeight)]
pub unsafe fn inputHeight(&self) -> NSUInteger;
#[method(setInputHeight:)]
pub unsafe fn setInputHeight(&self, input_height: NSUInteger);
#[method(outputWidth)]
pub unsafe fn outputWidth(&self) -> NSUInteger;
#[method(setOutputWidth:)]
pub unsafe fn setOutputWidth(&self, output_width: NSUInteger);
#[method(outputHeight)]
pub unsafe fn outputHeight(&self) -> NSUInteger;
#[method(setOutputHeight:)]
pub unsafe fn setOutputHeight(&self, output_height: NSUInteger);
#[method(isAutoExposureEnabled)]
pub unsafe fn isAutoExposureEnabled(&self) -> bool;
#[method(setAutoExposureEnabled:)]
pub unsafe fn setAutoExposureEnabled(&self, auto_exposure_enabled: bool);
#[method(isInputContentPropertiesEnabled)]
pub unsafe fn isInputContentPropertiesEnabled(&self) -> bool;
#[method(setInputContentPropertiesEnabled:)]
pub unsafe fn setInputContentPropertiesEnabled(
&self,
input_content_properties_enabled: bool,
);
#[method(inputContentMinScale)]
pub unsafe fn inputContentMinScale(&self) -> c_float;
#[method(setInputContentMinScale:)]
pub unsafe fn setInputContentMinScale(&self, input_content_min_scale: c_float);
#[method(inputContentMaxScale)]
pub unsafe fn inputContentMaxScale(&self) -> c_float;
#[method(setInputContentMaxScale:)]
pub unsafe fn setInputContentMaxScale(&self, input_content_max_scale: c_float);
#[method_id(@__retain_semantics New newTemporalScalerWithDevice:)]
pub unsafe fn newTemporalScalerWithDevice(
&self,
device: &ProtocolObject<dyn MTLDevice>,
) -> Option<Id<ProtocolObject<dyn MTLFXTemporalScaler>>>;
#[method(supportedInputContentMinScaleForDevice:)]
pub unsafe fn supportedInputContentMinScaleForDevice(
device: &ProtocolObject<dyn MTLDevice>,
) -> c_float;
#[method(supportedInputContentMaxScaleForDevice:)]
pub unsafe fn supportedInputContentMaxScaleForDevice(
device: &ProtocolObject<dyn MTLDevice>,
) -> c_float;
#[method(supportsDevice:)]
pub unsafe fn supportsDevice(device: &ProtocolObject<dyn MTLDevice>) -> bool;
}
);
extern_methods!(
#[cfg(feature = "MetalFX_MTLFXTemporalScalerDescriptor")]
unsafe impl MTLFXTemporalScalerDescriptor {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Id<Self>;
}
);
extern_protocol!(
pub unsafe trait MTLFXTemporalScaler: NSObjectProtocol {
#[method(colorTextureUsage)]
unsafe fn colorTextureUsage(&self) -> MTLTextureUsage;
#[method(depthTextureUsage)]
unsafe fn depthTextureUsage(&self) -> MTLTextureUsage;
#[method(motionTextureUsage)]
unsafe fn motionTextureUsage(&self) -> MTLTextureUsage;
#[method(outputTextureUsage)]
unsafe fn outputTextureUsage(&self) -> MTLTextureUsage;
#[method(inputContentWidth)]
unsafe fn inputContentWidth(&self) -> NSUInteger;
#[method(setInputContentWidth:)]
unsafe fn setInputContentWidth(&self, input_content_width: NSUInteger);
#[method(inputContentHeight)]
unsafe fn inputContentHeight(&self) -> NSUInteger;
#[method(setInputContentHeight:)]
unsafe fn setInputContentHeight(&self, input_content_height: NSUInteger);
#[method_id(@__retain_semantics Other colorTexture)]
unsafe fn colorTexture(&self) -> Option<Id<ProtocolObject<dyn MTLTexture>>>;
#[method(setColorTexture:)]
unsafe fn setColorTexture(&self, color_texture: Option<&ProtocolObject<dyn MTLTexture>>);
#[method_id(@__retain_semantics Other depthTexture)]
unsafe fn depthTexture(&self) -> Option<Id<ProtocolObject<dyn MTLTexture>>>;
#[method(setDepthTexture:)]
unsafe fn setDepthTexture(&self, depth_texture: Option<&ProtocolObject<dyn MTLTexture>>);
#[method_id(@__retain_semantics Other motionTexture)]
unsafe fn motionTexture(&self) -> Option<Id<ProtocolObject<dyn MTLTexture>>>;
#[method(setMotionTexture:)]
unsafe fn setMotionTexture(&self, motion_texture: Option<&ProtocolObject<dyn MTLTexture>>);
#[method_id(@__retain_semantics Other outputTexture)]
unsafe fn outputTexture(&self) -> Option<Id<ProtocolObject<dyn MTLTexture>>>;
#[method(setOutputTexture:)]
unsafe fn setOutputTexture(&self, output_texture: Option<&ProtocolObject<dyn MTLTexture>>);
#[method_id(@__retain_semantics Other exposureTexture)]
unsafe fn exposureTexture(&self) -> Option<Id<ProtocolObject<dyn MTLTexture>>>;
#[method(setExposureTexture:)]
unsafe fn setExposureTexture(
&self,
exposure_texture: Option<&ProtocolObject<dyn MTLTexture>>,
);
#[method(preExposure)]
unsafe fn preExposure(&self) -> c_float;
#[method(setPreExposure:)]
unsafe fn setPreExposure(&self, pre_exposure: c_float);
#[method(jitterOffsetX)]
unsafe fn jitterOffsetX(&self) -> c_float;
#[method(setJitterOffsetX:)]
unsafe fn setJitterOffsetX(&self, jitter_offset_x: c_float);
#[method(jitterOffsetY)]
unsafe fn jitterOffsetY(&self) -> c_float;
#[method(setJitterOffsetY:)]
unsafe fn setJitterOffsetY(&self, jitter_offset_y: c_float);
#[method(motionVectorScaleX)]
unsafe fn motionVectorScaleX(&self) -> c_float;
#[method(setMotionVectorScaleX:)]
unsafe fn setMotionVectorScaleX(&self, motion_vector_scale_x: c_float);
#[method(motionVectorScaleY)]
unsafe fn motionVectorScaleY(&self) -> c_float;
#[method(setMotionVectorScaleY:)]
unsafe fn setMotionVectorScaleY(&self, motion_vector_scale_y: c_float);
#[method(reset)]
unsafe fn reset(&self) -> bool;
#[method(setReset:)]
unsafe fn setReset(&self, reset: bool);
#[method(isDepthReversed)]
unsafe fn isDepthReversed(&self) -> bool;
#[method(setDepthReversed:)]
unsafe fn setDepthReversed(&self, depth_reversed: bool);
#[method(colorTextureFormat)]
unsafe fn colorTextureFormat(&self) -> MTLPixelFormat;
#[method(depthTextureFormat)]
unsafe fn depthTextureFormat(&self) -> MTLPixelFormat;
#[method(motionTextureFormat)]
unsafe fn motionTextureFormat(&self) -> MTLPixelFormat;
#[method(outputTextureFormat)]
unsafe fn outputTextureFormat(&self) -> MTLPixelFormat;
#[method(inputWidth)]
unsafe fn inputWidth(&self) -> NSUInteger;
#[method(inputHeight)]
unsafe fn inputHeight(&self) -> NSUInteger;
#[method(outputWidth)]
unsafe fn outputWidth(&self) -> NSUInteger;
#[method(outputHeight)]
unsafe fn outputHeight(&self) -> NSUInteger;
#[method(inputContentMinScale)]
unsafe fn inputContentMinScale(&self) -> c_float;
#[method(inputContentMaxScale)]
unsafe fn inputContentMaxScale(&self) -> c_float;
#[method_id(@__retain_semantics Other fence)]
unsafe fn fence(&self) -> Option<Id<ProtocolObject<dyn MTLFence>>>;
#[method(setFence:)]
unsafe fn setFence(&self, fence: Option<&ProtocolObject<dyn MTLFence>>);
#[method(encodeToCommandBuffer:)]
unsafe fn encodeToCommandBuffer(
&self,
command_buffer: &ProtocolObject<dyn MTLCommandBuffer>,
);
}
unsafe impl ProtocolType for dyn MTLFXTemporalScaler {}
);