objc2_app_kit/
image.rs

1use objc2::encode::{Encode, Encoding, RefEncode};
2use objc2::ffi::NSInteger;
3
4use super::TARGET_ABI_USES_IOS_VALUES;
5
6// NS_ENUM
7#[repr(transparent)]
8#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
9pub struct NSImageResizingMode(pub NSInteger);
10
11unsafe impl Encode for NSImageResizingMode {
12    const ENCODING: Encoding = NSInteger::ENCODING;
13}
14
15unsafe impl RefEncode for NSImageResizingMode {
16    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
17}
18
19#[allow(non_upper_case_globals)]
20#[allow(clippy::bool_to_int_with_if)]
21impl NSImageResizingMode {
22    #[doc(alias = "NSImageResizingModeStretch")]
23    pub const Stretch: Self = Self(if TARGET_ABI_USES_IOS_VALUES { 0 } else { 1 });
24    #[doc(alias = "NSImageResizingModeTile")]
25    pub const Tile: Self = Self(if TARGET_ABI_USES_IOS_VALUES { 1 } else { 0 });
26}
27
28unsafe impl objc2_foundation::NSCoding for crate::NSImage {}