From f1204faa5efe31d7b7c42212108bee7beaa3ef92 Mon Sep 17 00:00:00 2001 From: Savanni D'Gerinel Date: Wed, 4 Oct 2023 16:20:28 -0400 Subject: [PATCH] Resolve warnings in cyberpunk-splash --- cyberpunk-splash/Cargo.toml | 1 + cyberpunk-splash/src/main.rs | 79 ++++++++++++++---------------------- 2 files changed, 32 insertions(+), 48 deletions(-) diff --git a/cyberpunk-splash/Cargo.toml b/cyberpunk-splash/Cargo.toml index 04909e5..778a542 100644 --- a/cyberpunk-splash/Cargo.toml +++ b/cyberpunk-splash/Cargo.toml @@ -2,6 +2,7 @@ name = "cyberpunk-splash" version = "0.1.0" edition = "2021" +license = "GPL-3.0-only" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/cyberpunk-splash/src/main.rs b/cyberpunk-splash/src/main.rs index 0e188cb..12bcf3c 100644 --- a/cyberpunk-splash/src/main.rs +++ b/cyberpunk-splash/src/main.rs @@ -2,8 +2,8 @@ use cairo::{ Context, FontSlant, FontWeight, Format, ImageSurface, LineCap, LinearGradient, Pattern, TextExtents, }; -use glib::{GString, Object}; -use gtk::{gdk::Key, prelude::*, subclass::prelude::*, EventControllerKey}; +use glib::Object; +use gtk::{prelude::*, subclass::prelude::*, EventControllerKey}; use std::{ cell::RefCell, rc::Rc, @@ -14,12 +14,6 @@ use std::{ const WIDTH: i32 = 1600; const HEIGHT: i32 = 600; -#[derive(Clone, Copy, Debug)] -enum Event { - Frames(u8), - Time(Duration), -} - #[derive(Clone, Copy, Debug)] pub enum State { Running { @@ -50,7 +44,7 @@ impl State { *self = Self::Running { last_update: Instant::now(), deadline: Instant::now() + *time_remaining, - timeout: timeout.clone(), + timeout: *timeout, }; } } @@ -62,7 +56,7 @@ impl State { { *self = Self::Paused { time_remaining: *deadline - Instant::now(), - timeout: timeout.clone(), + timeout: *timeout, } } } @@ -108,13 +102,13 @@ impl TimeoutAnimation { fn tick(&mut self, frames_elapsed: u8) { let step_size = 1. / (self.duration * 60.); if self.ascending { - self.intensity = self.intensity + step_size * frames_elapsed as f64; + self.intensity += step_size * frames_elapsed as f64; if self.intensity > 1. { self.intensity = 1.0; self.ascending = false; } } else { - self.intensity = self.intensity - step_size * frames_elapsed as f64; + self.intensity -= step_size * frames_elapsed as f64; if self.intensity < 0. { self.intensity = 0.0; self.ascending = true; @@ -148,7 +142,6 @@ impl SplashPrivate { *self.height.borrow(), 2., 8., - 8., (0.7, 0., 1.), ); @@ -333,7 +326,7 @@ impl Splash { let _ = context.set_source(&*background); let _ = context.paint(); - let state = s.imp().state.borrow().clone(); + let state = *s.imp().state.borrow(); let time = match state { State::Running { deadline, .. } => deadline - Instant::now(), @@ -359,7 +352,7 @@ impl Splash { let mut saved_extents = s.imp().time_extents.borrow_mut(); if saved_extents.is_none() { - *saved_extents = Some(time_extents.clone()); + *saved_extents = Some(time_extents); } let time_baseline_x = center_x - time_extents.width() / 2.; @@ -372,8 +365,8 @@ impl Splash { time_baseline_y, ); let (running, timeout_animation) = match state { - State::Running { timeout, .. } => (true, timeout.clone()), - State::Paused { timeout, .. } => (false, timeout.clone()), + State::Running { timeout, .. } => (true, timeout), + State::Paused { timeout, .. } => (false, timeout), }; match timeout_animation { Some(ref animation) => { @@ -395,21 +388,18 @@ impl Splash { let _ = context.show_text(&time); }; - match *s.imp().time_extents.borrow() { - Some(extents) => { - context.set_source_rgb(0.7, 0.0, 1.0); - let time_meter = SlashMeter { - orientation: gtk::Orientation::Horizontal, - start_x: center_x + extents.width() / 2. + 50., - start_y: center_y + 100., - count: 5, - fill_count: minutes as u8, - height: 60., - length: 100., - }; - time_meter.draw(&context); - } - None => {} + if let Some(extents) = *s.imp().time_extents.borrow() { + context.set_source_rgb(0.7, 0.0, 1.0); + let time_meter = SlashMeter { + orientation: gtk::Orientation::Horizontal, + start_x: center_x + extents.width() / 2. + 50., + start_y: center_y + 100., + count: 5, + fill_count: minutes as u8, + height: 60., + length: 100., + }; + time_meter.draw(context); } } }); @@ -544,7 +534,7 @@ impl SlashMeter { gtk::Orientation::Horizontal => { let angle: f64 = 0.8; let run = self.height / angle.tan(); - let width = self.length as f64 / (self.count as f64 * 2.); + let width = self.length / (self.count as f64 * 2.); for c in 0..self.count { context.set_line_width(1.); @@ -579,10 +569,6 @@ trait Pen { struct GlowPen { blur_context: Context, draw_context: Context, - - line_width: f64, - blur_line_width: f64, - blur_size: f64, } impl GlowPen { @@ -591,7 +577,6 @@ impl GlowPen { height: i32, line_width: f64, blur_line_width: f64, - blur_size: f64, color: (f64, f64, f64), ) -> Self { let blur_context = @@ -611,9 +596,6 @@ impl GlowPen { Self { blur_context, draw_context, - line_width, - blur_line_width, - blur_size, } } } @@ -630,8 +612,10 @@ impl Pen for GlowPen { } fn stroke(&self) { - self.blur_context.stroke(); - self.draw_context.stroke(); + self.blur_context.stroke().expect("to draw the blur line"); + self.draw_context + .stroke() + .expect("to draw the regular line"); } fn finish(self) -> Pattern { @@ -681,7 +665,7 @@ fn main() { let countdown = match options.lookup::("countdown") { Ok(Some(countdown_str)) => { let parts = countdown_str.split(':').collect::>(); - let duration = match parts.len() { + match parts.len() { 2 => { let minutes = parts[0].parse::().unwrap(); let seconds = parts[1].parse::().unwrap(); @@ -692,8 +676,7 @@ fn main() { Duration::from_secs(seconds) } _ => Duration::from_secs(300), - }; - duration + } } _ => Duration::from_secs(300), }; @@ -725,7 +708,7 @@ fn main() { let window = gtk::ApplicationWindow::new(app); window.present(); - let splash = Splash::new(title.read().unwrap().clone(), state.read().unwrap().clone()); + let splash = Splash::new(title.read().unwrap().clone(), *state.read().unwrap()); window.set_child(Some(&splash)); @@ -763,7 +746,7 @@ fn main() { loop { std::thread::sleep(Duration::from_millis(1000 / 60)); state.write().unwrap().run(Instant::now()); - let _ = gtk_tx.send(state.read().unwrap().clone()); + let _ = gtk_tx.send(*state.read().unwrap()); } } });