Merge pull request #2470 from ryankopf/master

feat: Add methods for window settings in Application
This commit is contained in:
Héctor Ramón 2024-06-20 18:44:13 +02:00 committed by GitHub
commit a26493ed2b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -212,6 +212,13 @@ impl<P: Program> Application<P> {
self
}
/// Sets the [`window::Settings`] of the [`Application`].
///
/// Overwrites any previous [`window::Settings`].
pub fn window(self, window: window::Settings) -> Self {
Self { window, ..self }
}
/// Sets the [`window::Settings::position`] to [`window::Position::Centered`] in the [`Application`].
pub fn centered(self) -> Self {
Self {
@ -256,6 +263,50 @@ impl<P: Program> Application<P> {
}
}
/// Sets the [`window::Settings::resizable`] of the [`Application`].
pub fn resizable(self, resizable: bool) -> Self {
Self {
window: window::Settings {
resizable,
..self.window
},
..self
}
}
/// Sets the [`window::Settings::decorations`] of the [`Application`].
pub fn decorations(self, decorations: bool) -> Self {
Self {
window: window::Settings {
decorations,
..self.window
},
..self
}
}
/// Sets the [`window::Settings::position`] of the [`Application`].
pub fn position(self, position: window::Position) -> Self {
Self {
window: window::Settings {
position,
..self.window
},
..self
}
}
/// Sets the [`window::Settings::level`] of the [`Application`].
pub fn level(self, level: window::Level) -> Self {
Self {
window: window::Settings {
level,
..self.window
},
..self
}
}
/// Sets the [`Title`] of the [`Application`].
pub(crate) fn title(
self,