Add Box Selection to Path Tool (#1316)

* [WIP]feat: add bounding box to path tool

* feat: draw bounding box for path tool
- register Enter key for finalizing bounding box position
-  add (WIP)func to select all in bounding box area
- add hint data for new state

* fix: re-render shape overlays after selection

* fix: maintain existing point selection with Shift key

* feat: add Shift key support for Enter Key state

* fix: set apt name for Enter state's keybind

* refactor: remove unnecessary code

* refactor: correct hints and remove unneeded code
- correct DrawingBox state's footer hints
- remove PathToolData's quad and bbox methods

* refactor: remove duplicate mouse position vectors
This commit is contained in:
Dhruv
2023-07-02 13:03:51 +05:30
committed by Keavon Chambers
parent 9c2520111d
commit 92e10b6610
3 changed files with 119 additions and 16 deletions
@@ -179,6 +179,9 @@ pub fn default_mapping() -> Mapping {
entry!(KeyDown(Delete); action_dispatch=PathToolMessage::Delete),
entry!(KeyDown(Backspace); action_dispatch=PathToolMessage::Delete),
entry!(KeyUp(Lmb); action_dispatch=PathToolMessage::DragStop { shift_mirror_distance: Shift }),
entry!(KeyDown(Enter); action_dispatch=PathToolMessage::Enter {
add_to_selection: Shift
}),
entry!(DoubleClick; action_dispatch=PathToolMessage::InsertPoint),
entry!(KeyDown(ArrowRight); action_dispatch=PathToolMessage::NudgeSelectedPoints { delta_x: NUDGE_AMOUNT, delta_y: 0. }),
entry!(KeyDown(ArrowRight); modifiers=[Shift], action_dispatch=PathToolMessage::NudgeSelectedPoints { delta_x: BIG_NUDGE_AMOUNT, delta_y: 0. }),