#![forbid(unsafe_code)]
pub mod app;
#[cfg(not(target_arch = "wasm32"))]
pub mod cli;
pub mod game;
pub mod i18n;
pub mod render;
pub mod search;
pub mod ui;
use app::MorpionApp;
pub fn create_app(cc: &eframe::CreationContext<'_>) -> Box<dyn eframe::App> {
Box::new(MorpionApp::new(cc))
}
#[cfg(not(target_arch = "wasm32"))]
pub fn run_native() -> eframe::Result<()> {
env_logger::init();
i18n::set_language(&i18n::detect_locale());
let native_options = eframe::NativeOptions {
viewport: egui::ViewportBuilder::default()
.with_inner_size([1280.0, 800.0])
.with_min_inner_size([800.0, 600.0])
.with_app_id("morpion-solitaire"),
..Default::default()
};
eframe::run_native(
"Morpion Solitaire",
native_options,
Box::new(|cc| Ok(create_app(cc))),
)
}