Go to file
Jim Van Verth 3f900d174b Fix issues with SkIsConvexPolygon and SkIsSimplePolygon
The check in SkIsConvexPolygon that determines if a polygon winds around
multiple times turned out to not be correct in all cases. This has been
changed to a much simpler one -- if the sign of the edge vectors change
more than twice, then we know that we've wrapped around more than one
time.

In SkIsSimplePolygon, if both points adjacent to a vertex are on the
right side, we attempt to add both those edges to the active edge list.
However, if they are the same point, then we'll be adding the same edge
twice, which makes the strict ordering of the edge list invalid. Instead
we check for this case earlier on and reject the polygon.

Bug: oss-fuzz:44004
Change-Id: I6ffe11d73fabd6ae2f75cb027db887bcb8c03cb1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/498916
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2022-01-25 14:52:22 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bazel [bazel] Add mirrors to every external dependency. 2022-01-13 15:53:27 +00:00
bench Fix vertex size request in middle-out benchmark 2022-01-24 14:36:26 +00:00
bin [sk] Update asset download references to use SK 2021-09-17 16:55:53 +00:00
build/fuchsia [fuchsia] Fix fidlc command. 2020-06-10 03:29:24 +00:00
build_overrides Add Abseil dependency for Dawn 2021-09-22 22:05:32 +00:00
client_utils/android Make class members that are static constexpr also be inline. 2021-10-11 16:22:59 +00:00
demos.skia.org [demos] Add WebGPU demo using origin trial 2021-10-08 16:35:34 +00:00
dm [graphite] Bail on DM run when context creation fails. 2022-01-14 13:57:24 +00:00
docker Remove .git directories from the skia checkout in skia-release 2022-01-12 19:25:25 +00:00
docs/examples Use angle brackets for system includes 2021-11-22 17:03:11 +00:00
example [bazel] Use font manager in HelloWorld. 2022-01-11 16:22:52 +00:00
experimental [graphite] Add sampler creation 2022-01-24 21:38:15 +00:00
fuzz Fix null dereference in ~PromiseImageInfo. 2022-01-21 20:18:04 +00:00
gm [COLRv1] Take P2 into account again in gradient skewing 2022-01-13 18:16:50 +00:00
gn Revert "[skslc] Generate .hlsl test output files" 2022-01-25 04:57:15 +00:00
include Revert "redo AtlasTextOp caching" 2022-01-24 15:59:48 +00:00
infra Update SKP version 2022-01-23 08:22:09 +00:00
modules Avoid calling hb_face_set_index with uninitialized value. 2022-01-25 14:15:37 +00:00
platform_tools Reduce scope of SkQP to pass/fail runs of GMs and UnitTests 2022-01-04 18:07:48 +00:00
resources Reject $ in variable names for non-builtin code. 2022-01-24 14:17:36 +00:00
samplecode Fix when a glyph has a path 2021-12-07 14:58:29 +00:00
site Add SkSL color management docs 2022-01-10 14:34:46 +00:00
specs [infra] Port serve.py from Python2 to 3 2021-08-31 15:28:19 +00:00
src Fix issues with SkIsConvexPolygon and SkIsSimplePolygon 2022-01-25 14:52:22 +00:00
tests Fix issues with SkIsConvexPolygon and SkIsSimplePolygon 2022-01-25 14:52:22 +00:00
third_party Roll FreeType from cff026d4 to 5e9caaee (77 commits) 2022-01-24 20:44:11 +00:00
toolchain [bazel] Add mirrors to every external dependency. 2022-01-13 15:53:27 +00:00
tools [tools] Add git.bat to search list 2022-01-20 17:33:21 +00:00
.bazelrc [infra] Add SkParagraph (harfbuzz, ICU) to Canvaskit Bazel build. 2021-11-30 21:01:06 +00:00
.bazelversion [infra] Add Bazel rules for codecs. 2021-11-11 20:10:01 +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 Add .vscode to the default gitignore list. 2021-10-13 15:23:02 +00:00
.gn Pre-emptive fix for upcoming ANGLE change. 2021-01-08 17:23:52 +00:00
.vpython [python3] Reland recipes -> python3 changes 2021-12-01 13:04:03 +00:00
AUTHORS Fix a null pointer bug in SkData::copyRange 2022-01-24 19:27:13 +00:00
BUILD.bazel Update Bazel files 2022-01-06 18:10:57 +00:00
BUILD.gn Revert "[skslc] Generate .hlsl test output files" 2022-01-25 04:57:15 +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 ANGLE from 38deffe40db8 to d6dd0cb52b17 (5 revisions) 2022-01-25 05:30:39 +00:00
DIR_METADATA Move metadata in OWNERS files to DIR_METADATA files 2021-02-02 23:41:54 +00:00
go_repositories.bzl [bazel] Sketching out HelloWorld sk_app using GL 2022-01-11 13:06:19 +00:00
go.mod [bazel] Sketching out HelloWorld sk_app using GL 2022-01-11 13:06:19 +00:00
go.sum [bazel] Sketching out HelloWorld sk_app using GL 2022-01-11 13:06:19 +00:00
LICENSE LICENSE file: clean up 2019-11-22 21:59:03 +00:00
OWNERS [infra] Add wildcard OWNERS 2021-08-30 19:19:34 +00:00
PRESUBMIT.py Remove AUTHORS check from PRESUBMIT.py 2021-09-30 14:12:18 +00:00
public.bzl add no-font rules to .bzl file for google3 flag 2022-01-24 17:12:21 +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 Add support for multiple child nodes to SkImageFilters::RuntimeShader 2022-01-05 20:07:00 +00:00
whitespace.txt Push shaders.skia.org. 2022-01-19 21:46:16 +00:00
WORKSPACE.bazel [bazel] Add mirrors to every external dependency. 2022-01-13 15:53:27 +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.