diff --git a/src/gui.rs b/src/gui.rs index baf1aaf..0ced3d0 100644 --- a/src/gui.rs +++ b/src/gui.rs @@ -72,7 +72,7 @@ impl PluginGui { freshener_image: Err("Not loaded".to_owned()), fresh_dumbledore_image: Err("Not loaded".to_owned()), not_so_fresh_image: Err("Not loaded".to_owned()), - freshener_screen_bounds: Rect::default() + freshener_screen_bounds: Rect::default(), }; if let Some(context) = window.gl_context() { @@ -147,17 +147,23 @@ impl WindowHandler for PluginGui { } let (width, height) = (canvas.width() as f32, canvas.height() as f32); canvas.reset(); - canvas.clear_rect(0, 0, width as u32, height as u32, Color::rgbaf(0.5, 0.5, 0.6, 1.0)); + canvas.clear_rect( + 0, + 0, + width as u32, + height as u32, + Color::rgbaf(0.5, 0.5, 0.6, 1.0), + ); let mut full_window_path = Path::new(); full_window_path.rect(0.0, 0.0, width, height); let mut freshener_path = Path::new(); freshener_path.rect( - self.freshener_screen_bounds.x, - self.freshener_screen_bounds.y, - self.freshener_screen_bounds.width, - self.freshener_screen_bounds.height, + self.freshener_screen_bounds.x * self.scaling_factor, + self.freshener_screen_bounds.y * self.scaling_factor, + self.freshener_screen_bounds.width * self.scaling_factor, + self.freshener_screen_bounds.height * self.scaling_factor, ); let frame_index = (self.params.freshness.unmodulated_normalized_value() @@ -167,24 +173,16 @@ impl WindowHandler for PluginGui { let frame_y = (frame_index / FRESHENER_FRAMES_X as f32).floor(); let freshener_image_source_rect = Rect { - x: self.freshener_screen_bounds.x - frame_x * FRESHENER_FRAME_WIDTH * self.scaling_factor, - y: self.freshener_screen_bounds.y - frame_y * FRESHENER_FRAME_HEIGHT * self.scaling_factor, - width: FRESHENER_FRAME_WIDTH * FRESHENER_FRAMES_X as f32 * self.scaling_factor, - height: FRESHENER_FRAME_HEIGHT * FRESHENER_FRAMES_Y as f32 * self.scaling_factor, + x: self.freshener_screen_bounds.x - frame_x * FRESHENER_FRAME_WIDTH, + y: self.freshener_screen_bounds.y - frame_y * FRESHENER_FRAME_HEIGHT, + width: FRESHENER_FRAME_WIDTH * FRESHENER_FRAMES_X as f32, + height: FRESHENER_FRAME_HEIGHT * FRESHENER_FRAMES_Y as f32, }; if let Ok(not_so_fresh) = self.not_so_fresh_image { canvas.fill_path( &full_window_path, - &Paint::image( - not_so_fresh, - 0.0, - 0.0, - width, - height, - 0.0, - 1.0, - ), + &Paint::image(not_so_fresh, 0.0, 0.0, width, height, 0.0, 1.0), ); } if let Ok(fresh_dumbledore) = self.fresh_dumbledore_image { @@ -223,21 +221,29 @@ impl WindowHandler for PluginGui { if let Ok(font) = self.font { let mut y = 5.0; let mut print = |str: &str| { - canvas - .fill_text( - 5.0, - y, - str, - &Paint::color(Color::white()) - .with_font(&[font]) - .with_font_size(font_size) - .with_text_baseline(Baseline::Top), - ) - .ok(); - y += font_size; + for s in str.lines() { + canvas + .fill_text( + 5.0, + y, + s, + &Paint::color(Color::white()) + .with_font(&[font]) + .with_font_size(font_size) + .with_text_baseline(Baseline::Top), + ) + .ok(); + y += font_size; + } }; print("Debug version"); + print(&format!("scaling_factor {}", self.scaling_factor)); + print(&format!( + "screen_bounds {:#?}", + self.freshener_screen_bounds + )); + print(&format!("frame_bounds {:#?}", freshener_image_source_rect)); if let Err(e) = &self.freshener_image { print(e);