More scren scaling fixes

This commit is contained in:
Ebu
2025-12-02 14:11:40 +01:00
parent 52ad48ed41
commit 654f23f14f
2 changed files with 29 additions and 21 deletions

View File

@@ -6,7 +6,7 @@ use crate::{AirFreshener, editor::EditorHandle, parameters::PluginParams, gui::P
pub struct EditorWindow {
params: Arc<PluginParams>,
scaling_factor: AtomicCell<Option<f32>>,
scaling_factor: Arc<AtomicCell<Option<f32>>>,
}
impl EditorWindow {
@@ -15,9 +15,9 @@ impl EditorWindow {
Self {
params,
#[cfg(target_os = "macos")]
scaling_factor: AtomicCell::new(None),
scaling_factor: Arc::ne(AtomicCell::new(None)),
#[cfg(not(target_os = "macos"))]
scaling_factor: AtomicCell::new(Some(1.0)),
scaling_factor: Arc::new(AtomicCell::new(Some(1.0))),
}
}
}
@@ -30,6 +30,7 @@ impl Editor for EditorWindow {
) -> Box<dyn std::any::Any + Send> {
let (unscaled_width, unscaled_height) = self.params.editor_state.size();
let scaling_factor = self.scaling_factor.load();
let move_scaling_factor = self.scaling_factor.clone();
let gui_context = context.clone();
let params = self.params.clone();
let window = Window::open_parented(&parent, WindowOpenOptions {
@@ -49,7 +50,7 @@ impl Editor for EditorWindow {
..Default::default()
})
}, move |window: &mut baseview::Window<'_>| -> PluginGui {
PluginGui::new(window, gui_context, params, scaling_factor.unwrap_or(1.0))
PluginGui::new(window, gui_context, params, move_scaling_factor)
});
self.params.editor_state.open.store(true, Ordering::Release);
Box::new(EditorHandle {