* Always set shape property 'closed' on fill
* Remove closed property on Shape
* Make color mandatory in Fill
* Fix intersection for filled but open shapes
* Code style tweak
* Add TODO note to rework ClosePath check
* #82 path-tool: WIP selecting control point working
* Fix bug where duplication with Ctrl+D doesn't properly duplicate (#423)
* bug fix: duplication didn't properly duplicate
* cargo fmt
* changed the formatting slightly for readability
* Small cleanups, changed color of handles upon selection
* Fix changes from merge
* Remove duplicate anchor points on top of one another
* Fix possible issues with thumbnails not being updated from Graphene operations
* path-tool: attempt to move control points on click
* Add dragging for control points
* Editing shape anchors functional. Handles next.
* Comment cleanup & slight cleanup of closest_anchor(..)
* Removing conflict with master
* Tiny code tweaks
Co-authored-by: Keavon Chambers <keavon@keavon.com>
Co-authored-by: caleb <56044292+caleb-ad@users.noreply.github.com>
Co-authored-by: otdavies <oliver@psyfer.io>
Co-authored-by: Dennis <dennis@kobert.dev>
* Created wasm binding to action's of the radio buttons which control the view mode
Added entry to DocumentMessage Enum
* draw in wireframe mode by changing parameters on each shape
added functions/changed behavior to do as above
not working yet
- newly added shapes should be drawn in wireframe
- setting fill to "none" on a path does not only draw an outline
- maybe the stroke width is 0?
* Wire frame view mostly functional for ellipses
- Need to implement for all shapes
- BUG: shapes don't immediatley update upon changing view-mode
* Fixed: active document now updates after view mode swap
* The Pros:
- wire frame mode effects all shapes correctly
The Cons:
- wire frame mode effects everything, including things that maybe shouldn't be, like select boxes and pen lines
* wire frame view no longer effects overlay layers
* Fixed: While in wireframe view the pen tool will draw regular thickness lines.
* some commenting
* Fixed potential bug:
In layer/file system with a Folder layer with a sub-layer that is also
a Folder cache_dirty must be set in order for all shapes to update properly
* refactored code to use ViewMode enum names throughout
* Changed: All wireframe lines are blank
cargo fmt
* Wireframe thickness doesn't change as a result of zooming
- Added DocumentMessage::ReRenderDocument, which marks layers as dirty and renders with the updated render-string
- All "zoom" messages in the movement_handler send a re-render message
- while in wireframe view, the "render-transform" of all shapes includes the root layer transform
Added getter/setter methods for graphene::Document::view_mode
* cargo fmt
* wireframe now has proper thickness after "Zoom Canvas to Fit all" action
* Refactored
- Changed FrontendMessage::UpdateCanvas to RenderDocument message to allow for lazy evaluation
- Created DocumentOperation::SetViewMode to be more consistent with existing code
- removed log statement
- Added constants for empty fill and thin-black stroke
* cargo fmt
* Removed ReRenderDocument message
* cargo fmt
* Fixes as suggested by TrueDoctor
* clean up merge
cargo fmt
* Refactor:
moved view_mode to DocumentMessageHandler
* Polishing
* changed those two comments
* Remove unknown todo comment
Co-authored-by: Keavon Chambers <keavon@keavon.com>
* Implement Path Tool
* Draw a red rectangle where the first point on the shape is
* Correctly render anchors, handles, and connecting lines
* Fix drain() which can panic
* Refactor frontend messages to work as return values not callbacks
* Reduce the number of unnecessary frontend updates
* Fix stack overflow by using a loop
* Group Document Render calls and put them at the end
* Speed hacks for dirtification
* Add performance
* Bunch folder changed updates
* Add triggers to redraw overlays to movement_handler
* Polish the pixel-perfect rendering of vector manipulators
* Restore scrollbars that were disabled
* Cleanup
* WIP Add shape outline rendering
* Fix compiling
* Add outlines to selected shapes
* Fix outlines rendering over handles and anchors
* Fix dirtification
* Add a comment
* Address code review feedback
* Formatting
* Small tweaks
Co-authored-by: Oliver Davies <oliver@psyfer.io>
Co-authored-by: Dennis Kobert <dennis@kobert.dev>