A (not so simple) emulation of a shape (rectangle, line, ellipse) tool using pen. Click "config" icon (bottom-right) to bring up line width/color/fill sliders. If no shape is selected (more on this follows), any changes apply to next shape drawn. Click again to close. Click and drag to draw a shape. Repeat as desired. Click "select" icon repeatedly to select a particular shape. The shape will be highlighted and be given resize points. The numbers in the resize points represent the "layer" (order drawn) Drag these points to resize/re-position. Re-open the "config" page to edit the properties of the selected shape. A shape's type may be changed! New shape cannot be created while another is selected. (click "select" until non are selected to resume shape creation) Click the "trash can" icon to delete a selected shape. If a selected shape's layer can be changed, the appropriate "change layer" (forward/backward) icon will appear (beside the trash can). Please leave a comment if these instructions are not clear or complete. Thank you!
Thanks to @papipupepappa for the original project and the challenge to: ✅ Add sliders controlling line width and color. (done) ✅ Add fill color. (done) ✅ Enable multiple shapes. (done) ✅ Code an efficient fill algorithm that doesn't cause lag (done) Bonus Features (on top of the base challenge): ✅ Editing previously drawn shapes. (color, type shape/position) ✅ Deleting previously draw shapes. ✅ Changing "layer" of previously drawn shapes. ✅ Crosshairs, Pointer Coordinates and Snap-to-Grid to aid in accurate placement. This project uses about 99% pen. The only on-stage, non-pen entities are the "selection points". Version: 2024-03-17