Fixed several issues with drawing ellipses #3776
Merged
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.
I've replaced the ellipse drawing algorithms with implementations by Zingl Alois, originally written in 2012 and published under MIT license.
This addresses several issues with the previously used implementations of pointsOnEllipse and ellipseRegion:
Ellipses no longer degrade when very large (near 2000 tiles in size).
No more gaps in the ellipse for some sizes.
Shape Fill tool can now actually draw circles of equal width and height and can draw both even and odd sized ellipses.
The Shape Fill tool was adjusted such that drawing ellipses work in bounding-box mode by default. The Alt modifier now toggles to center + radius mode, which also applies when drawing rectangles.
Closes #3775