Clean up macOS class declaration (#2458)
* Begin abstraction over AppKit * Clean up NSApplication delegate declaration * Clean up NSApplication override declaration * Clean up NSWindow delegate declaration * Clean up NSWindow override declaration * Clean up NSView delegate declaration
This commit is contained in:
parent
112965b4ff
commit
d67c928120
15 changed files with 873 additions and 1013 deletions
14
src/platform_impl/macos/appkit/application.rs
Normal file
14
src/platform_impl/macos/appkit/application.rs
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
use objc2::foundation::NSObject;
|
||||
use objc2::{extern_class, ClassType};
|
||||
|
||||
use super::NSResponder;
|
||||
|
||||
extern_class!(
|
||||
#[derive(Debug, PartialEq, Eq, Hash)]
|
||||
pub(crate) struct NSApplication;
|
||||
|
||||
unsafe impl ClassType for NSApplication {
|
||||
#[inherits(NSObject)]
|
||||
type Super = NSResponder;
|
||||
}
|
||||
);
|
||||
11
src/platform_impl/macos/appkit/mod.rs
Normal file
11
src/platform_impl/macos/appkit/mod.rs
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
#![deny(unsafe_op_in_unsafe_fn)]
|
||||
|
||||
mod application;
|
||||
mod responder;
|
||||
mod view;
|
||||
mod window;
|
||||
|
||||
pub(crate) use self::application::NSApplication;
|
||||
pub(crate) use self::responder::NSResponder;
|
||||
pub(crate) use self::view::NSView;
|
||||
pub(crate) use self::window::NSWindow;
|
||||
11
src/platform_impl/macos/appkit/responder.rs
Normal file
11
src/platform_impl/macos/appkit/responder.rs
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
use objc2::foundation::NSObject;
|
||||
use objc2::{extern_class, ClassType};
|
||||
|
||||
extern_class!(
|
||||
#[derive(Debug, PartialEq, Eq, Hash)]
|
||||
pub(crate) struct NSResponder;
|
||||
|
||||
unsafe impl ClassType for NSResponder {
|
||||
type Super = NSObject;
|
||||
}
|
||||
);
|
||||
14
src/platform_impl/macos/appkit/view.rs
Normal file
14
src/platform_impl/macos/appkit/view.rs
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
use objc2::foundation::NSObject;
|
||||
use objc2::{extern_class, ClassType};
|
||||
|
||||
use super::NSResponder;
|
||||
|
||||
extern_class!(
|
||||
#[derive(Debug, PartialEq, Eq, Hash)]
|
||||
pub(crate) struct NSView;
|
||||
|
||||
unsafe impl ClassType for NSView {
|
||||
#[inherits(NSObject)]
|
||||
type Super = NSResponder;
|
||||
}
|
||||
);
|
||||
14
src/platform_impl/macos/appkit/window.rs
Normal file
14
src/platform_impl/macos/appkit/window.rs
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
use objc2::foundation::NSObject;
|
||||
use objc2::{extern_class, ClassType};
|
||||
|
||||
use super::NSResponder;
|
||||
|
||||
extern_class!(
|
||||
#[derive(Debug, PartialEq, Eq, Hash)]
|
||||
pub(crate) struct NSWindow;
|
||||
|
||||
unsafe impl ClassType for NSWindow {
|
||||
#[inherits(NSObject)]
|
||||
type Super = NSResponder;
|
||||
}
|
||||
);
|
||||
Loading…
Add table
Add a link
Reference in a new issue