aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/core/SkPathMeasure.h
Commit message (Collapse)AuthorAge
* abort really big path fuzzingGravatar Cary Clark2018-06-21
| | | | | | | | | | | | | | | | | | | | | | This adds a couple of special cases to stop the fuzzer from timing out. The first occurs when the fuzzer generates a very large path with very large quads. Count the subdivisions and stop after a while. The second occurs with a normal path and 1D path effect with a very small advance. Count the points and stop after a while. R=reed@google.com,bsalomon@google.com,kjlubick@google.com Bug: oss-fuzz:8349,oss-fuzz:8805 Change-Id: I86130e3f512f48e5a39335412435eabc245ed193 Reviewed-on: https://skia-review.googlesource.com/135709 Reviewed-by: Kevin Lubick <kjlubick@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com> Auto-Submit: Cary Clark <caryclark@skia.org>
* harden pathmeasure and fix empty caseGravatar Cary Clark2018-03-12
| | | | | | | | | | | | | | | | | | | | change int to unsigned (just make it uniform, part of it was already unsigned) change path by pointer to path by value since it will be copied on write; fixes bug where path changes from underneath measure Allow empty paths to still initialize measure state. This fixes the GM failure from the earlier check-in attempt in CL 113269. R=reed@google.com Bug: skia:7675 Change-Id: I6296bbf75296ead826e54662b025277dd226e2b8 Reviewed-on: https://skia-review.googlesource.com/113246 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Revert "start hardening pathmeasure"Gravatar Cary Clark2018-03-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 429a5406733e44cd9d379fc9aa0e2e206cc8867d. Reason for revert: <failed dm> Original change's description: > start hardening pathmeasure > > change int to unsigned (just make it uniform, > part of it was already unsigned) > > change path by pointer to path by value > since it will be copied on write; fixes bug > where path changes from underneath measure > > R=​reed@google.com > > Bug: skia:7675 > Change-Id: Ibfcfd4379cabd86b4ef4ea9ff6788d5ccb137ac1 > Reviewed-on: https://skia-review.googlesource.com/113269 > Commit-Queue: Cary Clark <caryclark@skia.org> > Reviewed-by: Mike Reed <reed@google.com> TBR=reed@google.com,caryclark@skia.org Change-Id: I35f89c135233b166b09ce8887a967da3b1407db8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7675 Reviewed-on: https://skia-review.googlesource.com/113480 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* start hardening pathmeasureGravatar Cary Clark2018-03-09
| | | | | | | | | | | | | | | | | change int to unsigned (just make it uniform, part of it was already unsigned) change path by pointer to path by value since it will be copied on write; fixes bug where path changes from underneath measure R=reed@google.com Bug: skia:7675 Change-Id: Ibfcfd4379cabd86b4ef4ea9ff6788d5ccb137ac1 Reviewed-on: https://skia-review.googlesource.com/113269 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Mike Reed <reed@google.com>
* Move seg_to to a new header, define SkSegType enum thereGravatar hstern2016-08-09
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2221203002 Review-Url: https://codereview.chromium.org/2221203002
* fix path getSegment commentGravatar caryclark2016-03-23
| | | | | | | R=djsollen@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1828753002 Review URL: https://codereview.chromium.org/1828753002
* Move SkTDArray to private.Gravatar bungeman2016-02-18
| | | | | | | TBR=reed Moving to private is good. Review URL: https://codereview.chromium.org/1707213002
* remove legacy definesGravatar caryclark2016-01-25
| | | | | | | | | | | | | | | | | | The defines SK_SUPPORT_LEGACY_ARCTO SK_SUPPORT_LEGACY_CONIC_MEASURE SK_SUPPORT_LEGACY_DASH_MEASURE SK_SUPPORT_LEGACY_HAIR_IGNORES_CAPS SK_SUPPORT_LEGACY_PATH_MEASURE_TVALUE have been removed from Chrome. This removes the obsolete code from Skia as well. R=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1627703002 Review URL: https://codereview.chromium.org/1627703002
* resolution dependent path measureGravatar caryclark2016-01-21
| | | | | | | | | | | | | | | | | When a dash is drawn through a canvas with a scaled up matrix, path measure needs the pixel resolution through the matrix to construct the dash with sufficient resolution. Pass the resolution through to path measure. Replicate chrome bug in skia GM. R=reed@google.com BUG=530095 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1608353002 Review URL: https://codereview.chromium.org/1608353002
* fix circular dashingGravatar caryclark2016-01-19
| | | | | | | | | | | | | | | | | | | | | Path measure cannot use the same code approach for quadratics and cubics. Subdividing cubics repeatedly does not result in subdivided t values, e.g. a quarter circle cubic divided in half twice does not have a t value equivalent to 1/4. Instead, always compute the cubic segment from a pair of t values. When finding the length of the cubic through recursive measures, it is enough to carry the point at a given t to the next subdivision. (Chrome suppression has landed already.) R=reed@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1602153002 Review URL: https://codereview.chromium.org/1602153002
* fix large dashed pathsGravatar caryclark2015-12-18
| | | | | | | | | | | | Paths with lots of points exceed the 32767 point index. Make the index larger, add a test, and allow the t value to use the extra bits. R=reed@google.com,fmalita@chromium.org BUG=skia:3501 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1534223002 Review URL: https://codereview.chromium.org/1534223002
* use conicsGravatar reed2014-12-17
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/455043002
* add SK_APIGravatar reed@google.com2013-05-08
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@9054 2bbb7eff-a529-9590-31e7-b0007b416f81
* Result of running tools/sanitize_source_files.py (which was added in ↵Gravatar rmistry@google.com2012-08-23
| | | | | | | | | https://codereview.appspot.com/6465078/) This CL is part I of IV (I broke down the 1280 files into 4 CLs). Review URL: https://codereview.appspot.com/6485054 git-svn-id: http://skia.googlecode.com/svn/trunk@5262 2bbb7eff-a529-9590-31e7-b0007b416f81
* add SK_WARN_UNUSED_RESULT warning to SkPathMeasure methods that might leaveGravatar reed@google.com2012-04-12
| | | | | | | | POD var-arguments uninitialized. git-svn-id: http://skia.googlecode.com/svn/trunk@3665 2bbb7eff-a529-9590-31e7-b0007b416f81
* Somehow this change was missing from the previous commit.Gravatar schenney@chromium.org2012-01-18
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3063 2bbb7eff-a529-9590-31e7-b0007b416f81
* Automatic update of all copyright notices to reflect new license terms.Gravatar epoger@google.com2011-07-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I have manually examined all of these diffs and restored a few files that seem to require manual adjustment. The following files still need to be modified manually, in a separate CL: android_sample/SampleApp/AndroidManifest.xml android_sample/SampleApp/res/layout/layout.xml android_sample/SampleApp/res/menu/sample.xml android_sample/SampleApp/res/values/strings.xml android_sample/SampleApp/src/com/skia/sampleapp/SampleApp.java android_sample/SampleApp/src/com/skia/sampleapp/SampleView.java experimental/CiCarbonSampleMain.c experimental/CocoaDebugger/main.m experimental/FileReaderApp/main.m experimental/SimpleCocoaApp/main.m experimental/iOSSampleApp/Shared/SkAlertPrompt.h experimental/iOSSampleApp/Shared/SkAlertPrompt.m experimental/iOSSampleApp/SkiOSSampleApp-Base.xcconfig experimental/iOSSampleApp/SkiOSSampleApp-Debug.xcconfig experimental/iOSSampleApp/SkiOSSampleApp-Release.xcconfig gpu/src/android/GrGLDefaultInterface_android.cpp gyp/common.gypi gyp_skia include/ports/SkHarfBuzzFont.h include/views/SkOSWindow_wxwidgets.h make.bat make.py src/opts/memset.arm.S src/opts/memset16_neon.S src/opts/memset32_neon.S src/opts/opts_check_arm.cpp src/ports/SkDebug_brew.cpp src/ports/SkMemory_brew.cpp src/ports/SkOSFile_brew.cpp src/ports/SkXMLParser_empty.cpp src/utils/ios/SkImageDecoder_iOS.mm src/utils/ios/SkOSFile_iOS.mm src/utils/ios/SkStream_NSData.mm tests/FillPathTest.cpp Review URL: http://codereview.appspot.com/4816058 git-svn-id: http://skia.googlecode.com/svn/trunk@1982 2bbb7eff-a529-9590-31e7-b0007b416f81
* migrate more legacy unittests into tests/Gravatar reed@android.com2009-03-07
| | | | | | | | SkParse yet to be cleaned up git-svn-id: http://skia.googlecode.com/svn/trunk@113 2bbb7eff-a529-9590-31e7-b0007b416f81
* grab from latest androidGravatar reed@android.com2008-12-17
git-svn-id: http://skia.googlecode.com/svn/trunk@27 2bbb7eff-a529-9590-31e7-b0007b416f81