skia2/tests
caryclark@google.com 9166dcb3a0 Add intersections for path ops
This CL depends on 
https://codereview.chromium.org/12827020/
"Add base types for path ops"

The intersection of a line, quadratic, or cubic
with another curve (or with itself) is found by
solving the implicit equation for the curve pair.

The curves are first reduced to find the simplest
form that will describe the original, and to detect
degenerate or special-case data like horizontal and
vertical lines.

For cubic self-intersection, and for a pair of cubics,
the intersection is found by recursively
approximating the cubic with a series of quadratics.

The implicit solutions depend on the root finding
contained in the DCubic and DQuad structs, and
the quartic root finder included here.
Review URL: https://codereview.chromium.org/12880016

git-svn-id: http://skia.googlecode.com/svn/trunk@8552 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-08 11:50:00 +00:00
..
TestXCode/Tests.xcodeproj migrate more legacy unittests into tests/ 2009-03-07 03:39:23 +00:00
AAClipTest.cpp Change random number generator for 'tests' to SkMWCRandom. Also removes some 2013-03-04 13:56:38 +00:00
AnnotationTest.cpp PDF: add support for named destinations. 2013-03-08 09:09:10 +00:00
AtomicTest.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
BitmapCopyTest.cpp Revert r3219. r3219 was a revert of r3036. r3036 made extractSubset copy the opaque bit but was reverted because of a partally-loaded jpeg issue in WK which has since been fixed: 2012-10-12 13:42:36 +00:00
BitmapFactoryTest.cpp "Fix" persistent failure of BitmapFactoryTest on debug RazrI 2013-03-21 20:54:42 +00:00
BitmapGetColorTest.cpp Automatic update of all copyright notices to reflect new license terms. 2011-07-28 14:26:00 +00:00
BitmapHeapTest.cpp In SkBitmapHeap, defer adding owners for new bitmaps. 2012-11-16 20:34:37 +00:00
BitmapTransformerTest.cpp Fix r6808 fix & some compiler warnings 2012-12-14 13:55:06 +00:00
BitSetTest.cpp Automatic update of all copyright notices to reflect new license terms. 2011-07-28 14:26:00 +00:00
BlitRowTest.cpp Tests : Unused parameters cleanup 2013-02-27 19:17:41 +00:00
BlurTest.cpp Change random number generator for 'tests' to SkMWCRandom. Also removes some 2013-03-04 13:56:38 +00:00
CanvasTest.cpp Tests : Unused parameters cleanup 2013-02-27 19:17:41 +00:00
ChecksumTest.cpp Create SkBitmapChecksummer and associated SkBitmapTransformer 2012-12-12 17:22:23 +00:00
ClampRangeTest.cpp Change random number generator for 'tests' to SkMWCRandom. Also removes some 2013-03-04 13:56:38 +00:00
ClipCacheTest.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-03-05 07:09:08 +00:00
ClipCubicTest.cpp Defining new color constat for transparent color 2012-12-06 21:47:40 +00:00
ClipperTest.cpp Tests : Unused parameters cleanup 2013-02-27 19:17:41 +00:00
ClipStackTest.cpp Change random number generator for 'tests' to SkMWCRandom. Also removes some 2013-03-04 13:56:38 +00:00
ColorFilterTest.cpp Change random number generator for 'tests' to SkMWCRandom. Also removes some 2013-03-04 13:56:38 +00:00
ColorTest.cpp Change random number generator for 'tests' to SkMWCRandom. Also removes some 2013-03-04 13:56:38 +00:00
DataRefTest.cpp eliminate all warnings in non-thirdparty code on mac 2013-01-07 16:47:43 +00:00
DeferredCanvasTest.cpp Fixing deferred canvas bug caused by SkTwoPointConicalGradient declaring itself as opaque. 2013-03-20 00:49:57 +00:00
DequeTest.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:14:13 +00:00
DrawBitmapRectTest.cpp Change random number generator for 'tests' to SkMWCRandom. Also removes some 2013-03-04 13:56:38 +00:00
DrawPathTest.cpp Tests : Unused parameters cleanup 2013-02-27 19:17:41 +00:00
DrawTextTest.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:14:13 +00:00
EmptyPathTest.cpp Tests : Unused parameters cleanup 2013-02-27 19:17:41 +00:00
FillPathTest.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:14:13 +00:00
FlatDataTest.cpp Fix broken test. 2012-08-14 19:30:20 +00:00
FlateTest.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:14:13 +00:00
FontHostStreamTest.cpp move most of SkFontHost to private (preceeding making it all private) 2013-03-14 15:04:57 +00:00
FontHostTest.cpp beef-up upem test for fonts 2013-03-21 15:20:00 +00:00
FontNamesTest.cpp Name table iterator. 2013-04-02 14:12:38 +00:00
GeometryTest.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:14:13 +00:00
GLInterfaceValidation.cpp Simplify the GL interface validation test. 2013-03-11 20:22:38 +00:00
GLProgramsTest.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-04-02 07:01:34 +00:00
GpuBitmapCopyTest.cpp Fix WritePixels test on ANGLE. 2013-02-06 18:17:50 +00:00
GradientTest.cpp Removed unused parameters 2013-03-11 18:50:03 +00:00
GrContextFactoryTest.cpp GrContextFactory can now expose the GLContext it is using. 2012-08-14 22:02:48 +00:00
GrMemoryPoolTest.cpp Change random number generator for 'tests' to SkMWCRandom. Also removes some 2013-03-04 13:56:38 +00:00
HashCacheTest.cpp Make GPU unit tests use GrContexts of different GL types. 2013-02-04 16:13:32 +00:00
InfRectTest.cpp Change random number generator for 'tests' to SkMWCRandom. Also removes some 2013-03-04 13:56:38 +00:00
LListTest.cpp Change random number generator for 'tests' to SkMWCRandom. Also removes some 2013-03-04 13:56:38 +00:00
MathTest.cpp Change random number generator for 'tests' to SkMWCRandom. Also removes some 2013-03-04 13:56:38 +00:00
Matrix44Test.cpp Fix minor valgrind-found memory leaks 2013-03-21 17:38:49 +00:00
MatrixTest.cpp Upstream changes from Android. 2013-03-08 18:35:13 +00:00
MD5Test.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-31 20:28:24 +00:00
MemsetTest.cpp Tests : Unused parameters cleanup 2013-02-27 19:17:41 +00:00
MetaDataTest.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:14:13 +00:00
PackBitsTest.cpp Change random number generator for 'tests' to SkMWCRandom. Also removes some 2013-03-04 13:56:38 +00:00
PaintTest.cpp Initialize bounds even if the text length is zero. 2013-03-04 19:47:42 +00:00
ParsePathTest.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:14:13 +00:00
PathCoverageTest.cpp Tests : Unused parameters cleanup 2013-02-27 19:17:41 +00:00
PathMeasureTest.cpp Tests : Unused parameters cleanup 2013-02-27 19:17:41 +00:00
PathOpsBoundsTest.cpp Add base types for path ops 2013-04-08 11:47:37 +00:00
PathOpsCubicIntersectionTest.cpp Add intersections for path ops 2013-04-08 11:50:00 +00:00
PathOpsCubicIntersectionTestData.cpp Add intersections for path ops 2013-04-08 11:50:00 +00:00
PathOpsCubicIntersectionTestData.h Add intersections for path ops 2013-04-08 11:50:00 +00:00
PathOpsCubicLineIntersectionTest.cpp Add intersections for path ops 2013-04-08 11:50:00 +00:00
PathOpsCubicReduceOrderTest.cpp Add intersections for path ops 2013-04-08 11:50:00 +00:00
PathOpsCubicToQuadsTest.cpp Add intersections for path ops 2013-04-08 11:50:00 +00:00
PathOpsDCubicTest.cpp Add base types for path ops 2013-04-08 11:47:37 +00:00
PathOpsDLineTest.cpp Add base types for path ops 2013-04-08 11:47:37 +00:00
PathOpsDPointTest.cpp Add base types for path ops 2013-04-08 11:47:37 +00:00
PathOpsDQuadTest.cpp Add base types for path ops 2013-04-08 11:47:37 +00:00
PathOpsDRectTest.cpp Add base types for path ops 2013-04-08 11:47:37 +00:00
PathOpsDTriangleTest.cpp Add base types for path ops 2013-04-08 11:47:37 +00:00
PathOpsDVectorTest.cpp Add base types for path ops 2013-04-08 11:47:37 +00:00
PathOpsLineIntersectionTest.cpp Add intersections for path ops 2013-04-08 11:50:00 +00:00
PathOpsLineParametetersTest.cpp Add intersections for path ops 2013-04-08 11:50:00 +00:00
PathOpsQuadIntersectionTest.cpp Add intersections for path ops 2013-04-08 11:50:00 +00:00
PathOpsQuadIntersectionTestData.cpp Add intersections for path ops 2013-04-08 11:50:00 +00:00
PathOpsQuadIntersectionTestData.h Add intersections for path ops 2013-04-08 11:50:00 +00:00
PathOpsQuadLineIntersectionTest.cpp Add intersections for path ops 2013-04-08 11:50:00 +00:00
PathOpsQuadParameterizationTest.cpp Add intersections for path ops 2013-04-08 11:50:00 +00:00
PathTest.cpp Change random number generator for 'tests' to SkMWCRandom. Also removes some 2013-03-04 13:56:38 +00:00
PDFPrimitivesTest.cpp resubmit https://code.google.com/p/skia/source/detail?r=7883 (in the meantime we 2013-04-02 15:33:08 +00:00
PictureTest.cpp Change random number generator for 'tests' to SkMWCRandom. Also removes some 2013-03-04 13:56:38 +00:00
PictureUtilsTest.cpp Updated make_filepath test to reflect changes in picture_utils. TBR 2012-07-13 18:43:39 +00:00
PipeTest.cpp Defining new color constat for transparent color 2012-12-06 21:47:40 +00:00
PointTest.cpp add asScalars() to document when we want to treat SkPoint or SkRect as an array 2013-03-08 16:07:54 +00:00
PremulAlphaRoundTripTest.cpp Make GPU unit tests use GrContexts of different GL types. 2013-02-04 16:13:32 +00:00
QuickRejectTest.cpp Added toString to SkDrawLooper-derived classes 2013-01-28 20:21:59 +00:00
RandomTest.cpp Fix for Gorilla test 2013-02-14 13:20:35 +00:00
Reader32Test.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
ReadPixelsTest.cpp Tests : Unused parameters cleanup 2013-02-27 19:17:41 +00:00
ReadWriteAlphaTest.cpp Fix errors when compiling with -Wall -Werror on Android. 2013-02-07 18:58:35 +00:00
RefCntTest.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:14:13 +00:00
RefDictTest.cpp Extended Inst counting to find "unknown" leaked object (SkTMaskGamma) 2012-08-16 14:58:06 +00:00
RegionTest.cpp Change random number generator for 'tests' to SkMWCRandom. Also removes some 2013-03-04 13:56:38 +00:00
RoundRectTest.cpp fix warings. add SkTAbs() 2013-01-08 13:23:32 +00:00
RTreeTest.cpp Change random number generator for 'tests' to SkMWCRandom. Also removes some 2013-03-04 13:56:38 +00:00
ScalarTest.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
SHA1Test.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-31 20:28:24 +00:00
ShaderImageFilterTest.cpp Fix warnings-as-errors on Mac10.6 and Win. Unreviewed. 2013-02-21 17:10:44 +00:00
ShaderOpacityTest.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:14:13 +00:00
Sk64Test.cpp Change random number generator for 'tests' to SkMWCRandom. Also removes some 2013-03-04 13:56:38 +00:00
skia_test.cpp Add --resourcePath flag to the test program. 2013-03-20 13:48:20 +00:00
SortTest.cpp Change random number generator for 'tests' to SkMWCRandom. Also removes some 2013-03-04 13:56:38 +00:00
SrcOverTest.cpp Automatic update of all copyright notices to reflect new license terms. 2011-07-28 14:26:00 +00:00
StreamTest.cpp Add --resourcePath flag to the test program. 2013-03-20 13:48:20 +00:00
StringTest.cpp Add option to gm: write out images into a hierarchy, rather than a flat set of files 2012-10-29 16:42:11 +00:00
StrokeTest.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-01-26 07:06:02 +00:00
SurfaceTest.cpp Build fix for Surface Test on non-gpu builds 2013-04-03 15:25:46 +00:00
Test.cpp Make GPU unit tests use GrContexts of different GL types. 2013-02-04 16:13:32 +00:00
Test.h Add --resourcePath flag to the test program. 2013-03-20 13:48:20 +00:00
TestClassDef.h Adding unit test for verifying copy on write in SkSurface + bug fix in SkCanvas::clear 2013-03-28 13:49:22 +00:00
TestSize.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:14:13 +00:00
TileGridTest.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-03-01 12:12:55 +00:00
TLSTest.cpp Tests : Unused parameters cleanup 2013-02-27 19:17:41 +00:00
ToUnicode.cpp Fixed Windows compiler complaints 2012-07-10 17:30:58 +00:00
TSetTest.cpp Sanitizing source files in Skia_Periodic_House_Keeping 2013-02-26 07:01:22 +00:00
UnicodeTest.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:14:13 +00:00
UtilsTest.cpp Change random number generator for 'tests' to SkMWCRandom. Also removes some 2013-03-04 13:56:38 +00:00
valgrind.supp Close a couple of minor memory leaks, add a valgrind suppression file to 2012-03-15 18:16:39 +00:00
WArrayTest.cpp Fix metrics test to no longer include the cpp. 2012-06-25 17:01:46 +00:00
WritePixelsTest.cpp Tests : Unused parameters cleanup 2013-02-27 19:17:41 +00:00
Writer32Test.cpp Change random number generator for 'tests' to SkMWCRandom. Also removes some 2013-03-04 13:56:38 +00:00
XfermodeTest.cpp Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/) 2012-08-23 18:14:13 +00:00