refactor: generalize CpuGraph -> Graph
This commit is contained in:
parent
93de64f4b9
commit
96a972f9f0
2 changed files with 14 additions and 14 deletions
|
|
@ -7,33 +7,33 @@ use crate::app;
|
|||
const CYAN: Color = Color::from_rgb8(0, 255, 255);
|
||||
|
||||
#[derive(Default)]
|
||||
pub struct CpuGraph {
|
||||
pub struct Graph {
|
||||
timeline: VecDeque<f32>,
|
||||
|
||||
pub cache: canvas::Cache,
|
||||
}
|
||||
|
||||
impl CpuGraph {
|
||||
pub fn new(usage: f32) -> Self {
|
||||
impl Graph {
|
||||
pub fn new(value: f32) -> Self {
|
||||
Self {
|
||||
timeline: {
|
||||
let mut vec = VecDeque::new();
|
||||
vec.push_front(usage);
|
||||
vec.push_front(value);
|
||||
vec
|
||||
},
|
||||
..Default::default()
|
||||
}
|
||||
}
|
||||
|
||||
pub fn update(&mut self, usage: f32) {
|
||||
self.timeline.push_back(usage);
|
||||
pub fn update(&mut self, value: f32) {
|
||||
self.timeline.push_back(value);
|
||||
if self.timeline.len() > 1000 {
|
||||
self.timeline.pop_front();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl canvas::Program<app::Message, Theme, Renderer> for CpuGraph {
|
||||
impl canvas::Program<app::Message, Theme, Renderer> for Graph {
|
||||
type State = ();
|
||||
fn draw(
|
||||
&self,
|
||||
|
|
@ -4,9 +4,9 @@ use iced::{
|
|||
};
|
||||
use smol::Timer;
|
||||
|
||||
use crate::{app::cpu_graph::CpuGraph, sysinfo_snapshot::SysinfoSnapshot};
|
||||
use crate::{app::graph::Graph, sysinfo_snapshot::SysinfoSnapshot};
|
||||
|
||||
mod cpu_graph;
|
||||
mod graph;
|
||||
|
||||
enum Message {
|
||||
Info(SysinfoSnapshot),
|
||||
|
|
@ -14,8 +14,8 @@ enum Message {
|
|||
|
||||
#[derive(Default)]
|
||||
struct State {
|
||||
total_cpu_graph: CpuGraph,
|
||||
cpu_graphs: Vec<CpuGraph>,
|
||||
total_cpu_graph: Graph,
|
||||
cpu_graphs: Vec<Graph>,
|
||||
}
|
||||
|
||||
impl State {
|
||||
|
|
@ -51,12 +51,12 @@ impl State {
|
|||
self.cpu_graphs = snapshot
|
||||
.cpus
|
||||
.into_iter()
|
||||
.map(|usage| CpuGraph::new(usage))
|
||||
.map(|value| Graph::new(value))
|
||||
.collect();
|
||||
} else {
|
||||
for (graph, usage) in self.cpu_graphs.iter_mut().zip(snapshot.cpus.into_iter())
|
||||
for (graph, value) in self.cpu_graphs.iter_mut().zip(snapshot.cpus.into_iter())
|
||||
{
|
||||
graph.update(usage);
|
||||
graph.update(value);
|
||||
graph.cache.clear();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue