24
24
winit:: platform:: web:: { EventLoopExtWebSys , WindowExtWebSys } ,
25
25
} ;
26
26
27
- pub fn main ( config : Config ) -> eyre:: Result < ( ) > {
28
- let record_gesture_name = config. once . record_gesture_name . clone ( ) ;
29
-
30
- let ( mut app, mut window, event_loop) = App :: new ( config) ?;
31
-
32
- #[ cfg( target_arch = "wasm32" ) ]
33
- {
34
- #[ wasm_bindgen]
35
- extern "C" {
36
- #[ wasm_bindgen( js_namespace = console) ]
37
- pub fn log ( s : & str ) ;
38
-
39
- #[ wasm_bindgen( js_namespace = console, js_name = log) ]
40
- pub fn log_u32 ( a : u8 ) ;
41
-
42
- }
43
-
44
- std:: panic:: set_hook ( Box :: new ( console_error_panic_hook:: hook) ) ;
45
-
46
- web_sys:: window ( )
47
- . unwrap ( )
48
- . document ( )
49
- . unwrap ( )
50
- . body ( )
51
- . unwrap ( )
52
- . append_child ( & window. canvas ( ) . unwrap ( ) )
53
- . unwrap ( ) ;
54
- log ( "INFO: web-sys" ) ;
55
-
56
- // event_loop.spawn(move |event, elwt| {});
57
- }
58
-
59
- window. set_ime_allowed ( true ) ;
60
-
61
- if let Some ( name) = record_gesture_name {
62
- app. run_record_gesture ( & window, event_loop) ?;
63
- } else {
64
- app. run ( & window, event_loop) ?;
65
- }
66
-
67
- Ok ( ( ) )
68
- }
69
-
70
27
pub struct App {
71
28
// world: World,
72
29
canvas : Canvas ,
@@ -89,6 +46,46 @@ struct EnvVal {
89
46
}
90
47
91
48
impl App {
49
+ pub fn start ( config : Config ) -> eyre:: Result < ( ) > {
50
+ let ( mut app, mut window, event_loop) = Self :: new ( config) ?;
51
+
52
+ #[ cfg( target_arch = "wasm32" ) ]
53
+ {
54
+ #[ wasm_bindgen]
55
+ extern "C" {
56
+ #[ wasm_bindgen( js_namespace = console) ]
57
+ pub fn log ( s : & str ) ;
58
+
59
+ #[ wasm_bindgen( js_namespace = console, js_name = log) ]
60
+ pub fn log_u32 ( a : u8 ) ;
61
+
62
+ }
63
+
64
+ std:: panic:: set_hook ( Box :: new ( console_error_panic_hook:: hook) ) ;
65
+
66
+ web_sys:: window ( )
67
+ . unwrap ( )
68
+ . document ( )
69
+ . unwrap ( )
70
+ . body ( )
71
+ . unwrap ( )
72
+ . append_child ( & window. canvas ( ) . unwrap ( ) )
73
+ . unwrap ( ) ;
74
+ log ( "INFO: web-sys" ) ;
75
+
76
+ // event_loop.spawn(move |event, elwt| {});
77
+ }
78
+
79
+ window. set_ime_allowed ( true ) ;
80
+ if let Some ( name) = app. config . once . record_gesture_name . clone ( ) {
81
+ app. run_record_gesture ( & window, event_loop) ?;
82
+ } else {
83
+ app. run ( & window, event_loop) ?;
84
+ }
85
+
86
+ Ok ( ( ) )
87
+ }
88
+
92
89
fn new ( config : Config ) -> eyre:: Result < ( Self , Rc < Window > , EventLoop < ( ) > ) > {
93
90
let layout = config. layout ( ) . clone ( ) ;
94
91
0 commit comments