@@ -6,8 +6,6 @@ use objc2_foundation::{NSSize, NSString};
66use std:: cell:: Cell ;
77use std:: rc:: Rc ;
88
9- use crate :: handler:: WindowHandlerBuilder ;
10- use crate :: host:: Host ;
119use crate :: platform:: macos:: view:: { BaseviewView , ViewParentingType } ;
1210use crate :: platform:: ParentWindowHandle ;
1311use crate :: platform:: Result ;
@@ -31,9 +29,7 @@ impl Drop for WindowHandle {
3129}
3230
3331impl WindowHandle {
34- pub fn create_window (
35- mut options : WindowSettings , handler : WindowHandlerBuilder , host : Host ,
36- ) -> Result < Self > {
32+ pub fn create_window ( mut init : WindowInitializer ) -> Result < Self > {
3733 autoreleasepool ( |_| {
3834 let Some ( mtm) = MainThreadMarker :: new ( ) else {
3935 panic ! ( "macOS: Windows can only be created on the main thread!" )
@@ -42,48 +38,40 @@ impl WindowHandle {
4238 // Creates the global NSApplication instance, if it doesn't exist yet
4339 let _ = NSApplication :: sharedApplication ( mtm) ;
4440
45- if let Some ( parent) = options. parent . take ( ) {
46- return Self :: create_window_parented (
47- options,
48- handler,
49- host,
50- parent. inner . view ,
51- mtm,
52- ) ;
41+ if let Some ( parent) = init. settings . parent . take ( ) {
42+ return Self :: create_window_parented ( init, parent. inner . view , mtm) ;
5343 }
5444
55- Self :: create_window_standalone ( options , handler , host , mtm)
45+ Self :: create_window_standalone ( init , mtm)
5646 } )
5747 }
5848
5949 pub fn create_window_parented (
60- builder : WindowSettings , handler : WindowHandlerBuilder , host : Host ,
61- parent_view : Retained < NSView > , mtm : MainThreadMarker ,
50+ init : WindowInitializer , parent_view : Retained < NSView > , mtm : MainThreadMarker ,
6251 ) -> Result < Self > {
6352 let parenting =
6453 ViewParentingType :: Parented { parent_view : Weak :: from_retained ( & parent_view) } ;
6554
6655 let backing_scale_factor =
6756 parent_view. window ( ) . map ( |w| w. backingScaleFactor ( ) ) . unwrap_or ( 1.0 ) ;
68- let final_size = builder . size . to_logical ( backing_scale_factor) ;
57+ let final_size = init . settings . size . to_logical ( backing_scale_factor) ;
6958
70- let ( ns_view, state) =
71- BaseviewView :: new ( builder, handler, parenting, host, final_size, mtm) ?;
59+ let ( ns_view, state) = BaseviewView :: new ( init, parenting, final_size, mtm) ?;
7260
7361 Ok ( Self { mtm, state, _window : None , view : Weak :: from_retained ( & ns_view) } )
7462 }
7563
7664 pub fn create_window_standalone (
77- builder : WindowSettings , handler : WindowHandlerBuilder , host : Host , mtm : MainThreadMarker ,
65+ init : WindowInitializer , mtm : MainThreadMarker ,
7866 ) -> Result < Self > {
79- let window = create_window_with_options ( & builder , mtm) ;
67+ let window = create_window_with_options ( & init . settings , mtm) ;
8068
8169 let final_size = window. contentRectForFrameRect ( window. frame ( ) ) . size ;
8270 let final_size = LogicalSize :: new ( final_size. width , final_size. height ) ;
8371
8472 let parenting = ViewParentingType :: Windowed { owned_window : Weak :: from_retained ( & window) } ;
8573
86- let ( view, state) = BaseviewView :: new ( builder , handler , parenting, host , final_size, mtm) ?;
74+ let ( view, state) = BaseviewView :: new ( init , parenting, final_size, mtm) ?;
8775
8876 Ok ( Self { mtm, state, view : Weak :: from_retained ( & view) , _window : Some ( window) } )
8977 }
0 commit comments