Feat: text selection using mouse

This commit is contained in:
2026-02-25 23:20:42 +01:00
parent 03c8187359
commit aa607a78d8
5 changed files with 125 additions and 6 deletions

View File

@@ -22,7 +22,7 @@ use cagire::engine::{
};
use cagire::init::{init, InitArgs};
use cagire::input::{handle_key, handle_mouse, InputContext, InputResult};
use cagire::input_egui::{convert_egui_events, convert_egui_mouse};
use cagire::input_egui::{convert_egui_events, convert_egui_mouse, EguiMouseState};
use cagire::settings::Settings;
use cagire::views;
use crossbeam_channel::Receiver;
@@ -168,6 +168,7 @@ struct CagireDesktop {
mouse_y: Arc<AtomicU32>,
mouse_down: Arc<AtomicU32>,
last_frame: std::time::Instant,
egui_mouse: EguiMouseState,
}
impl CagireDesktop {
@@ -212,6 +213,7 @@ impl CagireDesktop {
mouse_y: b.mouse_y,
mouse_down: b.mouse_down,
last_frame: std::time::Instant::now(),
egui_mouse: EguiMouseState::default(),
}
}
@@ -322,7 +324,7 @@ impl CagireDesktop {
let term = self.terminal.get_frame().area();
let widget_rect = ctx.content_rect();
for mouse in convert_egui_mouse(ctx, widget_rect, term) {
for mouse in convert_egui_mouse(ctx, widget_rect, term, &mut self.egui_mouse) {
let mut input_ctx = InputContext {
app: &mut self.app,
link: &self.link,