aboutsummaryrefslogtreecommitdiff
path: root/src/tool/deletion_tool.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tool/deletion_tool.rs')
-rw-r--r--src/tool/deletion_tool.rs19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/tool/deletion_tool.rs b/src/tool/deletion_tool.rs
index bd80809..c313574 100644
--- a/src/tool/deletion_tool.rs
+++ b/src/tool/deletion_tool.rs
@@ -40,18 +40,29 @@ impl Tool for DeletionTool {
self.deletion_rect = None;
}
- fn active_update(&mut self, map_data: &mut MapData, rl: &RaylibHandle, transform: &Transform) {
+ fn active_update(
+ &mut self,
+ map_data: &mut MapData,
+ rl: &RaylibHandle,
+ transform: &Transform,
+ mouse_blocked: bool,
+ ) {
let mouse_pos_m = transform.point_px_to_m(rl.get_mouse_position().into());
if let Some((_, ref mut pos2)) = &mut self.deletion_rect {
*pos2 = mouse_pos_m;
}
- if self.keybindings.do_delete.is_pressed(rl) && self.deletion_rect.is_some() {
+ if self.keybindings.do_delete.is_pressed(rl, mouse_blocked) && self.deletion_rect.is_some()
+ {
let (pos1, pos2) = self.deletion_rect.take().unwrap();
Self::delete_rect(map_data, Rect::bounding_rect(pos1, pos2));
- } else if self.keybindings.start_selection.is_pressed(rl) {
+ } else if self
+ .keybindings
+ .start_selection
+ .is_pressed(rl, mouse_blocked)
+ {
self.deletion_rect = Some((mouse_pos_m, mouse_pos_m))
- } else if self.keybindings.abort_deletion.is_pressed(rl) {
+ } else if self.keybindings.abort_deletion.is_pressed(rl, false) {
self.deletion_rect = None;
}
}