SVG: Increase hit-testing precision on strokes #22448
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.
Skia takes a precision value when generating strokes as an optimization.
When rendering, we pass a value derived from the scale-factor in the
CTM, but when hit-testing we were passing a hard-coded value. This
worked reasonably well for solid strokes at moderate scales. However,
at sufficiently high scales and especially for dashed strokes, the
stroke generated for hit-testing was noticeably different from the
rendered stroke.
This change passes the CTM through to the hit-testing code, so that we
can use the same high precision for hit testing as rendering.
Bug: 964614
Change-Id: I8dfcb3ade86b9e7b63c7415baab5814ac2286ce8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2112955
Reviewed-by: Ian Prest <iapres@microsoft.com>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Reviewed-by: Fernando Serboncini <fserb@chromium.org>
Reviewed-by: Fredrik Söderquist <fs@opera.com>
Commit-Queue: Ian Prest <iapres@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#759761}