desktop: Fix gui scale on launch on wayland
This commit is contained in:
parent
eec5f9c313
commit
6f568d0a2d
|
@ -419,7 +419,15 @@ impl App {
|
|||
self.window.scale_factor(),
|
||||
);
|
||||
|
||||
let _ = self.window.request_inner_size(window_size);
|
||||
let viewport_size = self.window.inner_size();
|
||||
|
||||
if let Some(new_viewport_size) = self.window.request_inner_size(window_size) {
|
||||
if new_viewport_size != viewport_size {
|
||||
self.gui.borrow_mut().resize(new_viewport_size);
|
||||
} else {
|
||||
tracing::warn!("Unable to resize window");
|
||||
}
|
||||
}
|
||||
self.window.set_fullscreen(if self.start_fullscreen {
|
||||
Some(Fullscreen::Borderless(None))
|
||||
} else {
|
||||
|
|
|
@ -141,9 +141,7 @@ impl GuiController {
|
|||
&self.descriptors
|
||||
}
|
||||
|
||||
#[must_use]
|
||||
pub fn handle_event(&mut self, event: &WindowEvent) -> bool {
|
||||
if let WindowEvent::Resized(size) = &event {
|
||||
pub fn resize(&mut self, size: PhysicalSize<u32>) {
|
||||
if size.width > 0 && size.height > 0 {
|
||||
self.surface.configure(
|
||||
&self.descriptors.device,
|
||||
|
@ -164,10 +162,16 @@ impl GuiController {
|
|||
size.height,
|
||||
self.window.scale_factor(),
|
||||
);
|
||||
self.size = *size;
|
||||
self.size = size;
|
||||
}
|
||||
}
|
||||
|
||||
#[must_use]
|
||||
pub fn handle_event(&mut self, event: &WindowEvent) -> bool {
|
||||
if let WindowEvent::Resized(size) = &event {
|
||||
self.resize(*size);
|
||||
}
|
||||
|
||||
if let WindowEvent::ThemeChanged(theme) = &event {
|
||||
let visuals = match theme {
|
||||
Theme::Dark => egui::Visuals::dark(),
|
||||
|
|
Loading…
Reference in New Issue