//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use core::ffi::*;
use objc2::__framework_prelude::*;

use crate::*;

extern_protocol!(
    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiaccessibilitycontentsizecategoryimageadjusting?language=objc)
    pub unsafe trait UIAccessibilityContentSizeCategoryImageAdjusting:
        NSObjectProtocol + MainThreadOnly
    {
        #[unsafe(method(adjustsImageSizeForAccessibilityContentSizeCategory))]
        #[unsafe(method_family = none)]
        fn adjustsImageSizeForAccessibilityContentSizeCategory(&self) -> bool;

        /// Setter for [`adjustsImageSizeForAccessibilityContentSizeCategory`][Self::adjustsImageSizeForAccessibilityContentSizeCategory].
        #[unsafe(method(setAdjustsImageSizeForAccessibilityContentSizeCategory:))]
        #[unsafe(method_family = none)]
        fn setAdjustsImageSizeForAccessibilityContentSizeCategory(
            &self,
            adjusts_image_size_for_accessibility_content_size_category: bool,
        );
    }
);

/// UIAccessibilityContentSizeCategoryImageAdjusting.
#[cfg(all(feature = "UIImageView", feature = "UIResponder", feature = "UIView"))]
impl UIImageView {
    extern_methods!();
}

#[cfg(all(feature = "UIImageView", feature = "UIResponder", feature = "UIView"))]
extern_conformance!(
    unsafe impl UIAccessibilityContentSizeCategoryImageAdjusting for UIImageView {}
);

/// UIAccessibilityContentSizeCategoryImageAdjusting.
#[cfg(all(
    feature = "UIButton",
    feature = "UIControl",
    feature = "UIResponder",
    feature = "UIView"
))]
impl UIButton {
    extern_methods!();
}

#[cfg(all(
    feature = "UIButton",
    feature = "UIControl",
    feature = "UIResponder",
    feature = "UIView"
))]
extern_conformance!(
    unsafe impl UIAccessibilityContentSizeCategoryImageAdjusting for UIButton {}
);

/// UIAccessibilityContentSizeCategoryImageAdjusting.
#[cfg(feature = "NSTextAttachment")]
impl NSTextAttachment {
    extern_methods!();
}
