From 8d7d074933239c3855fafdde6f56a10c72c953ba Mon Sep 17 00:00:00 2001 From: Mattias Eriksson Date: Tue, 30 Jan 2024 08:59:19 +0100 Subject: [PATCH] Add support for Mouse Events --- src/main.rs | 1 + src/mouse_reporter.rs | 197 ++++++++++++++++++++++++++++ src/terminal.rs | 39 +++++- src/terminal_box.rs | 297 ++++++++++++++++++++++++------------------ 4 files changed, 404 insertions(+), 130 deletions(-) create mode 100644 src/mouse_reporter.rs diff --git a/src/main.rs b/src/main.rs index eb67985..f1a5c4f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -32,6 +32,7 @@ use tokio::sync::mpsc; use config::{AppTheme, Config, CONFIG_VERSION}; mod config; +mod mouse_reporter; use icon_cache::IconCache; mod icon_cache; diff --git a/src/mouse_reporter.rs b/src/mouse_reporter.rs new file mode 100644 index 0000000..77c2a6d --- /dev/null +++ b/src/mouse_reporter.rs @@ -0,0 +1,197 @@ +use cosmic::{ + iced::mouse::{Event as MouseEvent, ScrollDelta}, + iced::{keyboard::Modifiers, mouse::Button, Event}, +}; + +use crate::terminal::Terminal; + +const SCROLL_SPEED: u32 = 3; + +#[derive(Default)] +pub struct MouseReporter { + last_movment_x: Option, + last_movment_y: Option, + button: Option