//! This file has been automatically generated by `objc2`'s `header-translator`. //! DO NOT EDIT use core::cell::UnsafeCell; use core::ffi::*; use core::marker::{PhantomData, PhantomPinned}; use core::ptr::NonNull; #[cfg(feature = "objc2")] use objc2::__framework_prelude::*; use objc2_core_foundation::*; use crate::*; /// [Apple's documentation](https://developer.apple.com/documentation/coregraphics/cgshading?language=objc) #[doc(alias = "CGShadingRef")] #[repr(C)] pub struct CGShading { inner: [u8; 0], _p: UnsafeCell, PhantomPinned)>>, } cf_type!( unsafe impl CGShading {} ); #[cfg(feature = "objc2")] cf_objc2_type!( unsafe impl RefEncode<"CGShading"> for CGShading {} ); unsafe impl ConcreteType for CGShading { #[doc(alias = "CGShadingGetTypeID")] #[inline] fn type_id() -> CFTypeID { extern "C-unwind" { fn CGShadingGetTypeID() -> CFTypeID; } unsafe { CGShadingGetTypeID() } } } impl CGShading { #[doc(alias = "CGShadingCreateAxial")] #[cfg(all(feature = "CGColorSpace", feature = "CGFunction"))] #[inline] pub fn new_axial( space: Option<&CGColorSpace>, start: CGPoint, end: CGPoint, function: Option<&CGFunction>, extend_start: bool, extend_end: bool, ) -> Option> { extern "C-unwind" { fn CGShadingCreateAxial( space: Option<&CGColorSpace>, start: CGPoint, end: CGPoint, function: Option<&CGFunction>, extend_start: bool, extend_end: bool, ) -> Option>; } let ret = unsafe { CGShadingCreateAxial(space, start, end, function, extend_start, extend_end) }; ret.map(|ret| unsafe { CFRetained::from_raw(ret) }) } #[doc(alias = "CGShadingCreateAxialWithContentHeadroom")] #[cfg(all(feature = "CGColorSpace", feature = "CGFunction"))] #[inline] pub fn new_axial_with_content_headroom( headroom: c_float, space: Option<&CGColorSpace>, start: CGPoint, end: CGPoint, function: Option<&CGFunction>, extend_start: bool, extend_end: bool, ) -> Option> { extern "C-unwind" { fn CGShadingCreateAxialWithContentHeadroom( headroom: c_float, space: Option<&CGColorSpace>, start: CGPoint, end: CGPoint, function: Option<&CGFunction>, extend_start: bool, extend_end: bool, ) -> Option>; } let ret = unsafe { CGShadingCreateAxialWithContentHeadroom( headroom, space, start, end, function, extend_start, extend_end, ) }; ret.map(|ret| unsafe { CFRetained::from_raw(ret) }) } #[doc(alias = "CGShadingCreateRadial")] #[cfg(all(feature = "CGColorSpace", feature = "CGFunction"))] #[inline] pub fn new_radial( space: Option<&CGColorSpace>, start: CGPoint, start_radius: CGFloat, end: CGPoint, end_radius: CGFloat, function: Option<&CGFunction>, extend_start: bool, extend_end: bool, ) -> Option> { extern "C-unwind" { fn CGShadingCreateRadial( space: Option<&CGColorSpace>, start: CGPoint, start_radius: CGFloat, end: CGPoint, end_radius: CGFloat, function: Option<&CGFunction>, extend_start: bool, extend_end: bool, ) -> Option>; } let ret = unsafe { CGShadingCreateRadial( space, start, start_radius, end, end_radius, function, extend_start, extend_end, ) }; ret.map(|ret| unsafe { CFRetained::from_raw(ret) }) } #[doc(alias = "CGShadingCreateRadialWithContentHeadroom")] #[cfg(all(feature = "CGColorSpace", feature = "CGFunction"))] #[inline] pub fn new_radial_with_content_headroom( headroom: c_float, space: Option<&CGColorSpace>, start: CGPoint, start_radius: CGFloat, end: CGPoint, end_radius: CGFloat, function: Option<&CGFunction>, extend_start: bool, extend_end: bool, ) -> Option> { extern "C-unwind" { fn CGShadingCreateRadialWithContentHeadroom( headroom: c_float, space: Option<&CGColorSpace>, start: CGPoint, start_radius: CGFloat, end: CGPoint, end_radius: CGFloat, function: Option<&CGFunction>, extend_start: bool, extend_end: bool, ) -> Option>; } let ret = unsafe { CGShadingCreateRadialWithContentHeadroom( headroom, space, start, start_radius, end, end_radius, function, extend_start, extend_end, ) }; ret.map(|ret| unsafe { CFRetained::from_raw(ret) }) } #[doc(alias = "CGShadingGetContentHeadroom")] #[inline] pub fn content_headroom(shading: Option<&CGShading>) -> c_float { extern "C-unwind" { fn CGShadingGetContentHeadroom(shading: Option<&CGShading>) -> c_float; } unsafe { CGShadingGetContentHeadroom(shading) } } } #[cfg(all(feature = "CGColorSpace", feature = "CGFunction"))] #[deprecated = "renamed to `CGShading::new_axial`"] #[inline] pub extern "C-unwind" fn CGShadingCreateAxial( space: Option<&CGColorSpace>, start: CGPoint, end: CGPoint, function: Option<&CGFunction>, extend_start: bool, extend_end: bool, ) -> Option> { extern "C-unwind" { fn CGShadingCreateAxial( space: Option<&CGColorSpace>, start: CGPoint, end: CGPoint, function: Option<&CGFunction>, extend_start: bool, extend_end: bool, ) -> Option>; } let ret = unsafe { CGShadingCreateAxial(space, start, end, function, extend_start, extend_end) }; ret.map(|ret| unsafe { CFRetained::from_raw(ret) }) } #[cfg(all(feature = "CGColorSpace", feature = "CGFunction"))] #[deprecated = "renamed to `CGShading::new_axial_with_content_headroom`"] #[inline] pub extern "C-unwind" fn CGShadingCreateAxialWithContentHeadroom( headroom: c_float, space: Option<&CGColorSpace>, start: CGPoint, end: CGPoint, function: Option<&CGFunction>, extend_start: bool, extend_end: bool, ) -> Option> { extern "C-unwind" { fn CGShadingCreateAxialWithContentHeadroom( headroom: c_float, space: Option<&CGColorSpace>, start: CGPoint, end: CGPoint, function: Option<&CGFunction>, extend_start: bool, extend_end: bool, ) -> Option>; } let ret = unsafe { CGShadingCreateAxialWithContentHeadroom( headroom, space, start, end, function, extend_start, extend_end, ) }; ret.map(|ret| unsafe { CFRetained::from_raw(ret) }) } #[cfg(all(feature = "CGColorSpace", feature = "CGFunction"))] #[deprecated = "renamed to `CGShading::new_radial`"] #[inline] pub extern "C-unwind" fn CGShadingCreateRadial( space: Option<&CGColorSpace>, start: CGPoint, start_radius: CGFloat, end: CGPoint, end_radius: CGFloat, function: Option<&CGFunction>, extend_start: bool, extend_end: bool, ) -> Option> { extern "C-unwind" { fn CGShadingCreateRadial( space: Option<&CGColorSpace>, start: CGPoint, start_radius: CGFloat, end: CGPoint, end_radius: CGFloat, function: Option<&CGFunction>, extend_start: bool, extend_end: bool, ) -> Option>; } let ret = unsafe { CGShadingCreateRadial( space, start, start_radius, end, end_radius, function, extend_start, extend_end, ) }; ret.map(|ret| unsafe { CFRetained::from_raw(ret) }) } #[cfg(all(feature = "CGColorSpace", feature = "CGFunction"))] #[deprecated = "renamed to `CGShading::new_radial_with_content_headroom`"] #[inline] pub extern "C-unwind" fn CGShadingCreateRadialWithContentHeadroom( headroom: c_float, space: Option<&CGColorSpace>, start: CGPoint, start_radius: CGFloat, end: CGPoint, end_radius: CGFloat, function: Option<&CGFunction>, extend_start: bool, extend_end: bool, ) -> Option> { extern "C-unwind" { fn CGShadingCreateRadialWithContentHeadroom( headroom: c_float, space: Option<&CGColorSpace>, start: CGPoint, start_radius: CGFloat, end: CGPoint, end_radius: CGFloat, function: Option<&CGFunction>, extend_start: bool, extend_end: bool, ) -> Option>; } let ret = unsafe { CGShadingCreateRadialWithContentHeadroom( headroom, space, start, start_radius, end, end_radius, function, extend_start, extend_end, ) }; ret.map(|ret| unsafe { CFRetained::from_raw(ret) }) } #[deprecated = "renamed to `CGShading::content_headroom`"] #[inline] pub extern "C-unwind" fn CGShadingGetContentHeadroom(shading: Option<&CGShading>) -> c_float { extern "C-unwind" { fn CGShadingGetContentHeadroom(shading: Option<&CGShading>) -> c_float; } unsafe { CGShadingGetContentHeadroom(shading) } }