LineStyle.Hairline: Option for single pixel line widths regardless of scale factor #3995
+158
−74
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.
This PR is in relation to #3977
Hairline
is only applicable whenScaleFactor
is greater than 1. If theScaleFactor
is 1, you won't see the visual artefacts mentioned below.When
Hairline
is set to true, and theWidth
is 0, it will instruct Skia to render a single pixel line no matter the scaling factor.The first image shows a scaling of 1.5, without
Hairline
, andAntiAliasing
disabled on the second BoxNotice the lines are inconsistent in their width. Its more evident if you resize the window.
The second image shows the same setup, with
Hairline
enabled on both the Grid and second BoxI have made
Hairline
available on both GridStyles and LineStyles, and it is OptIn - so the current behaviour is not changed.I have also added a helper method to
AxisManager
to enableHairline
for all this line drawing.