pp/src/target_state.rs
Trevor Merritt 4ec95af6d0 optimized main loop
Adds colour to the text display
2025-04-22 16:03:30 -04:00

37 lines
986 B
Rust

use std::net::Ipv4Addr;
use std::time::SystemTime;
use ratatui::buffer::Buffer;
use ratatui::layout::Rect;
use ratatui::prelude::{StatefulWidget, Style};
use ratatui::style::Color;
use ratatui::widgets::Widget;
#[derive(Clone, Debug)]
pub struct TargetState {
pub name: String,
pub target: Ipv4Addr,
pub alive: bool,
pub last_rtt: u32,
pub last_alive_change: SystemTime
}
impl Default for TargetState {
fn default() -> Self {
TargetState {
name: "Unknown Host".to_string(),
target: Ipv4Addr::new(127, 0, 0, 1),
alive: false,
last_rtt: 0,
last_alive_change: SystemTime::now()
}
}
}
struct TargetStateWidget;
impl StatefulWidget for TargetStateWidget {
type State = TargetStateWidget;
fn render(self, area: Rect, buf: &mut Buffer, state: &mut Self::State) {
buf.set_string(area.left(),area.top(),"This is the string set ", Style::default().fg(Color::Red));
}
}