[Dev] Add selection tool #33

Open
opened 2025-12-29 05:19:09 +01:00 by adam · 0 comments
Owner

Originally created by @dscyrescotti on GitHub (Jul 5, 2024).

Originally assigned to: @dscyrescotti on GitHub.

Description

So far, the canvas is missing selection tool which allows to pick an element or elements and perform move, scale (if it is photo) and delete. Even though the requirements are well defined, it might be super large and complicated because it has ton of unexpected edge cases (I cannot think of) and potential conflict with existing render pipeline.

The basic goals for selection tool are defined as follows.

  1. It should select one or more elements on canvas (i.e. if the user taps on a particular element, it will select top most element while if the user drags on canvas to create certain area, it will selects all elements underneath)
  2. After selection, the user are allowed to move around elements as they want.
  3. If the selected element is pen stroke, it may needs to carry all eraser strokes it belongs along with it.
  4. If the selected element is photo, it allows the user to resize the photo frame as they want.
Originally created by @dscyrescotti on GitHub (Jul 5, 2024). Originally assigned to: @dscyrescotti on GitHub. ### Description So far, the canvas is missing selection tool which allows to pick an element or elements and perform move, scale (if it is photo) and delete. Even though the requirements are well defined, it might be super large and complicated because it has ton of unexpected edge cases (I cannot think of) and potential conflict with existing render pipeline. The basic goals for selection tool are defined as follows. 1. It should select one or more elements on canvas (i.e. if the user taps on a particular element, it will select top most element while if the user drags on canvas to create certain area, it will selects all elements underneath) 2. After selection, the user are allowed to move around elements as they want. 3. If the selected element is pen stroke, it may needs to carry all eraser strokes it belongs along with it. 4. If the selected element is photo, it allows the user to resize the photo frame as they want.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/Memola#33