use crate::common::*;
use crate::AppKit::*;
use crate::CoreData::*;
use crate::Foundation::*;
ns_enum!(
#[underlying(NSInteger)]
pub enum NSHapticFeedbackPattern {
NSHapticFeedbackPatternGeneric = 0,
NSHapticFeedbackPatternAlignment = 1,
NSHapticFeedbackPatternLevelChange = 2,
}
);
ns_enum!(
#[underlying(NSUInteger)]
pub enum NSHapticFeedbackPerformanceTime {
NSHapticFeedbackPerformanceTimeDefault = 0,
NSHapticFeedbackPerformanceTimeNow = 1,
NSHapticFeedbackPerformanceTimeDrawCompleted = 2,
}
);
extern_protocol!(
pub struct NSHapticFeedbackPerformer;
unsafe impl ProtocolType for NSHapticFeedbackPerformer {
#[method(performFeedbackPattern:performanceTime:)]
pub unsafe fn performFeedbackPattern_performanceTime(
&self,
pattern: NSHapticFeedbackPattern,
performanceTime: NSHapticFeedbackPerformanceTime,
);
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct NSHapticFeedbackManager;
unsafe impl ClassType for NSHapticFeedbackManager {
type Super = NSObject;
}
);
extern_methods!(
unsafe impl NSHapticFeedbackManager {
#[method_id(@__retain_semantics Other defaultPerformer)]
pub unsafe fn defaultPerformer() -> Id<NSHapticFeedbackPerformer, Shared>;
}
);