objc2-clock-kit 0.3.2

Bindings to the ClockKit framework
Documentation
//! 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::*;
#[cfg(feature = "objc2-ui-kit")]
use objc2_ui_kit::*;

use crate::*;

extern_class!(
    /// [Apple's documentation](https://developer.apple.com/documentation/clockkit/clkimageprovider?language=objc)
    #[unsafe(super(NSObject))]
    #[derive(Debug, PartialEq, Eq, Hash)]
    #[deprecated = "On watchOS 9.0 or later, use WidgetKit instead"]
    pub struct CLKImageProvider;
);

extern_conformance!(
    unsafe impl NSCopying for CLKImageProvider {}
);

unsafe impl CopyingHelper for CLKImageProvider {
    type Result = Self;
}

extern_conformance!(
    unsafe impl NSObjectProtocol for CLKImageProvider {}
);

impl CLKImageProvider {
    extern_methods!(
        #[deprecated = "Use initializers that take parameters."]
        #[unsafe(method(init))]
        #[unsafe(method_family = init)]
        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;

        #[deprecated = "Use factory methods that take parameters."]
        #[unsafe(method(new))]
        #[unsafe(method_family = new)]
        pub unsafe fn new() -> Retained<Self>;

        #[cfg(feature = "objc2-ui-kit")]
        #[unsafe(method(initWithOnePieceImage:))]
        #[unsafe(method_family = init)]
        pub unsafe fn initWithOnePieceImage(
            this: Allocated<Self>,
            one_piece_image: &UIImage,
        ) -> Retained<Self>;

        #[cfg(feature = "objc2-ui-kit")]
        #[unsafe(method(initWithOnePieceImage:twoPieceImageBackground:twoPieceImageForeground:))]
        #[unsafe(method_family = init)]
        pub unsafe fn initWithOnePieceImage_twoPieceImageBackground_twoPieceImageForeground(
            this: Allocated<Self>,
            one_piece_image: &UIImage,
            two_piece_image_background: Option<&UIImage>,
            two_piece_image_foreground: Option<&UIImage>,
        ) -> Retained<Self>;

        #[cfg(feature = "objc2-ui-kit")]
        #[deprecated = "On watchOS 9.0 or later, use WidgetKit instead"]
        #[unsafe(method(imageProviderWithOnePieceImage:))]
        #[unsafe(method_family = none)]
        pub unsafe fn imageProviderWithOnePieceImage(one_piece_image: &UIImage) -> Retained<Self>;

        #[cfg(feature = "objc2-ui-kit")]
        #[deprecated = "On watchOS 9.0 or later, use WidgetKit instead"]
        #[unsafe(method(imageProviderWithOnePieceImage:twoPieceImageBackground:twoPieceImageForeground:))]
        #[unsafe(method_family = none)]
        pub unsafe fn imageProviderWithOnePieceImage_twoPieceImageBackground_twoPieceImageForeground(
            one_piece_image: &UIImage,
            two_piece_image_background: Option<&UIImage>,
            two_piece_image_foreground: Option<&UIImage>,
        ) -> Retained<Self>;

        #[cfg(feature = "objc2-ui-kit")]
        /// Image to be used in single-color contexts, e.g. single-color faces.
        #[deprecated = "On watchOS 9.0 or later, use WidgetKit instead"]
        #[unsafe(method(onePieceImage))]
        #[unsafe(method_family = none)]
        pub unsafe fn onePieceImage(&self) -> Retained<UIImage>;

        #[cfg(feature = "objc2-ui-kit")]
        /// Setter for [`onePieceImage`][Self::onePieceImage].
        #[deprecated = "On watchOS 9.0 or later, use WidgetKit instead"]
        #[unsafe(method(setOnePieceImage:))]
        #[unsafe(method_family = none)]
        pub unsafe fn setOnePieceImage(&self, one_piece_image: &UIImage);

        #[cfg(feature = "objc2-ui-kit")]
        /// Tint color, honored in multicolor contexts.
        /// Not honored for tinted graphic complications.
        #[deprecated = "On watchOS 9.0 or later, use WidgetKit instead"]
        #[unsafe(method(tintColor))]
        #[unsafe(method_family = none)]
        pub unsafe fn tintColor(&self) -> Option<Retained<UIColor>>;

        #[cfg(feature = "objc2-ui-kit")]
        /// Setter for [`tintColor`][Self::tintColor].
        #[deprecated = "On watchOS 9.0 or later, use WidgetKit instead"]
        #[unsafe(method(setTintColor:))]
        #[unsafe(method_family = none)]
        pub unsafe fn setTintColor(&self, tint_color: Option<&UIColor>);

        #[cfg(feature = "objc2-ui-kit")]
        /// Background image to be used in multicolor or tinted contexts, e.g. multicolor modular, tinted graphic complications.
        /// If supplied, a twoPieceImageForeground is required as well.
        #[deprecated = "On watchOS 9.0 or later, use WidgetKit instead"]
        #[unsafe(method(twoPieceImageBackground))]
        #[unsafe(method_family = none)]
        pub unsafe fn twoPieceImageBackground(&self) -> Option<Retained<UIImage>>;

        #[cfg(feature = "objc2-ui-kit")]
        /// Setter for [`twoPieceImageBackground`][Self::twoPieceImageBackground].
        #[deprecated = "On watchOS 9.0 or later, use WidgetKit instead"]
        #[unsafe(method(setTwoPieceImageBackground:))]
        #[unsafe(method_family = none)]
        pub unsafe fn setTwoPieceImageBackground(
            &self,
            two_piece_image_background: Option<&UIImage>,
        );

        #[cfg(feature = "objc2-ui-kit")]
        /// Foreground image to be used in multicolor or tinted contexts.
        /// Overlaid on top of twoPieceImageBackground.
        /// If supplied, a twoPieceImageBackground is required as well.
        #[deprecated = "On watchOS 9.0 or later, use WidgetKit instead"]
        #[unsafe(method(twoPieceImageForeground))]
        #[unsafe(method_family = none)]
        pub unsafe fn twoPieceImageForeground(&self) -> Option<Retained<UIImage>>;

        #[cfg(feature = "objc2-ui-kit")]
        /// Setter for [`twoPieceImageForeground`][Self::twoPieceImageForeground].
        #[deprecated = "On watchOS 9.0 or later, use WidgetKit instead"]
        #[unsafe(method(setTwoPieceImageForeground:))]
        #[unsafe(method_family = none)]
        pub unsafe fn setTwoPieceImageForeground(
            &self,
            two_piece_image_foreground: Option<&UIImage>,
        );

        /// Text for accessibility.
        #[deprecated = "On watchOS 9.0 or later, use WidgetKit instead"]
        #[unsafe(method(accessibilityLabel))]
        #[unsafe(method_family = none)]
        pub unsafe fn accessibilityLabel(&self) -> Option<Retained<NSString>>;

        /// Setter for [`accessibilityLabel`][Self::accessibilityLabel].
        #[deprecated = "On watchOS 9.0 or later, use WidgetKit instead"]
        #[unsafe(method(setAccessibilityLabel:))]
        #[unsafe(method_family = none)]
        pub unsafe fn setAccessibilityLabel(&self, accessibility_label: Option<&NSString>);
    );
}