summaryrefslogtreecommitdiffstats
path: root/core/src/settings.rs
diff options
context:
space:
mode:
authorLibravatar Héctor <hector@hecrj.dev>2024-12-17 17:28:46 +0100
committerLibravatar GitHub <noreply@github.com>2024-12-17 17:28:46 +0100
commitf2c9b6b2ffc50d67d9789e77cb55eeb2a0ebe470 (patch)
tree4941905adf134468acc079610bb6f25d7461d543 /core/src/settings.rs
parenta687a837653a576cb0599f7bc8ecd9c6054213a9 (diff)
parente5545aaa579f428e45853d125ac86155d8395104 (diff)
downloadiced-f2c9b6b2ffc50d67d9789e77cb55eeb2a0ebe470.tar.gz
iced-f2c9b6b2ffc50d67d9789e77cb55eeb2a0ebe470.tar.bz2
iced-f2c9b6b2ffc50d67d9789e77cb55eeb2a0ebe470.zip
Merge pull request #2698 from iced-rs/feature/test-crate
Headless Mode Testing
Diffstat (limited to 'core/src/settings.rs')
-rw-r--r--core/src/settings.rs48
1 files changed, 48 insertions, 0 deletions
diff --git a/core/src/settings.rs b/core/src/settings.rs
new file mode 100644
index 00000000..3189c8d1
--- /dev/null
+++ b/core/src/settings.rs
@@ -0,0 +1,48 @@
+//! Configure your application.
+use crate::{Font, Pixels};
+
+use std::borrow::Cow;
+
+/// The settings of an iced program.
+#[derive(Debug, Clone)]
+pub struct Settings {
+ /// The identifier of the application.
+ ///
+ /// If provided, this identifier may be used to identify the application or
+ /// communicate with it through the windowing system.
+ pub id: Option<String>,
+
+ /// The fonts to load on boot.
+ pub fonts: Vec<Cow<'static, [u8]>>,
+
+ /// The default [`Font`] to be used.
+ ///
+ /// By default, it uses [`Family::SansSerif`](crate::font::Family::SansSerif).
+ pub default_font: Font,
+
+ /// The text size that will be used by default.
+ ///
+ /// The default value is `16.0`.
+ pub default_text_size: Pixels,
+
+ /// If set to true, the renderer will try to perform antialiasing for some
+ /// primitives.
+ ///
+ /// Enabling it can produce a smoother result in some widgets, like the
+ /// `canvas` widget, at a performance cost.
+ ///
+ /// By default, it is disabled.
+ pub antialiasing: bool,
+}
+
+impl Default for Settings {
+ fn default() -> Self {
+ Self {
+ id: None,
+ fonts: Vec::new(),
+ default_font: Font::default(),
+ default_text_size: Pixels(16.0),
+ antialiasing: false,
+ }
+ }
+}