better structure

This commit is contained in:
2025-06-28 03:51:13 +02:00
parent 551a062021
commit f401d4a995
9 changed files with 93 additions and 85 deletions
+6 -4
View File
@@ -1,3 +1,5 @@
use std::sync::Arc;
use crossterm::event::KeyEvent;
use crate::{
@@ -13,13 +15,13 @@ impl Event for KeyEvent {
}
pub trait KeyPressEventHandler {
fn on_keypress(&mut self, events: &mut EventManager, event: Box<KeyEvent>);
fn on_keypress(&mut self, events: &Arc<EventManager>, event: Box<KeyEvent>);
}
pub struct KeyPressExtension;
impl Extension for KeyPressExtension {
fn init(&mut self, _: &mut Screen, events: &mut EventManager) {
fn init(&mut self, _: &mut Screen, events: &Arc<EventManager>) {
crossterm::terminal::enable_raw_mode().unwrap();
crate::utils::clear().unwrap();
crate::utils::hide_cursor().unwrap();
@@ -31,9 +33,9 @@ impl Extension for KeyPressExtension {
});
}
fn tick_start(&mut self, _: &mut Screen, _: &mut EventManager) {}
fn tick_start(&mut self, _: &mut Screen, _: &Arc<EventManager>) {}
fn tick_end(&mut self, _: &mut Screen, events: &mut EventManager) {
fn tick_end(&mut self, _: &mut Screen, events: &Arc<EventManager>) {
if crossterm::event::poll(std::time::Duration::from_millis(13)).unwrap() {
match crossterm::event::read().unwrap() {
crossterm::event::Event::Key(e) => {