From 67db13ff7c727254182a8c4474bd962b205e2e99 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Tue, 30 Mar 2021 21:44:19 +0200 Subject: Add support for graceful exits in `Application` - `Settings` now contains an `exit_on_close_request` field - `Application` has a new `should_exit` method --- src/settings.rs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'src/settings.rs') diff --git a/src/settings.rs b/src/settings.rs index c82a1354..2b32258d 100644 --- a/src/settings.rs +++ b/src/settings.rs @@ -25,6 +25,10 @@ pub struct Settings { /// The default value is 20. pub default_text_size: u16, + /// Whether the [`Application`] should exit when the user requests the + /// window to close (e.g. the user presses the close button). + pub exit_on_close_request: bool, + /// If set to true, the renderer will try to perform antialiasing for some /// primitives. /// @@ -46,10 +50,11 @@ impl Settings { Self { flags, - antialiasing: default_settings.antialiasing, + window: default_settings.window, default_font: default_settings.default_font, default_text_size: default_settings.default_text_size, - window: default_settings.window, + exit_on_close_request: default_settings.exit_on_close_request, + antialiasing: default_settings.antialiasing, } } } @@ -61,10 +66,11 @@ where fn default() -> Self { Self { flags: Default::default(), - antialiasing: Default::default(), + window: Default::default(), default_font: Default::default(), default_text_size: 20, - window: Default::default(), + exit_on_close_request: true, + antialiasing: false, } } } @@ -75,6 +81,7 @@ impl From> for iced_winit::Settings { iced_winit::Settings { window: settings.window.into(), flags: settings.flags, + exit_on_close_request: settings.exit_on_close_request, } } } -- cgit From 357a8a95c9820651110fe4d80d8d33a2678827c0 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Thu, 22 Jul 2021 18:27:33 +0700 Subject: Introduce `text_multithreading` to `Settings` --- src/settings.rs | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'src/settings.rs') diff --git a/src/settings.rs b/src/settings.rs index 2b32258d..480bf813 100644 --- a/src/settings.rs +++ b/src/settings.rs @@ -25,9 +25,11 @@ pub struct Settings { /// The default value is 20. pub default_text_size: u16, - /// Whether the [`Application`] should exit when the user requests the - /// window to close (e.g. the user presses the close button). - pub exit_on_close_request: bool, + /// If enabled, spread text workload in multiple threads when multiple cores + /// are available. + /// + /// By default, it is disabled. + pub text_multithreading: bool, /// If set to true, the renderer will try to perform antialiasing for some /// primitives. @@ -39,6 +41,12 @@ pub struct Settings { /// /// [`Canvas`]: crate::widget::Canvas pub antialiasing: bool, + + /// Whether the [`Application`] should exit when the user requests the + /// window to close (e.g. the user presses the close button). + /// + /// By default, it is enabled. + pub exit_on_close_request: bool, } impl Settings { @@ -53,8 +61,9 @@ impl Settings { window: default_settings.window, default_font: default_settings.default_font, default_text_size: default_settings.default_text_size, - exit_on_close_request: default_settings.exit_on_close_request, + text_multithreading: default_settings.text_multithreading, antialiasing: default_settings.antialiasing, + exit_on_close_request: default_settings.exit_on_close_request, } } } @@ -69,8 +78,9 @@ where window: Default::default(), default_font: Default::default(), default_text_size: 20, - exit_on_close_request: true, + text_multithreading: false, antialiasing: false, + exit_on_close_request: true, } } } -- cgit