diff --git a/dsp/src/gui/mod.rs b/dsp/src/gui/mod.rs index eee6035..53c9da6 100644 --- a/dsp/src/gui/mod.rs +++ b/dsp/src/gui/mod.rs @@ -6,7 +6,7 @@ use nih_plug::prelude::AtomicF32; use crate::{Rect, ScaledRect}; pub struct SpriteSheet { - scale_factor: Arc, + scaling_factor: Arc, image: Result, width: usize, height: usize, @@ -18,7 +18,7 @@ pub struct SpriteSheet { impl SpriteSheet { pub fn empty() -> Self { Self { - scale_factor: Arc::new(AtomicF32::new(1.0)), + scaling_factor: Arc::new(AtomicF32::new(1.0)), image: Err("No image loaded".to_owned()), width: 0, height: 0, @@ -30,7 +30,7 @@ impl SpriteSheet { pub fn new( canvas: &mut Canvas, data: &[u8], - scale_factor: Arc, + scaling_factor: Arc, frame_width: usize, frame_height: usize, ) -> Self { @@ -40,7 +40,7 @@ impl SpriteSheet { if let Ok(image) = image { let (width, height) = canvas.image_size(image).unwrap_or_default(); Self { - scale_factor, + scaling_factor, image: Ok(image), width, height, @@ -50,7 +50,7 @@ impl SpriteSheet { } } else { Self { - scale_factor, + scaling_factor, image, width: 0, height: 0, @@ -61,7 +61,7 @@ impl SpriteSheet { } } pub fn draw(&self, canvas: &mut Canvas, x: f32, y: f32, frame: usize) { - let factor = self.scale_factor.load(Ordering::Relaxed); + let factor = self.scaling_factor.load(Ordering::Relaxed); let frame_x = frame % self.frames_x; let frame_y = frame / self.frames_x; @@ -103,14 +103,14 @@ impl SpriteSheet { } pub fn screen_bounds(&self, x: f32, y: f32) -> ScaledRect { ScaledRect::new_from( - self.scale_factor.clone(), + self.scaling_factor.clone(), (x, y, self.frame_width as f32, self.frame_height as f32), ) } } pub struct Sprite { - scale_factor: Arc, + scaling_factor: Arc, image: Result, width: usize, height: usize, @@ -118,27 +118,27 @@ pub struct Sprite { impl Sprite { pub fn empty() -> Self { Self { - scale_factor: Arc::new(AtomicF32::new(1.0)), + scaling_factor: Arc::new(AtomicF32::new(1.0)), image: Err("No image loaded".to_owned()), width: 0, height: 0, } } - pub fn new(canvas: &mut Canvas, data: &[u8], scale_factor: Arc) -> Self { + pub fn new(canvas: &mut Canvas, data: &[u8], scaling_factor: Arc) -> Self { let image = canvas .load_image_mem(data, ImageFlags::empty()) .map_err(|e| format!("{e:?}")); if let Ok(image) = image { let (width, height) = canvas.image_size(image).unwrap_or_default(); Self { - scale_factor, + scaling_factor, image: Ok(image), width, height, } } else { Self { - scale_factor, + scaling_factor, image, width: 0, height: 0, @@ -146,7 +146,7 @@ impl Sprite { } } pub fn draw(&self, canvas: &mut Canvas, x: f32, y: f32, alpha: f32) { - let factor = self.scale_factor.load(Ordering::Relaxed); + let factor = self.scaling_factor.load(Ordering::Relaxed); let screen_rect = Rect { x: x * factor, @@ -179,7 +179,7 @@ impl Sprite { } pub fn screen_bounds(&self, x: f32, y: f32) -> ScaledRect { ScaledRect::new_from( - self.scale_factor.clone(), + self.scaling_factor.clone(), (x, y, self.width as f32, self.height as f32), ) } diff --git a/plug-airfreshener/src/editor.rs b/plug-airfreshener/src/editor.rs index 444701f..f9a157c 100644 --- a/plug-airfreshener/src/editor.rs +++ b/plug-airfreshener/src/editor.rs @@ -12,7 +12,7 @@ use crate::window::EditorWindow; #[derive(Debug, Serialize, Deserialize)] pub struct EditorState { - /// The window's size in logical pixels before applying `scale_factor`. + /// The window's size in logical pixels before applying `scaling_factor`. #[serde(with = "nih_plug::params::persist::serialize_atomic_cell")] pub size: AtomicCell<(u32, u32)>, /// Whether the editor's window is currently open. diff --git a/plug-airfreshener/src/gui.rs b/plug-airfreshener/src/gui.rs index 5977ede..56f593b 100644 --- a/plug-airfreshener/src/gui.rs +++ b/plug-airfreshener/src/gui.rs @@ -41,13 +41,13 @@ pub struct PluginGui { fn create_canvas( context: &GlContext, params: &PluginParams, - scaling_factor: &AtomicF32, + scaling_factor: f32, ) -> Result, &'static str> { let renderer = unsafe { OpenGl::new_from_function(|s| context.get_proc_address(s)) } .map_err(|_| "Failed to create OpenGL renderer")?; let mut canvas = Canvas::new(renderer).map_err(|_| "Failed to create femtovg canvas")?; let (width, height) = params.editor_state.size(); - canvas.set_size(width, height, scaling_factor.load(Ordering::Relaxed)); + canvas.set_size(width, height, scaling_factor); Ok(canvas) } @@ -79,7 +79,7 @@ impl PluginGui { unsafe { context.make_current(); } - if let Ok(mut canvas) = create_canvas(context, ¶ms, &scaling_factor) { + if let Ok(mut canvas) = create_canvas(context, ¶ms, scaling_factor.load(Ordering::Acquire)) { this.font = canvas .add_font_mem(DROID_SANS_FONT) .map_err(|err| format!("{:?}", err)); @@ -130,7 +130,7 @@ impl WindowHandler for PluginGui { if self.canvas.is_none() { return; } - let scaling_factor = self.scaling_factor.load(Ordering::Relaxed); + let scaling_factor = self.scaling_factor.load(Ordering::Acquire); let canvas = self.canvas.as_mut().unwrap(); if !self.dirty { @@ -223,12 +223,12 @@ impl WindowHandler for PluginGui { if let Some(canvas) = self.canvas.as_mut() { let canvas_width = canvas.width(); let editor_width = self.params.editor_state.size.load().0; - let new_scale_factor = canvas_width as f32 / editor_width as f32; + let new_scaling_factor = canvas_width as f32 / editor_width as f32; self.scaling_factor - .store(new_scale_factor, Ordering::Release); + .store(new_scaling_factor, Ordering::Release); - canvas.set_size(phys_size.width, phys_size.height, new_scale_factor); + canvas.set_size(phys_size.width, phys_size.height, new_scaling_factor); } self.dirty = true; }