Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SVG: Increase hit-testing precision on strokes #22448

Merged
merged 1 commit into from Apr 16, 2020

Conversation

chromium-wpt-export-bot
Copy link
Collaborator

@chromium-wpt-export-bot chromium-wpt-export-bot commented Mar 25, 2020

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}

Copy link
Collaborator

@wpt-pr-bot wpt-pr-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The review process for this patch is being conducted in the Chromium project.

@chromium-wpt-export-bot chromium-wpt-export-bot force-pushed the chromium-export-cl-2112955 branch 3 times, most recently from 2e37535 to db77362 Compare March 31, 2020 03:25
@chromium-wpt-export-bot chromium-wpt-export-bot force-pushed the chromium-export-cl-2112955 branch 6 times, most recently from dfde1df to b7205c7 Compare April 7, 2020 00:59
@chromium-wpt-export-bot chromium-wpt-export-bot force-pushed the chromium-export-cl-2112955 branch 2 times, most recently from 7ec173e to b5cf40c Compare April 14, 2020 21:53
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}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants