emulator: fix build errors in main.rs
This commit is contained in:
+45
-16
@@ -22,18 +22,7 @@ use dsa_rs::emulator::{
|
||||
},
|
||||
};
|
||||
|
||||
#[cfg(target_os = "android")]
|
||||
use winit::platform::android::activity::AndroidApp;
|
||||
|
||||
#[cfg(target_os = "android")]
|
||||
#[no_mangle]
|
||||
fn android_main(app: AndroidApp) {
|
||||
main(app);
|
||||
}
|
||||
|
||||
fn main(
|
||||
#[cfg(target_os = "android")] app: AndroidApp,
|
||||
) -> Result<(), Box<dyn std::error::Error>> {
|
||||
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
// Initialize channels and read in configuration.
|
||||
let (cmd_sender, cmd_receiver) = std::sync::mpsc::channel();
|
||||
let (state_sender, state_reciever) = std::sync::mpsc::channel();
|
||||
@@ -53,10 +42,6 @@ fn main(
|
||||
#[allow(unused_variables)]
|
||||
let options = eframe::NativeOptions {
|
||||
viewport: egui::ViewportBuilder::default().with_inner_size([800.0, 600.0]),
|
||||
event_loop_builder: Some(Box::new(move |builder| {
|
||||
#[cfg(target_os = "android")]
|
||||
builder.with_android_app(app);
|
||||
})),
|
||||
..Default::default()
|
||||
};
|
||||
|
||||
@@ -111,3 +96,47 @@ fn setup_ui(cmd_sender: Sender<Command>, state_reciever: Receiver<State>) -> Emu
|
||||
|
||||
ui
|
||||
}
|
||||
|
||||
#[cfg(target_os = "android")]
|
||||
use winit::platform::android::{EventLoopBuilderExtAndroid, activity::AndroidApp};
|
||||
|
||||
#[cfg(target_os = "android")]
|
||||
#[unsafe(no_mangle)]
|
||||
fn android_main(app: AndroidApp) -> Result<(), Box<dyn std::error::Error>> {
|
||||
// Initialize channels and read in configuration.
|
||||
let (cmd_sender, cmd_receiver) = std::sync::mpsc::channel();
|
||||
let (state_sender, state_reciever) = std::sync::mpsc::channel();
|
||||
let config = Config::load(Path::new(".dsa.emulator.toml"))?;
|
||||
|
||||
// Setup RPC if enabled.
|
||||
let (rpc_sender, rpc_reciever) = std::sync::mpsc::channel();
|
||||
|
||||
let rpc_client =
|
||||
get_rpc_client_or_none(&config, rpc_sender, rpc_reciever)?.map(Arc::new);
|
||||
|
||||
setup_emulator(cmd_receiver, state_sender, rpc_client);
|
||||
|
||||
let ui = setup_ui(cmd_sender, state_reciever);
|
||||
|
||||
// Run UI.
|
||||
#[allow(unused_variables)]
|
||||
let options = eframe::NativeOptions {
|
||||
viewport: egui::ViewportBuilder::default().with_inner_size([800.0, 600.0]),
|
||||
event_loop_builder: Some(Box::new(move |builder| {
|
||||
#[cfg(target_os = "android")]
|
||||
builder.with_android_app(app);
|
||||
})),
|
||||
..Default::default()
|
||||
};
|
||||
|
||||
eframe::run_native(
|
||||
"DSA Simulator (Damn Simple Architecture 🔥)",
|
||||
options,
|
||||
Box::new(move |cc| {
|
||||
cc.egui_ctx.set_visuals(egui::Visuals::default());
|
||||
Ok(Box::new(ui))
|
||||
}),
|
||||
)?;
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user