#[cfg(feature = "objc2")]
use objc2::__framework_prelude::*;
use crate::*;
#[cfg(feature = "objc2")]
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct ARTrackingState(pub NSInteger);
#[cfg(feature = "objc2")]
impl ARTrackingState {
#[doc(alias = "ARTrackingStateNotAvailable")]
pub const NotAvailable: Self = Self(0);
#[doc(alias = "ARTrackingStateLimited")]
pub const Limited: Self = Self(1);
#[doc(alias = "ARTrackingStateNormal")]
pub const Normal: Self = Self(2);
}
#[cfg(feature = "objc2")]
unsafe impl Encode for ARTrackingState {
const ENCODING: Encoding = NSInteger::ENCODING;
}
#[cfg(feature = "objc2")]
unsafe impl RefEncode for ARTrackingState {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "objc2")]
#[repr(transparent)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub struct ARTrackingStateReason(pub NSInteger);
#[cfg(feature = "objc2")]
impl ARTrackingStateReason {
#[doc(alias = "ARTrackingStateReasonNone")]
pub const None: Self = Self(0);
#[doc(alias = "ARTrackingStateReasonInitializing")]
pub const Initializing: Self = Self(1);
#[doc(alias = "ARTrackingStateReasonExcessiveMotion")]
pub const ExcessiveMotion: Self = Self(2);
#[doc(alias = "ARTrackingStateReasonInsufficientFeatures")]
pub const InsufficientFeatures: Self = Self(3);
#[doc(alias = "ARTrackingStateReasonRelocalizing")]
pub const Relocalizing: Self = Self(4);
}
#[cfg(feature = "objc2")]
unsafe impl Encode for ARTrackingStateReason {
const ENCODING: Encoding = NSInteger::ENCODING;
}
#[cfg(feature = "objc2")]
unsafe impl RefEncode for ARTrackingStateReason {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}