diff --git a/src/gui.rs b/src/gui.rs index 5669825..07ebf95 100644 --- a/src/gui.rs +++ b/src/gui.rs @@ -7,12 +7,20 @@ use iced::{Alignment, Element, Application, Settings, Subscription, Theme, Comma use crate::engine::OutputEngine; -pub fn main(outputEngine: &(impl OutputEngine + ?Sized)) -> iced::Result { +pub fn main(outputEngine: Box) -> iced::Result { + let def: iced::Settings<()> = Settings::default(); let settings = Settings{ flags: Flags { - //outputEngine: outputEngine, + outputEngine: outputEngine, }, - ..Settings::::default() + antialiasing: def.antialiasing, + default_font: def.default_font, + default_text_size: def.default_text_size, + exit_on_close_request: def.exit_on_close_request, + id: def.id, + text_multithreading: def.text_multithreading, + try_opengles_first: def.try_opengles_first, + window: def.window, }; Main::run(settings) } @@ -24,9 +32,8 @@ struct Main { flags: Flags, } -#[derive(Default)] struct Flags { - //outputEngine: impl OutputEngine, + outputEngine: Box, } struct Inputs { diff --git a/src/main.rs b/src/main.rs index 3237d89..875105a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -5,8 +5,8 @@ mod gui; fn main() { let cfg = config::build_config().unwrap(); if cfg.streams.input.engine.name == "gui" { - let mut output_engine = engine::build_output_engine(&cfg.streams.output.engine); - gui::main(&*output_engine).unwrap(); + let output_engine = engine::build_output_engine(&cfg.streams.output.engine); + gui::main(output_engine).unwrap(); } else { main_cli(cfg); }