* Rename VectorData to Vector
* Rename other VectorData* types to Vector*
* Move assorted data types out of vector_data.rs into misc.rs
* Rename vector_data.rs to vector_types.rs and remove the vector_types module folder
* Rename other references to "vector data"
* Remove label widgets for raster/vector/group to use "-" instead
* Rename RasterData to Raster
* Rename GraphicGroup to Group
* Fix migrations and rename graphic_element.rs -> graphic.rs
* Rename TaggedValue::ArtboardGroup -> TaggedValue::Artboard
* Added granular overlays control based on features
* Added basic support for pivot, path, anchors and handles overlay settings
* Added more overlay checks on anchors and handles
* Add new settings over measurements, hover and selection overlays
* Fix errors introduced while rebasing
* Disable anchors and handles functionality with their overlays, extended selection outline check
* Add check to enable/disable outlines on selected layers
* Toggle handles checkbox in sync with anchors checkbox
* Refactor overlays checks
* Remove debug statements
* Update select_tool.rs to resolve conflict
* Minor fix to reflect anchor checkbox state on the handles
* Minor fix to make anchors checkbox work
* Rearrange menu items, and code review
* Fix pivot dragging
* Add handles overlay check when drawing with pen tool
* Fix constrained dragging when transform cage is disabled
* Fix deselecting user selection when anchors are disabled
* Minor fix for disabling anchors
* Remove All from OverlaysType
* Remove debug statements
* Fix editor crash when selecting other layers with path tool and anchors disabled
* Minor fix on overlays check for all overlays
* Add proper code formatting
* Nits
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Have red be below quads
* Code review pt 1
* Skip rendering of pivot
* Code review pt 2
* Code review pt 3
* Cancel resize and its hints
* Remove the redundant placing message
* Dragging state for text tool fsm
* Cleanup
* Fix line tool undo and abort problems
* Code review
* 3px textbox overflow bottom
* Some more cleanup
* Fix reversed match arms that had been converted to if-else
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Replace `.selected_nodes(&[])` with `.selected_nodes_in_nested_network()` and `.selected_nodes()`
* Replace `.network(&[])` with `.document_network()` and `.nested_network()`
* Replace `.network_metadata(&[])` with `.document_network_metadata()`
* Rotate pivot and squares to orient along quad
* Add compass rose UI
* Add compass rose functionality
* Refactor code and polish things
* Fix UI
* Fix crash
* More polish
* Rework arrow to use different selection method
* Adjust for rotated layer and show when within cage
* Don't show when other modes are possible
* Fix glitchy compass
* fixes
* fixes
* WIP separate pivot and compass rose (not compiling)
* Complete file moving fixes
* Code review
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Add locking layer feature
* Update locked state data to adjust the refactor
* Make the locked layer cannot be selected using pointer and select all key
* Make locked layer cannot be moved and disable bounding box
* Add locked status selected node on CopyBuffer
* Make locked layer cannot be selected when selected all layers, and disabled GRS and nudging operation on locked layer
* Add refresh document metadata before update button on visible and locked
* Updated from master
* Fix icon logic on panel locked layer
* Make the child locked when the parent is locked, and the child cannot be unlocked if the parent is locked
* Revert "Make the child locked when the parent is locked, and the child cannot be unlocked if the parent is locked"
This reverts commit 7c93259bc2.
* Revert "Fix icon logic on panel locked layer"
This reverts commit 33939f2e84.
* Delete Make Lock button in the node graph top bar
* Add ToggleSelectedLocked to action_with_node_graph_open
* Fix parent and child locking behavior icon on panel
* Fix boolean operator on icon button locking layer
* Make bolean logic more readable in icon button locking layer
* Fix locking layer can be moved or resizing when selected with unlocking layer, disabled pivot widget on locking layer, disable all action on pivot point, alignment, flipping, and boolean operation for locking layer
* Fix axis align drag crash
---------
Co-authored-by: 0hypercube <0hypercube@gmail.com>
* Port gradient tool overlays
* Fix tests
* Text tool
* Artboard tool and some of select tool
* Port select tool drawing box
* Pen and path tool
* Remove overlays document
* Show the overlay refactor as done on the website roadmap
* Select tool bounds in layer space (first layer)
* Code review and fixes
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Hide and collapse layers
* Reorder imports
* Fix Ctrl+H shortcut advertized action and hotkey tooltip; improve graph top right of options bar
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Add basic layout - WIP
* Add color input min-width -> 80px
* First pass implementation - WIP
* Allow fill to be None
* Fix null Fill color
* refactor fill and stroke options into struct
* toolbar progress - WIP
* Switch is_working_color bool to PenColorType enum
* Add todo
* Add WorkingColorChanged event
* remove unused import
* Add WorkingColor[Primary/Secondary] icons
* Allow new strokes to have no color
* Set to base color when X is pressed (as per req)
* Improve icons for new UI layout design
* Add radio buttons
* Fix menu bar Edit12px -> Edit
* Add tooltips to radio buttons
* Make the color selector only on custom
* Fix edit icon correctly this time (whoops)
* Fix working colors icons
* Changes to improve the UX
* Remove lines obviated by Default::default()
* Make Eyedropper tool use working_color_changed event
* Fix tests
---------
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Fix crashes when dragging the bounding box/transform cage of a 0-scale shape.
* Fix crashes when dragging the pivot point of a 0-scale shape
* Fix rotation computation on DAffine2 when scale.x is 0, avoids Nan display
* remove remaining log::info that I introduced in earlier commit
* Fix crash when updating the scale of a transform that was already 0.
* Fix NumberInput behaviour when the requested value changed is does not happen.
* Fix rotation computation when Scale X and Scale Y are both 0. Display 0. This also fixes crashes when modifying the rotation in such case