Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
NOTICE
Many tests are broken due to the complex changes in many features. I am aware. However, priority is focused on trying to release IdeaDrawn before the end of the year. I will come back to fixing the tests later.
This PR includes another rewrite of canvas logic. This PR includes a big change to how the canvas system works. Before, the some tools such as the move tool and zoom tools changed the canvas using CSS. Moving was fine, but zooming in caused the canvas contents to appear blurred. This was fixed by using the
ctx.setTransform(...)API. Additionally, the<canvas>element takes up the entire space available. This became an issue for how drawing the "paper canvas" (the actual place to draw) would be done. This was simply done by keeping track of its position like before, using thectx.setTransform(...)API to mimic panning and scaling, and drawing a paper canvas behind all the contents.Another feature is to allow opening files and manipulating image elements.
Type of change
Have you tested your changes?