pub struct Settings {
pub(crate) window_title: String,
pub(crate) assets_base_url: Option<String>,
pub(crate) assets_are_gzipped: bool,
dump_raw_events: bool,
pub(crate) scale_factor: Option<f64>,
require_minimum_width: Option<f64>,
window_icon: Option<String>,
loading_tips: Option<Text>,
pub(crate) read_svg: Box<dyn Fn(&str) -> Vec<u8>>,
pub(crate) canvas_settings: CanvasSettings,
}
Expand description
Customize how widgetry works. Most of these settings can’t be changed after starting.
Fields
window_title: String
assets_base_url: Option<String>
assets_are_gzipped: bool
dump_raw_events: bool
scale_factor: Option<f64>
require_minimum_width: Option<f64>
window_icon: Option<String>
loading_tips: Option<Text>
read_svg: Box<dyn Fn(&str) -> Vec<u8>>
canvas_settings: CanvasSettings
Implementations
sourceimpl Settings
impl Settings
sourcepub fn dump_raw_events(self) -> Self
pub fn dump_raw_events(self) -> Self
Log every raw winit event to the DEBUG level.
sourcepub fn scale_factor(self, scale_factor: f64) -> Self
pub fn scale_factor(self, scale_factor: f64) -> Self
Override the initial HiDPI scale factor from whatever winit initially detects.
sourcepub fn require_minimum_width(self, width: f64) -> Self
pub fn require_minimum_width(self, width: f64) -> Self
If the screen width using the monitor’s detected scale factor is below this value (in units
of logical pixels, not physical), then force the scale factor to be 1. If scale_factor()
has been called, always use that override. This is helpful for users with HiDPI displays at
low resolutions, for applications designed for screens with some minimum width. Scaling
down UI elements isn’t ideal (since it doesn’t respect the user’s device settings), but
having panels overlap is worse.
sourcepub fn window_icon(self, path: String) -> Self
pub fn window_icon(self, path: String) -> Self
Sets the window icon. This should be a 32x32 image.
sourcepub fn loading_tips(self, txt: Text) -> Self
pub fn loading_tips(self, txt: Text) -> Self
Sets the text that’ll appear during long ctx.loading_screen
calls. You can use this as a
way to entertain your users while they’re waiting.
sourcepub fn read_svg(self, function: Box<dyn Fn(&str) -> Vec<u8>>) -> Self
pub fn read_svg(self, function: Box<dyn Fn(&str) -> Vec<u8>>) -> Self
When calling Widget::draw_svg
, ButtonBuilder::image_path
, and similar, use this function
to transform the filename given to the raw bytes of that SVG file. By default, this just
reads the file normally. You may want to override this to more conveniently locate the
file (transforming a short filename to a full path) or to handle reading files in WASM
(where regular filesystem IO doesn’t work).
pub fn assets_base_url(self, value: String) -> Self
pub fn assets_are_gzipped(self, value: bool) -> Self
pub fn canvas_settings(self, settings: CanvasSettings) -> Self
Auto Trait Implementations
impl !RefUnwindSafe for Settings
impl !Send for Settings
impl !Sync for Settings
impl Unpin for Settings
impl !UnwindSafe for Settings
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn as_any(&self) -> &(dyn Any + 'static)
pub fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self