use objc2::AnyThread;
use objc2::rc::Retained;
use objc2_app_kit::{NSPressureBehavior, NSPressureConfiguration, NSView};
use winit::window::Window;
pub fn configure(window: &Window) -> bool {
use winit::raw_window_handle::{HasWindowHandle, RawWindowHandle};
let Ok(handle) = window.window_handle() else {
return false;
};
let RawWindowHandle::AppKit(h) = handle.as_raw() else {
return false;
};
let Some(view) = (unsafe { Retained::retain(h.ns_view.as_ptr().cast::<NSView>()) }) else {
return false;
};
let config = NSPressureConfiguration::initWithPressureBehavior(
NSPressureConfiguration::alloc(),
NSPressureBehavior::PrimaryDeepClick,
);
view.setPressureConfiguration(Some(&config));
true
}