From 2cf4abf25bb5702635c19a22353399db8cef7be3 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Sat, 14 Dec 2024 03:49:24 +0100 Subject: Support custom renderers in `iced_test` through `renderer::Headless` trait --- core/src/settings.rs | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 core/src/settings.rs (limited to 'core/src/settings.rs') diff --git a/core/src/settings.rs b/core/src/settings.rs new file mode 100644 index 00000000..36bbb699 --- /dev/null +++ b/core/src/settings.rs @@ -0,0 +1,50 @@ +//! 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, + + /// The fonts to load on boot. + pub fonts: Vec>, + + /// 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`], at a performance cost. + /// + /// By default, it is disabled. + /// + /// [`Canvas`]: crate::widget::Canvas + 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, + } + } +} -- cgit