Go to file
Michael Ludwig 70fae35842 Preserve winding scale for outer edges in AA triangulation
More details are in the bug, but the specific test case gets an
overlap region in the AA outset geometry for the left and right shapes.
Additionally, the mitered outset for the left shape is collinear with
the bottom of the right shape, so the winding of exterior edge of
the overlap region is updated to +2.

When determining the polygons to fill, this +2 on the outer edges
violates the winding rules that normally ensure the interior polygons
(that use +/-2 instead of +/-1) are always filled.

It appears a similar bug fix was added here:
https://skia-review.googlesource.com/c/skia/+/141952/
but then didn't survive a heavy refactor later:
https://skia-review.googlesource.com/c/skia/+/215094

To the best of my knowledge, this is achieving the same result as the
original fix but is updated to preserve winding scale for interior
polygons with overlap regions (the code checks for these, but they
seem pretty rare to me).

Bug: 1197461
Change-Id: I0d32820af8cfec92c46114aeaa58b6e340abdfca
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/397140
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Michael Ludwig <michaelludwig@google.com>
2021-04-15 20:31:12 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bazel bazel baby steps 2020-09-14 15:18:32 +00:00
bench Add runtime color filter and shader modes to the SkSL compiler 2021-04-15 13:30:59 +00:00
bin Fix Python3 compatibility 2021-03-25 14:15:35 +00:00
build/fuchsia [fuchsia] Fix fidlc command. 2020-06-10 03:29:24 +00:00
build_overrides Prepare for Dawn using Tint unconditionally. 2021-03-12 15:05:26 +00:00
client_utils/android Replace 'typedef xxxxx INHERITED' with 'using INHERITED = xxxx;'. 2020-09-03 03:41:26 +00:00
demos.skia.org Demo different sampling options 2021-04-14 19:17:57 +00:00
dm Make use of shareable promise images in tools 2021-03-30 14:25:55 +00:00
docker [infra] Fix index.d.ts copy in Wasm Docker build 2021-02-23 15:54:11 +00:00
docs/examples Must pass filtering to picture shader 2021-03-18 22:18:47 +00:00
example Reland "Remove use of legacy display globals." 2020-10-05 19:13:58 +00:00
experimental [canvaskit] Proof of Concept for Typescript-build structure 2021-04-09 19:01:49 +00:00
fuzz Runtime effects: Support input color as a parameter to main() 2021-04-13 21:55:18 +00:00
gm Preserve winding scale for outer edges in AA triangulation 2021-04-15 20:31:12 +00:00
gn Add runtime color filter and shader modes to the SkSL compiler 2021-04-15 13:30:59 +00:00
include introduce SkCanvas::onDrawGlyphRunList 2021-04-15 19:44:24 +00:00
infra Update SKP version 2021-04-11 09:06:59 +00:00
modules Fix up quotes and prototype decl from prev CL 2021-04-15 12:38:29 +00:00
platform_tools [androidkit] Split Canvas backing store into Surface 2021-04-13 13:56:04 +00:00
resources Add runtime color filter and shader modes to the SkSL compiler 2021-04-15 13:30:59 +00:00
samplecode Removed unused SkInterpolator 2021-04-13 00:50:11 +00:00
site [sk] Add documentation 2021-04-15 16:02:51 +00:00
specs Fix CanvasKit generated documentation to work with emscripten 1.39.16. 2020-05-27 12:23:32 +00:00
src Preserve winding scale for outer edges in AA triangulation 2021-04-15 20:31:12 +00:00
tests Insert newlines in generated FP constructors 2021-04-15 19:00:22 +00:00
third_party Roll skcms from 163066c2a041 to a638db877ef8 (1 revision) 2021-04-15 18:26:22 +00:00
tools Clarify output from rewrite_includes assertion. 2021-04-15 19:44:32 +00:00
.bazelignore bazel baby steps 2020-09-14 15:18:32 +00:00
.clang-format no more bin packing in .clang-format 2021-03-04 17:22:50 +00:00
.clang-tidy Disable ClangTidy namespace comments for short blocks. 2020-08-24 14:01:22 +00:00
.gitignore [sk] Add DEPS entry for "sk" tool 2021-04-09 14:21:37 +00:00
.gn Pre-emptive fix for upcoming ANGLE change. 2021-01-08 17:23:52 +00:00
AUTHORS Add UWP support 2021-02-10 19:04:42 +00:00
BUILD.bazel bazel baby steps 2020-09-14 15:18:32 +00:00
BUILD.gn Add runtime color filter and shader modes to the SkSL compiler 2021-04-15 13:30:59 +00:00
codereview.settings Make uploading to Gerrit the default for Skia 2016-11-09 19:07:56 +00:00
CONTRIBUTING Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
CQ_COMMITTERS Moved committer list to chrome-infra-auth and deleted it from the repo 2015-09-02 13:37:54 -07:00
DEPS Roll SK Tool from 182db4e6cd1b to e65260dcb444 2021-04-15 11:47:49 +00:00
DIR_METADATA Move metadata in OWNERS files to DIR_METADATA files 2021-02-02 23:41:54 +00:00
go.mod [infra] Roll infra dependency 2021-02-25 19:56:00 +00:00
go.sum [infra] Roll infra dependency 2021-02-25 19:56:00 +00:00
LICENSE LICENSE file: clean up 2019-11-22 21:59:03 +00:00
PRESUBMIT.py Display a Docs-Preview link for each modified MD file 2021-04-02 01:08:04 +00:00
public.bzl Remove NVPR 2021-03-19 12:26:38 +00:00
README Fix references to https://sites.google.com/site/skiadocs/. 2015-02-03 13:12:54 -02:00
README.chromium Update README.chromium. 2015-06-11 13:19:24 -07:00
RELEASE_NOTES.txt update release notes for M91 branch 2021-04-09 19:31:57 +00:00
whitespace.txt Whitespace change to re-trigger Mac/iOS tests 2020-02-23 20:55:01 +00:00
WORKSPACE.bazel bazel baby steps 2020-09-14 15:18:32 +00:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://skia.org.