(
&mut self,
column: u16,
row: u16,
)
| 209 | } |
| 210 | |
| 211 | pub fn complete_mouse_selection_or_click( |
| 212 | &mut self, |
| 213 | column: u16, |
| 214 | row: u16, |
| 215 | ) -> MouseGestureOutcome { |
| 216 | let Some((origin_x, origin_y)) = self.selection_mouse_down else { |
| 217 | return MouseGestureOutcome::None; |
| 218 | }; |
| 219 | |
| 220 | let _ = self.update_mouse_selection(column, row); |
| 221 | let dragged = self.selection_dragged; |
| 222 | self.selection_mouse_down = None; |
| 223 | self.selection_dragged = false; |
| 224 | |
| 225 | if dragged { |
| 226 | let text = self.selection_text(); |
| 227 | self.selection_anchor = None; |
| 228 | self.selection_focus = None; |
| 229 | if let Some(text) = text { |
| 230 | return MouseGestureOutcome::CopyText(text); |
| 231 | } |
| 232 | return MouseGestureOutcome::None; |
| 233 | } |
| 234 | |
| 235 | self.selection_anchor = None; |
| 236 | self.selection_focus = None; |
| 237 | MouseGestureOutcome::Click(origin_x, origin_y) |
| 238 | } |
| 239 | |
| 240 | pub fn render_mouse_selection_overlay(&mut self, frame: &mut Frame, area: Rect) { |
| 241 | let Some((start, end)) = self.selection_bounds() else { |
no test coverage detected