skia2/tools
Cary Clark 3a4a3215f5 fix ops for very close rects
Pathops sorts line intersections to determine which edges to keep.
If the intersections are very short, they may get discarded and the
adjacent edge is used instead.

If a pair of edges are 180 degrees apart, and an adjacent edge is
part of the sort, it is ambiguous whether it is inside or outside
the span. Add logic to look for this and evaluate the original data
rather than the adjacent edge.

In a separate CL, I'll add a specialization for rect/rect ops.

R=halcanary@google.com
Bug: skia:8049
Change-Id: I8d88d5520051d41303ea683e7d6b844f2afa9937
Reviewed-on: https://skia-review.googlesource.com/132661
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
Auto-Submit: Cary Clark <caryclark@skia.org>
2018-06-06 20:27:34 +00:00
..
android Reuse more upload_to_android and allow removing flag on Android 2017-10-31 14:37:14 +00:00
bookmaker Revert "Reland "remove toString"" 2018-05-31 12:27:44 +00:00
calmbench Add name field to calmbench json 2018-05-03 15:18:02 +00:00
copyright Script to automatically update copyright notices in C/C++ source code. 2011-07-28 14:29:58 +00:00
debugger Remove SK_SUPPORT_GPU checks in tool-only code 2018-05-31 18:59:44 +00:00
fiddle Dest color space no longer impacts mipmaps or texture sampling 2018-06-01 17:00:26 +00:00
flags Dest color space no longer impacts mipmaps or texture sampling 2018-06-01 17:00:26 +00:00
fonts Fix compile when SK_XML undefined 2018-06-01 14:30:56 +00:00
gdb Add a gdb viewer for skbitmap. 2017-10-23 20:45:09 +00:00
gpu Dest color space no longer impacts mipmaps or texture sampling 2018-06-01 17:00:26 +00:00
lottiecap [lottiecap] Fix timestamp calculation to exactly match skottie in DM. 2018-03-20 21:02:57 +00:00
lua Make iOS main() functions normal. 2017-02-06 18:02:41 +00:00
mdbviz Remove carriage returns. 2017-10-09 20:41:14 +00:00
rebaseline Change add to toggle in the comments 2017-11-10 17:19:07 +00:00
sk_app Dest color space no longer impacts mipmaps or texture sampling 2018-06-01 17:00:26 +00:00
skdiff Revert "Simplify call when finished with bitmaps." 2018-01-26 21:44:24 +00:00
skiaserve Remove SK_SUPPORT_GPU checks in tool-only code 2018-05-31 18:59:44 +00:00
skp Omit "espn" from key_mobile_sites_smooth in RecreateSKPs bot 2018-05-20 14:53:16 +00:00
skpbench Dest color space no longer impacts mipmaps or texture sampling 2018-06-01 17:00:26 +00:00
skqp skqp: update apk list script 2018-05-31 16:46:40 +00:00
svg Remove internal files from externally visible markdown documentation 2018-01-10 13:25:19 +00:00
timer Fix MSAN compile error 2017-09-20 19:42:09 +00:00
trace Optimize the size of our JSON 2017-08-17 11:51:26 +00:00
viewer [skottie] Remove inPoint/outPoint/frameRate from public API 2018-06-01 13:10:15 +00:00
__init__.py Add bench_pictures config 2012-12-12 20:13:26 +00:00
add_codereview_message.py Remove trailing whitespace. 2017-10-09 21:20:34 +00:00
AndroidSkDebugToStdOut.cpp Change how SkDebugf is sent to stdout on Android. 2014-12-10 10:23:06 -08:00
BigPathBench.inc Factor out VisualBench timing code into a helper class 2015-10-05 07:23:30 -07:00
bisect_roll Add bisect_roll tool 2018-01-11 19:42:55 +00:00
bisect_roll.bat Add bisect_roll tool 2018-01-11 19:42:55 +00:00
bisect_roll.go Add bisect_roll tool 2018-01-11 19:42:55 +00:00
build_command_buffer.py Improvements to build_command_buffer.py 2016-11-04 10:54:54 -07:00
BUILD_simulator.py Fix Google3 fonts. Use fontconfig rather than custom_directory_factory. Add Google3 font caching. 2015-12-01 11:12:05 -08:00
build_workaround_header.py Add CheckGeneratedFiles recipe check for gpu workarounds 2018-04-25 19:26:27 +00:00
check-headers-self-sufficient C++14 2018-06-04 13:22:49 +00:00
chrome_fuzz.cpp Fix SkFILEStream. 2017-03-10 19:58:46 +00:00
compare_codereview.py Further tweak compare_codereview.py. 2014-03-25 18:02:17 +00:00
CrashHandler.cpp GOOGLE3 -> SK_BUILD_FOR_GOOGLE3 2017-12-19 14:42:16 +00:00
CrashHandler.h rewrite ambiguous comment 2015-02-10 07:47:31 -08:00
create_flutter_test_images.cpp Push much of the SkColorSpace_Base interface up to SkColorSpace 2017-12-12 19:34:29 +00:00
DDLPromiseImageHelper.cpp Dest color space no longer impacts mipmaps or texture sampling 2018-06-01 17:00:26 +00:00
DDLPromiseImageHelper.h Remove SK_SUPPORT_GPU checks in tool-only code 2018-05-31 18:59:44 +00:00
DDLTileHelper.cpp Remove SK_SUPPORT_GPU checks in tool-only code 2018-05-31 18:59:44 +00:00
DDLTileHelper.h Remove SK_SUPPORT_GPU checks in tool-only code 2018-05-31 18:59:44 +00:00
doxygen_footer.txt Fix update-doxygen, which fails when skia-autogen is reset 2012-09-26 16:09:43 +00:00
dump_record.cpp clean up SkDeferredCanvas 2017-11-27 21:31:26 +00:00
DumpRecord.cpp Revert "hide picture virtuals (no public callers)" 2018-01-27 17:30:15 +00:00
DumpRecord.h Factor out DumpRecord method from dump_record tool for later use 2014-05-15 16:10:37 +00:00
embed_resources.py Add option to embed font data into executable. 2015-03-30 12:53:48 -07:00
find_run_binary.py Create a common utility for finding and running binaries in out/ 2014-02-07 18:41:49 +00:00
fix_pythonpath.py Use new common tools in Python scripts 2014-06-25 11:13:27 -04:00
gcov_shim add a way to get code coverage 2013-09-13 19:32:43 +00:00
generate_vk_interface.sh Add vulkan files into skia repo. This is an incomplete backend with only partial functionality at this time. 2016-02-22 09:56:40 -05:00
get_current_monitor_profile.cpp Remove trailing whitespace. 2017-10-09 21:20:34 +00:00
get_images_from_skps.cpp Make get_images_from_skps always return success 2018-03-15 21:13:26 +00:00
git-sync-deps tools/git-sync-deps: less verbose when fetch is needed 2017-02-13 19:53:27 +00:00
gyp GN 2016-06-23 10:29:30 -07:00
imgblur.cpp Make iOS main() functions normal. 2017-02-06 18:02:41 +00:00
imgslice.cpp Make iOS main() functions normal. 2017-02-06 18:02:41 +00:00
install_dependencies.sh Add header file installation tips for building skia 2018-02-14 13:07:27 +00:00
ios_utils.h Fix bugs with fence sync API on iOS devices 2017-10-10 19:05:13 +00:00
ios_utils.m iOS: cd into Documents folder at startup 2017-02-06 15:06:45 +00:00
jsondiff.py tools: Remove reference to svndiff. 2014-10-24 17:21:41 -02:00
list_gms.cpp SkQP: replace blacklist with: DoNotExecuteInExperimentalMode and NoScoreInCompatibilityTestMode 2018-01-22 20:11:57 +00:00
list_gpu_unit_tests.cpp SkQP: replace blacklist with: DoNotExecuteInExperimentalMode and NoScoreInCompatibilityTestMode 2018-01-22 20:11:57 +00:00
LsanSuppressions.cpp Build LSAN suppressions into the test binaries. 2016-09-01 07:06:54 -07:00
merge_static_libs.py Remove trailing whitespace. 2017-10-09 21:20:34 +00:00
milestone.py SkPDF: milestone in metadata, also SkMilestone.h 2016-03-29 09:09:29 -07:00
mirror-dev.sh Update mirror-dev for *-dev:amd64 packages. 2017-11-09 22:44:57 +00:00
misc_utils.py Whitespace fixes for Python tools 2014-06-25 08:40:58 -07:00
OverwriteLine.h eliminate SK_BUILD_FOR_WIN32 2018-01-26 19:52:04 +00:00
parse_llvm_coverage.py Walk through files in parse_llvm_coverage.py instead of using 'git ls-files' 2016-04-18 04:18:56 -07:00
pathops_sorter.htm handle degenerate cubic loops 2018-02-02 20:39:09 +00:00
pathops_visualizer.htm fix ops for very close rects 2018-06-06 20:27:34 +00:00
picture_utils.cpp remove append_from_srgb() 2017-12-18 19:48:43 +00:00
picture_utils.h Move DM png code to picture_utils, for use by other tools. 2016-04-19 09:18:11 -07:00
ProcStats.cpp eliminate SK_BUILD_FOR_WIN32 2018-01-26 19:52:04 +00:00
ProcStats.h DM+nanobench: print both current and max RSS. 2015-04-30 07:11:22 -07:00
public_headers_warnings_check.cpp GN: add public headers warnings check. 2016-11-16 19:27:29 +00:00
random_parse_path.cpp Add unit test to feed valid SVG sequences to make sure that 2016-02-09 10:30:22 -08:00
random_parse_path.h Add unit test to feed valid SVG sequences to make sure that 2016-02-09 10:30:22 -08:00
reformat-json.py add reformat-json.py script 2013-07-19 15:45:22 +00:00
Registry.h move SkTRegister.h into tools 2017-01-11 19:53:36 +00:00
remote_demo.cpp fonts: Reland push font remoting. 2018-05-02 18:39:31 +00:00
ResourceFactory.h SkQP: ResourceFactory 2018-01-29 21:23:33 +00:00
Resources.cpp sk_tools/Resources: optional SK_TOOLS_REQUIRE_RESOURCES flag 2018-04-24 18:08:06 +00:00
Resources.h Revert "Revert "resources: remove most uses of GetResourcePath()"" 2017-12-09 01:27:50 +00:00
retrieve_from_googlesource.py Fix submit_try 2014-06-05 07:32:15 -07:00
sanitize_source_files.py Clean up more references to GYP. 2017-02-06 17:55:35 +00:00
sk_pixel_iter.h handle clipping large triangles 2018-01-30 15:56:35 +00:00
sk_tool_utils.cpp Add color fonts. 2018-03-28 20:14:44 +00:00
sk_tool_utils.h Add color fonts. 2018-03-28 20:14:44 +00:00
skhello.cpp Make iOS main() functions normal. 2017-02-06 18:02:41 +00:00
SkJSONCPP.h GOOGLE3 -> SK_BUILD_FOR_GOOGLE3 2017-12-19 14:42:16 +00:00
skp_parser.cpp Remove code that was only used by the old debugger 2018-04-09 13:30:54 +00:00
skpinfo.cpp Make SkStream readers report failure. 2018-05-18 15:06:24 +00:00
skpmaker.cpp Make iOS main() functions normal. 2017-02-06 18:02:41 +00:00
Stats.h Consolidate SK_CRASH and sk_throw into SK_ABORT 2016-01-29 08:51:04 -08:00
test_all.py skimage, die die die 2014-12-15 12:47:52 -08:00
test_pdfs.py Add an SKP to PDF rendered. test_pdfs.py will be hooked up in buildbot testing later. 2012-10-10 15:20:34 +00:00
UrlDataManager.cpp Create image cache for use by json canvas 2016-02-08 07:08:21 -08:00
UrlDataManager.h Use sse4.2 CRC32 instructions to hash when available. 2016-08-08 09:06:28 -07:00
using_skia_and_harfbuzz.cpp Make SkShaper a module 2018-05-30 04:04:07 +00:00
valgrind.supp update valgrind suppressions for revised keepalive thread 2017-10-31 15:34:43 +00:00
whitelist_typefaces.cpp Make iOS main() functions normal. 2017-02-06 18:02:41 +00:00
win_dbghelp.cpp Style Change: NULL->nullptr 2015-08-27 07:41:16 -07:00
win_dbghelp.h eliminate SK_BUILD_FOR_WIN32 2018-01-26 19:52:04 +00:00
win_lcid.cpp Style Change: NULL->nullptr 2015-08-27 07:41:16 -07:00