native-dialog 0.9.6

A library to display dialogs. Supports GNU/Linux, BSD Unix, macOS and Windows.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use objc2::rc::Retained as Id;
use objc2_app_kit::{NSView, NSWindow};
use raw_window_handle::AppKitWindowHandle;

pub trait NSWindowExt {
    fn from_raw(handle: AppKitWindowHandle) -> Option<Id<Self>>;
}

impl NSWindowExt for NSWindow {
    fn from_raw(handle: AppKitWindowHandle) -> Option<Id<Self>> {
        let view = handle.ns_view.as_ptr();
        let view = unsafe { Id::<NSView>::retain(view.cast()) };
        view.and_then(|x| x.window())
    }
}