From e20552ad13478c947c40f3d78c92742b448317ab Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Wed, 19 Oct 2022 09:26:43 -0600 Subject: [PATCH] Improvements for cursor --- examples/editor-libcosmic/src/text_box.rs | 17 ++++++++++++++++- src/buffer.rs | 4 ++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/examples/editor-libcosmic/src/text_box.rs b/examples/editor-libcosmic/src/text_box.rs index ca17aa9..913fdef 100644 --- a/examples/editor-libcosmic/src/text_box.rs +++ b/examples/editor-libcosmic/src/text_box.rs @@ -7,7 +7,7 @@ use cosmic::iced_native::{ }, keyboard::{Event as KeyEvent, KeyCode}, layout::{self, Layout}, - mouse::{Button, Event as MouseEvent, ScrollDelta}, + mouse::{self, Button, Event as MouseEvent, ScrollDelta}, renderer, widget::{self, Widget}, }; @@ -100,6 +100,21 @@ where layout::Node::new(size) } + fn mouse_interaction( + &self, + _tree: &widget::Tree, + layout: Layout<'_>, + cursor_position: Point, + _viewport: &Rectangle, + _renderer: &Renderer, + ) -> mouse::Interaction { + if layout.bounds().contains(cursor_position) { + mouse::Interaction::Text + } else { + mouse::Interaction::Idle + } + } + fn draw( &self, _state: &widget::Tree, diff --git a/src/buffer.rs b/src/buffer.rs index ce90e52..c283b41 100644 --- a/src/buffer.rs +++ b/src/buffer.rs @@ -476,7 +476,7 @@ impl<'a> TextBuffer<'a> { f( x as i32, line_y - font_size, - (font_size / 2) as u32, + 1, line_height as u32, 0x20FFFFFF, ); @@ -485,7 +485,7 @@ impl<'a> TextBuffer<'a> { f( glyph.x as i32, line_y - font_size, - glyph.w as u32, + 1, line_height as u32, 0x20FFFFFF, );