Go to file
commit-bot@chromium.org 4431e7757c Mike R: please sanity check SkPostConfig.h
Mike K: please sanity check Test.cpp and skia_test.cpp

Feel free to look at the rest, but I don't expect any in depth review of path ops innards.

Path Ops first iteration used QuickSort to order segments radiating from an intersection to compute the winding rule.

This revision uses a circular sort instead. Breaking out the circular sort into its own long-lived structure (SkOpAngle) allows doing less work and provides a home for caching additional sorting data.

The circle sort is more stable than the former sort, has a robust ordering and fewer exceptions. It finds unsortable ordering less often. It is less reliant on the initial curve  tangent, using convex hulls instead whenever it can.

Additional debug validation makes sure that the computed structures are self-consistent. A new visualization tool helps verify that the angle ordering is correct.

The 70+M tests pass with this change on Windows, Mac, Linux 32 and Linux 64 in debug and release.

R=mtklein@google.com, reed@google.com

Author: caryclark@google.com

Review URL: https://codereview.chromium.org/131103009

git-svn-id: http://skia.googlecode.com/svn/trunk@14183 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-14 17:08:59 +00:00
animations first cut at a checkbox 2009-10-21 19:41:10 +00:00
bench Add conical special cases to GradientBench 2014-04-14 16:02:31 +00:00
debugger split SkPictureRecorder out of SkPicture 2014-04-13 19:09:42 +00:00
dm Sanitizing source files in Housekeeper-Nightly 2014-04-14 03:04:57 +00:00
docs Add a sample doc in markdown format. 2014-01-24 19:25:39 +00:00
expectations resize canvas for GM + typo 2014-04-14 15:02:19 +00:00
experimental Add design for sql storage, implementation of db that stores the data, not retrieving yet. 2014-04-14 14:54:07 +00:00
forth Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
gm resize canvas for GM + typo 2014-04-14 15:02:19 +00:00
gyp Mike R: please sanity check SkPostConfig.h 2014-04-14 17:08:59 +00:00
include Mike R: please sanity check SkPostConfig.h 2014-04-14 17:08:59 +00:00
platform_tools Revert of remove sprintf (https://codereview.chromium.org/230413005/) 2014-04-09 23:38:57 +00:00
resources Revert of Properly set alpha type in webp decode. (https://codereview.chromium.org/223893002/) 2014-04-03 21:47:15 +00:00
samplecode Sanitizing source files in Housekeeper-Nightly 2014-04-14 03:04:57 +00:00
src Mike R: please sanity check SkPostConfig.h 2014-04-14 17:08:59 +00:00
tests Mike R: please sanity check SkPostConfig.h 2014-04-14 17:08:59 +00:00
third_party Drop executable flag from headers so that they can be packaged 2014-03-11 19:55:51 +00:00
tools Mike R: please sanity check SkPostConfig.h 2014-04-14 17:08:59 +00:00
trybots_to_run/chrome Deleting the hardcoded list of compile bots in trybots_to_run. 2013-04-09 11:59:42 +00:00
.gitignore add some .gitignores related to gm and tools 2014-04-11 14:49:50 +00:00
AUTHORS Fixed Skia compilation error with strict clang. 2014-04-07 13:12:47 +00:00
codereview.settings Add BUG_PREFIX to codereview.settings 2014-01-14 21:19:21 +00:00
CONTRIBUTING Add CONTRIBUTING file 2014-01-13 15:06:26 +00:00
CQ_COMMITTERS Add skia.buildbots@gmail.com to CQ_COMMITTERS 2014-04-03 22:21:08 +00:00
DEPS Build Skia for a bare-bones embedded Linux system. 2014-02-24 20:22:34 +00:00
Doxyfile update Doxygen config file to include gpu directory in api generation 2014-03-07 16:20:36 +00:00
gyp_skia change default build (in "make" wrapper) to ninja on all platforms 2014-04-01 07:02:41 +00:00
gyp_skia.py Roll gyp deps from 1765 to 1796. 2013-11-21 18:11:14 +00:00
LICENSE Manually update copyright notices in files that defied the automated process 2011-07-28 14:24:55 +00:00
make.bat Make make.bat and gyp_skia work with VS 2012. 2013-05-07 19:31:20 +00:00
make.py change default build (in "make" wrapper) to ninja on all platforms 2014-04-01 07:02:41 +00:00
Makefile change default build (in "make" wrapper) to ninja on all platforms 2014-04-01 07:02:41 +00:00
Makefile.old Replace GR_*_BUILD by their SK_BUILD_FOR_* equivalents. 2013-09-25 20:57:51 +00:00
OWNERS add root files from chrome 2013-08-13 19:11:15 +00:00
PRESUBMIT.py Check if the issue owner is in the AUTHORS file in PRESUBMIT.py 2014-02-03 14:18:32 +00:00
README whitespace commit to trigger buildbot 2011-07-15 14:11:58 +00:00
README.chromium add root files from chrome 2013-08-13 19:11:15 +00:00
skia.gyp Remove the comments settings for vim tab width and expansion variables. 2013-12-02 22:23:03 +00:00
whitespace.txt Whitespace change to trigger rebuilds after master migration 2014-03-31 13:42:10 +00:00

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

See full details, and build instructions, at http://code.google.com/p/skia/wiki/DocRoot