aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/utils
Commit message (Collapse)AuthorAge
* Add SkOffsetSimplePolygon.Gravatar Jim Van Verth2018-04-03
| | | | | | | | | | | Performs inset and outset operations on simple polygons and returns a simple polygon, if possible. Bug: skia: Change-Id: I6d468174ad70b5279b736c532e19cbb84ff9f955 Reviewed-on: https://skia-review.googlesource.com/116483 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Revert "implement SkTDArray with std::vector"Gravatar Mike Klein2018-04-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 80e1d56e198c5fd9fe6db0c945bd558053a8dc6a. Reason for revert: SkRTree.cpp:57 asserting, probably this? Original change's description: > implement SkTDArray with std::vector > > It's always worth seeing if we can get away with replacing custom data > structures with ones from the standard library. Our array-like types > are all good candidates to replace with std::vector, and it's especially > easy to start with SkTDArray. Unlike the others, it has no preallocated > S-variant, which is tricky to make work with std::vector. > > SkTDArray also has known integer overflow bugs, leading to out of range > writes. It'd be _very_ nice to ditch it for a better standard vector. > > I removed a bunch of unused or little-used methods, and updated a couple > call sites that used methods in unusual or dangerous ways. > > I've had to tweak GrAAConvexTessellator and SkBaseShadowTessellator just > a touch to work within the constraints of an std::vector impl. It's not > intended to be legal to write to the reserved-but-not-counted elements > of an SkTDArray, but you can get away with it in our old implementation. > This version now uses setCount() to actually reserve and count them, and > should have the same performance and use the same amount of memory. > > The PathMeasure_explosion GM I added recently to reproduce this bug now > draws without triggering undefined behavior or ASAN errors, provided you > have ~40GB of RAM. > > Bug: skia:7674 > > Change-Id: I4eacae18a976cd4a6d218102f8ca5d973d4d7d0e > Reviewed-on: https://skia-review.googlesource.com/115982 > Reviewed-by: Brian Osman <brianosman@google.com> > Commit-Queue: Mike Klein <mtklein@chromium.org> TBR=mtklein@chromium.org,bungeman@google.com,brianosman@google.com Change-Id: Icffd9f22fe89746a970ff598e1a05c774960bc0e No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7674 Reviewed-on: https://skia-review.googlesource.com/117901 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* SkPDF/SkTypefaceMetrics: Set PostScript Name in Directwrite backend.Gravatar Hal Canary2018-04-02
| | | | | | | | | | | Also, clean up Freetype and Mac impls. Also, sk_get_locale_string returns an error value. Change-Id: If8dfc101e28a1d782679174fe6f5a28812563af5 Reviewed-on: https://skia-review.googlesource.com/117229 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* implement SkTDArray with std::vectorGravatar Mike Klein2018-04-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's always worth seeing if we can get away with replacing custom data structures with ones from the standard library. Our array-like types are all good candidates to replace with std::vector, and it's especially easy to start with SkTDArray. Unlike the others, it has no preallocated S-variant, which is tricky to make work with std::vector. SkTDArray also has known integer overflow bugs, leading to out of range writes. It'd be _very_ nice to ditch it for a better standard vector. I removed a bunch of unused or little-used methods, and updated a couple call sites that used methods in unusual or dangerous ways. I've had to tweak GrAAConvexTessellator and SkBaseShadowTessellator just a touch to work within the constraints of an std::vector impl. It's not intended to be legal to write to the reserved-but-not-counted elements of an SkTDArray, but you can get away with it in our old implementation. This version now uses setCount() to actually reserve and count them, and should have the same performance and use the same amount of memory. The PathMeasure_explosion GM I added recently to reproduce this bug now draws without triggering undefined behavior or ASAN errors, provided you have ~40GB of RAM. Bug: skia:7674 Change-Id: I4eacae18a976cd4a6d218102f8ca5d973d4d7d0e Reviewed-on: https://skia-review.googlesource.com/115982 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Rename SkInsetConvexPolygon to SkOffsetPolygon.Gravatar Jim Van Verth2018-03-28
| | | | | | | | | Prep for adding new offset routines. Change-Id: I261c22d9998e5ae4567b697c5f20a31f20777ac1 Reviewed-on: https://skia-review.googlesource.com/116800 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* change canvas-state to just record clip boundsGravatar Mike Reed2018-03-21
| | | | | | | | | | | | This reflects the long-standing restrictions in our clients (webview) and the reality of the gpu target which just uses scissors. It also removes one of the few callers of canvas::clipRegion, which we'd like to remove. Bug: skia: Change-Id: Ie3b3c6e8752f82cddef256f753000f9da4bdbdee Reviewed-on: https://skia-review.googlesource.com/113260 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Mike Reed <reed@google.com>
* move blur impl into coreGravatar Mike Reed2018-03-12
| | | | | | | | | | | | | | | | Ever since we added drawShadow to the public api, blurs have necessarily part of the core. This CL just formalizes that. This should also allow us to have builds that exclude all of /effects (for code size) and still be valid. Will follow-up with a change to deprecate SkBlurMaskFilter and SkBlurQuality (both no longer needed). Bug: skia: Change-Id: Ifbbd8b47a30a0386d215726b67bcf1e8b84fb8f5 Reviewed-on: https://skia-review.googlesource.com/113713 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* remove unused ConvertRadiusToSigma from SkBlurMaskFilterGravatar Mike Reed2018-03-12
| | | | | | | | Bug: skia: Change-Id: I1726f22fc40ad61b1b0485bcda6d383614da1fdb Reviewed-on: https://skia-review.googlesource.com/113463 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Remove SkDumpCanvasGravatar Brian Osman2018-03-10
| | | | | | | | Bug: skia: Change-Id: I045e84f154d0294121a4c1966dcf47c0d7e52934 Reviewed-on: https://skia-review.googlesource.com/113464 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* Shim to enforce that canvas virtuals are overriddenGravatar Brian Osman2018-03-09
| | | | | | | | Change-Id: Iad70d449bbc43195baefd70d20c41996a8435e6e Reviewed-on: https://skia-review.googlesource.com/113320 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com>
* Fill in some missing virtuals from canvas subclassesGravatar Brian Osman2018-03-08
| | | | | | | | Bug: skia: Change-Id: If7306fa6c5a1619952e1159e6ebca8f04b4d9c8e Reviewed-on: https://skia-review.googlesource.com/113262 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Florin Malita <fmalita@chromium.org>
* check for valid inputs to shadowsGravatar Mike Reed2018-03-06
| | | | | | | | Bug: oss-fuzz:6766 Change-Id: I6b131d53564618bb2be50fa38a1c9fdf15deff05 Reviewed-on: https://skia-review.googlesource.com/112483 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Mike Reed <reed@google.com>
* SkString: remove externally unused ::setUTF16() from APIGravatar Hal Canary2018-03-01
| | | | | | | | | Moved to SkStringUtils in src/ Change-Id: I026e3a325570bbf34e90797d921cb2f05b9a29f6 Reviewed-on: https://skia-review.googlesource.com/111602 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* Fall back to blurs for unsupported DrawShadow casesGravatar Jim Van Verth2018-02-28
| | | | | | | | Bug: skia:7263 Change-Id: Ifb70212e369ed783bd03a6ff2a540a8f46282595 Reviewed-on: https://skia-review.googlesource.com/109388 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Add some additional checks for shadow generationGravatar Jim Van Verth2018-02-26
| | | | | | | Change-Id: I4dae4173ad879827e4e1fa3ad12aa0447d1df252 Reviewed-on: https://skia-review.googlesource.com/110360 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* move some RRect methods into privGravatar Mike Reed2018-02-22
| | | | | | | | | | also, return radii by value instead of reference, in possible prep for changing underlying representation Bug: skia:7649 Change-Id: Iff42a49c53cc48171fc63462be366cc3500b2273 Reviewed-on: https://skia-review.googlesource.com/109385 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* hide virtual and rename to onMakeComposedGravatar Mike Reed2018-02-19
| | | | | | | | Bug: skia: Change-Id: Ic18ee2af3273f81ebec9c9031162e808186c0acd Reviewed-on: https://skia-review.googlesource.com/108300 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Check for valid z-transform function in shadow generationGravatar Jim Van Verth2018-02-08
| | | | | | | | Bug: oss-fuzz:5630 Change-Id: I608a8a2db608396932eb732b8d7b61ab9fbcc322 Reviewed-on: https://skia-review.googlesource.com/105223 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Revert "Revert "Revert "Revert "Revert "Revert "Redefine the meaning of ↵Gravatar Brian Salomon2018-02-03
| | | | | | | | | | | | | sample counts in GPU backend."""""" This reverts commit 3a2cc2c2ec124de36d2544b2a523ef1dd317ca32. Fix code with samplecnt=0 that slipped in between trybots/CQ and landing of previous version Change-Id: Iab19f2e8d1e9901601c8c76244d7a88c5d707fab Reviewed-on: https://skia-review.googlesource.com/103181 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Revert "Revert "Revert "Redefine the meaning of sample ↵Gravatar Brian Salomon2018-02-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | counts in GPU backend.""""" This reverts commit 5bb82cbecd740d21b92e8d2944280ab6eb6af7a6. Reason for revert: <INSERT REASONING HERE> Original change's description: > Revert "Revert "Revert "Revert "Redefine the meaning of sample counts in GPU backend."""" > > This reverts commit 18c52a7b52211de5d0dcd86dc048adef758c6c75. > > Also relands "More sample count cleanup:" and "Add new GrContext queries for imagability, surfacability, and max sample count of color types" > > > Bug: skia: > Change-Id: I4028105a3a1f16ce3944e134619eb6245af6b947 > Reviewed-on: https://skia-review.googlesource.com/102940 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> TBR=egdaniel@google.com,bsalomon@google.com Change-Id: Idee23be2f1719f0bdc9305043e95a2d589bee8d1 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/103220 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Revert "Revert "Redefine the meaning of sample counts in GPU ↵Gravatar Brian Salomon2018-02-02
| | | | | | | | | | | | | | | backend."""" This reverts commit 18c52a7b52211de5d0dcd86dc048adef758c6c75. Also relands "More sample count cleanup:" and "Add new GrContext queries for imagability, surfacability, and max sample count of color types" Bug: skia: Change-Id: I4028105a3a1f16ce3944e134619eb6245af6b947 Reviewed-on: https://skia-review.googlesource.com/102940 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Revert "Redefine the meaning of sample counts in GPU backend."""Gravatar Brian Salomon2018-02-02
| | | | | | | | | | | | | | | | | | | | This reverts commit d0d7270fcc32546005b8e847df516cb11592cd30. Revert "More sample count cleanup:" This reverts commit d653cac70ed17983125ceed053138c09f1401846. Revert "Add new GrContext queries for imagability, surfacability, and max sample count of color types" This reverts commit 85ae7159c9c8a9186a4c7e74304eabb35bca9a79. Need to understand NVPR perf changes before relanding Change-Id: I0db075fb42438ef2a1f9885df184dce52892ac4b Reviewed-on: https://skia-review.googlesource.com/102780 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Revert "Redefine the meaning of sample counts in GPU backend.""Gravatar Brian Salomon2018-02-01
| | | | | | | | | | | | Fixes gpu config default samples to be 1 and updates config parsing test accordingly. This reverts commit c1ce2f7966babaae0deb150f93f1227ee5af9285. Bug: skia: Change-Id: I456973b1f52ced85a2011ea10fc49449bfc5846f Reviewed-on: https://skia-review.googlesource.com/102147 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Revert "Redefine the meaning of sample counts in GPU backend."Gravatar Brian Salomon2018-02-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 48825b11ad25c98b9a4884d5cc0edd4e290c4409. Reason for revert: nanobench Original change's description: > Redefine the meaning of sample counts in GPU backend. > > Old: 0 -> nonMSAA > 1+ -> MSAA > > New: > 0 -> error/unsupported > 1 -> nonMSAA > 2+ -> MSAA > > We still allow 0 to mean nonMSAA in three sets of public APIs for backwards compatibility: > > 1) SkSurface factories > 2) GrBackendRenderTarget constructors > 3) GrCaps::getSampleCnt()'s requestedCount parameter > > However, we immediately clamp to 1 and treat 0 as invalid/non-renderable internally. > > This also changes the behavior when using a large sample count. We now fail in that case rather than using the largest sample available sample count. GrCaps::getSampleCount() will return 0 in this case. > > > Bug: skia: > Change-Id: Ida22c6b22c1365e563c9046b611e88bf5eb3ff33 > Reviewed-on: https://skia-review.googlesource.com/101560 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Brian Salomon <bsalomon@google.com> TBR=egdaniel@google.com,bsalomon@google.com Change-Id: Ic257619a8a5ee9ac15419ecf10259e42daed7f82 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/102662 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Redefine the meaning of sample counts in GPU backend.Gravatar Brian Salomon2018-02-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | Old: 0 -> nonMSAA 1+ -> MSAA New: 0 -> error/unsupported 1 -> nonMSAA 2+ -> MSAA We still allow 0 to mean nonMSAA in three sets of public APIs for backwards compatibility: 1) SkSurface factories 2) GrBackendRenderTarget constructors 3) GrCaps::getSampleCnt()'s requestedCount parameter However, we immediately clamp to 1 and treat 0 as invalid/non-renderable internally. This also changes the behavior when using a large sample count. We now fail in that case rather than using the largest sample available sample count. GrCaps::getSampleCount() will return 0 in this case. Bug: skia: Change-Id: Ida22c6b22c1365e563c9046b611e88bf5eb3ff33 Reviewed-on: https://skia-review.googlesource.com/101560 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* remove SkColorSpace_BaseGravatar Mike Klein2018-01-26
| | | | | | | | | | | | The type SkColorSpace_Base doesn't need to exist. Its one type() query can be answered instead by toXYZD50(). Now all that's left in the file is SkGammas, so rename it to SkGammas.h. Change-Id: Id60ddbfb342accfd5674ae89b37a24a6583ef7b8 Reviewed-on: https://skia-review.googlesource.com/99702 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* eliminate SK_BUILD_FOR_WIN32Gravatar Mike Klein2018-01-26
| | | | | | | | | | SK_BUILD_FOR_WIN and SK_BUILD_FOR_WIN32 have long meant the same thing. Chrome fix is https://chromium-review.googlesource.com/c/chromium/src/+/884007 Change-Id: I0e907b1bcd2a358eabf776f414fd3aeb3c689561 Reviewed-on: https://skia-review.googlesource.com/99340 Reviewed-by: Mike Reed <reed@google.com>
* remove unused SkRasterizerGravatar Mike Reed2018-01-21
| | | | | | | | Bug: skia:7500 Change-Id: Iaa683cf8f0b18887cce4ec676631d1e1efee1712 Reviewed-on: https://skia-review.googlesource.com/97400 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
* Remove tonal color from DrawShadow internalsGravatar Jim Van Verth2018-01-19
| | | | | | | | Bug: b/71719631 Change-Id: I676c34dfe5ea9b5e184ea53dd49a8b835d4e8cb6 Reviewed-on: https://skia-review.googlesource.com/95741 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* SkDocument: remove unused fDoneProcGravatar Hal Canary2018-01-08
| | | | | | | Change-Id: I9a0739992e90a0a6d44a75b0b570097553343f1d Reviewed-on: https://skia-review.googlesource.com/92141 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* create struct to hold document and stream for pdf lua objectGravatar Mike Reed2018-01-08
| | | | | | | | | Bug: skia: Change-Id: Id2ca3d05a0e0d827a555b827d5188a066725ecbe Reviewed-on: https://skia-review.googlesource.com/92085 Reviewed-by: Ben Wagner <bungeman@google.com> Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "Revert "remove unused SkCurveMeasure""Gravatar Mike Reed2018-01-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4d1d8bcf6df52bd8e9ae5b0289815c1a2527e7c8. Reason for revert: will try a manual roll to update static_initializers.gni Original change's description: > Revert "remove unused SkCurveMeasure" > > This reverts commit 065c2e827e3a5c7aab8f276b1f5358ba3ac33fa8. > > Reason for revert: change static initializer count? > > Original change's description: > > remove unused SkCurveMeasure > > > > Bug: skia: > > Change-Id: I36eb00883bc17e8eef4d1d226972f0125f0e2630 > > Reviewed-on: https://skia-review.googlesource.com/91702 > > Reviewed-by: Mike Reed <reed@google.com> > > Commit-Queue: Mike Reed <reed@google.com> > > TBR=reed@google.com > > Change-Id: I0d8ad2aa8b38a389048ba8bf5cafafea5788c3e1 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia: > Reviewed-on: https://skia-review.googlesource.com/91343 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Mike Reed <reed@google.com> TBR=reed@google.com Change-Id: I7e6dfc5841b089dff047cd1d78dcebb722cdf8a4 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/91361 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "remove unused SkCurveMeasure"Gravatar Mike Reed2018-01-06
| | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 065c2e827e3a5c7aab8f276b1f5358ba3ac33fa8. Reason for revert: change static initializer count? Original change's description: > remove unused SkCurveMeasure > > Bug: skia: > Change-Id: I36eb00883bc17e8eef4d1d226972f0125f0e2630 > Reviewed-on: https://skia-review.googlesource.com/91702 > Reviewed-by: Mike Reed <reed@google.com> > Commit-Queue: Mike Reed <reed@google.com> TBR=reed@google.com Change-Id: I0d8ad2aa8b38a389048ba8bf5cafafea5788c3e1 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/91343 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* remove unused SkCurveMeasureGravatar Mike Reed2018-01-05
| | | | | | | | Bug: skia: Change-Id: I36eb00883bc17e8eef4d1d226972f0125f0e2630 Reviewed-on: https://skia-review.googlesource.com/91702 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* Revert "allow both slash types"Gravatar Cary Clark2018-01-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 7a600416e131b33610b1c96a367b3cb2569f458e. Reason for revert: <speculative revert; may have broken nanobench> Original change's description: > allow both slash types > > Windows allows forwards and backwards slashes > for path directory delimiters. > > R=​halcanary@google.com > > Change-Id: Ie6f1257c98ac8e2468d9297b5dc391fd17f4ae82 > Reviewed-on: https://skia-review.googlesource.com/90821 > Reviewed-by: Hal Canary <halcanary@google.com> > Commit-Queue: Cary Clark <caryclark@google.com> TBR=halcanary@google.com,bungeman@google.com,caryclark@google.com,caryclark@skia.org Change-Id: If2eefdc6dbf6b7df0280b005cea12aff4b91cf09 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/91401 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* allow both slash typesGravatar Cary Clark2018-01-05
| | | | | | | | | | | | Windows allows forwards and backwards slashes for path directory delimiters. R=halcanary@google.com Change-Id: Ie6f1257c98ac8e2468d9297b5dc391fd17f4ae82 Reviewed-on: https://skia-review.googlesource.com/90821 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* SkFloatToDecimal moved to src/utilsGravatar Hal Canary2018-01-03
| | | | | | | | | This change stages SkFloatToDecimal() for possible re-use by pdfium. Change-Id: Iedc0c78c8a633f0b0973365d2d8b540b5443590d Reviewed-on: https://skia-review.googlesource.com/90400 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Cary Clark <caryclark@google.com>
* remove unused declarationsGravatar Mike Reed2018-01-03
| | | | | | | | Bug: skia: Change-Id: If8ca5e3d649dab3cf8b2bdb1cf072ff23cea9465 Reviewed-on: https://skia-review.googlesource.com/90026 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* handle closed dashed rectsGravatar Cary Clark2017-12-22
| | | | | | | | | | | | | | | If a closed rect is dashed, the dash continues around the initial join if the dash is 'on' when the rect starts and stops. For the cull path case, add a tiny right angle at the location of the initial join if needed. R=reed@google.com Bug: skia:7311 Change-Id: Id60b8e84b3a5fd6cde1b638dbaacdad57eba7f01 Reviewed-on: https://skia-review.googlesource.com/88201 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Cary Clark <caryclark@skia.org>
* Revert "Revert "long rect dash fix with guards""Gravatar Greg Daniel2017-12-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit fa6b6c2d1b613faf72071b99f4b404fa4ee5e076. Reason for revert: Looks like this was actually caused by another change but happen to fail a test that looked very related to this Original change's description: > Revert "long rect dash fix with guards" > > This reverts commit 93ceab1b59f06c828cf62aa6a700e7f81620f23d. > > Reason for revert: breaking layout test > > Original change's description: > > long rect dash fix with guards > > > > long rect dash with guards > > > > check dash fix back in with > > guards against changing > > chrome layout test results > > > > original change clipped against wrong rectangle > > some of the time, causing tiled drawing to fail. > > Always clip against outset rectangle. > > > > original CL: skia-review.googlesource.com/c/skia/+/84862 > > > > efficiently dash very large rectangles and very long lines > > Speed up dashing when lines and rects are absurdly large. > > > > Prior to this CL, only horizontal lines were detected. > > > > Also folded in a change to handle dashing of zero length lines. > > > > TBR=egdaniel@google.com > > Bug: skia:7311 > > Change-Id: Ic3c68ec8ea35d0597c892c3b26ba7bb077045990 > > Reviewed-on: https://skia-review.googlesource.com/87768 > > Reviewed-by: Cary Clark <caryclark@skia.org> > > Commit-Queue: Cary Clark <caryclark@skia.org> > > TBR=egdaniel@google.com,caryclark@skia.org > > Change-Id: I56ef771ccb281887d7381c2bd8a2553acbd30621 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: skia:7311 > Reviewed-on: https://skia-review.googlesource.com/88421 > Reviewed-by: Greg Daniel <egdaniel@google.com> > Commit-Queue: Greg Daniel <egdaniel@google.com> TBR=egdaniel@google.com,caryclark@skia.org Change-Id: Iecdd072544e6623bc4de8d5aab1402378112512d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7311 Reviewed-on: https://skia-review.googlesource.com/88424 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* Revert "long rect dash fix with guards"Gravatar Greg Daniel2017-12-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 93ceab1b59f06c828cf62aa6a700e7f81620f23d. Reason for revert: breaking layout test Original change's description: > long rect dash fix with guards > > long rect dash with guards > > check dash fix back in with > guards against changing > chrome layout test results > > original change clipped against wrong rectangle > some of the time, causing tiled drawing to fail. > Always clip against outset rectangle. > > original CL: skia-review.googlesource.com/c/skia/+/84862 > > efficiently dash very large rectangles and very long lines > Speed up dashing when lines and rects are absurdly large. > > Prior to this CL, only horizontal lines were detected. > > Also folded in a change to handle dashing of zero length lines. > > TBR=egdaniel@google.com > Bug: skia:7311 > Change-Id: Ic3c68ec8ea35d0597c892c3b26ba7bb077045990 > Reviewed-on: https://skia-review.googlesource.com/87768 > Reviewed-by: Cary Clark <caryclark@skia.org> > Commit-Queue: Cary Clark <caryclark@skia.org> TBR=egdaniel@google.com,caryclark@skia.org Change-Id: I56ef771ccb281887d7381c2bd8a2553acbd30621 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7311 Reviewed-on: https://skia-review.googlesource.com/88421 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Greg Daniel <egdaniel@google.com>
* add serialprocs to MultiDocument, hide redundant methodsGravatar Mike Reed2017-12-21
| | | | | | | | | Bug: skia: Change-Id: I6521e93af79439bd8c1d2f5130a68492044a2ee9 Reviewed-on: https://skia-review.googlesource.com/87788 Reviewed-by: Wei Li <weili@chromium.org> Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Mike Reed <reed@google.com>
* long rect dash fix with guardsGravatar Cary Clark2017-12-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | long rect dash with guards check dash fix back in with guards against changing chrome layout test results original change clipped against wrong rectangle some of the time, causing tiled drawing to fail. Always clip against outset rectangle. original CL: skia-review.googlesource.com/c/skia/+/84862 efficiently dash very large rectangles and very long lines Speed up dashing when lines and rects are absurdly large. Prior to this CL, only horizontal lines were detected. Also folded in a change to handle dashing of zero length lines. TBR=egdaniel@google.com Bug: skia:7311 Change-Id: Ic3c68ec8ea35d0597c892c3b26ba7bb077045990 Reviewed-on: https://skia-review.googlesource.com/87768 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@skia.org>
* Revert "long rect dash with guards"Gravatar Cary Clark2017-12-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4ad0c592ce830f17ff07052f20392caa700e9a53. Reason for revert: test fails in tiled case Original change's description: > long rect dash with guards > > check dash fix back in with > guards against changing > chrome layout test results > > original CL: skia-review.googlesource.com/c/skia/+/84862 > > efficiently dash very large rectangles and very long lines > Speed up dashing when lines and rects are absurdly large. > > Prior to this CL, only horizontal lines were detected. > > Also folded in a change to handle dashing of zero length lines. > > TBR=egdaniel@google.com > Bug: skia:7311 > Change-Id: I139b10f676e7ae06ad83aaf2a35d49cf06280a67 > Reviewed-on: https://skia-review.googlesource.com/87760 > Commit-Queue: Cary Clark <caryclark@skia.org> > Reviewed-by: Cary Clark <caryclark@skia.org> TBR=egdaniel@google.com,caryclark@skia.org Change-Id: Ifd35ddf395826a55c72e650470527d01740b6438 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7311 Reviewed-on: https://skia-review.googlesource.com/87841 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* long rect dash with guardsGravatar Cary Clark2017-12-20
| | | | | | | | | | | | | | | | | | | | | | check dash fix back in with guards against changing chrome layout test results original CL: skia-review.googlesource.com/c/skia/+/84862 efficiently dash very large rectangles and very long lines Speed up dashing when lines and rects are absurdly large. Prior to this CL, only horizontal lines were detected. Also folded in a change to handle dashing of zero length lines. TBR=egdaniel@google.com Bug: skia:7311 Change-Id: I139b10f676e7ae06ad83aaf2a35d49cf06280a67 Reviewed-on: https://skia-review.googlesource.com/87760 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Cary Clark <caryclark@skia.org>
* Revert "efficiently dash very large rectangles and very long lines"Gravatar Cary Clark2017-12-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 1ad81981b0027e96ef0cecd78661ab2c22bdc4aa. Reason for revert: broke chrome layout tests Original change's description: > efficiently dash very large rectangles and very long lines > > Speed up dashing when lines and rects are absurdly large. > > Prior to this CL, only horizontal lines were detected. > > The onOnceBeforeDraw changes are there to make debugging easier. > > Also folded in a change to handle dashing of zero length lines. > > R=​reed@google.com, egdaniel@google.com > Bug: skia:7311 > Change-Id: Ia16fb124c7a78a5cc639e612fae29c879a37da1a > Reviewed-on: https://skia-review.googlesource.com/84862 > Commit-Queue: Cary Clark <caryclark@skia.org> > Reviewed-by: Mike Reed <reed@google.com> TBR=egdaniel@google.com,reed@google.com,caryclark@skia.org Change-Id: I5e8f04c54486f8cd1a931f6cade92feaaa4a7647 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7311 Reviewed-on: https://skia-review.googlesource.com/87282 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* Fix alpha contribution to tonal color.Gravatar Jim Van Verth2017-12-19
| | | | | | | | | | | Also adds a tonal color GM, a grayscale mode to shadowutils GM, and animated alpha to SampleAndroidShadows. Bug: skia: Change-Id: I1dcb5cab7e53ffa7a3bf1a07b6ebfed38df1a9ed Reviewed-on: https://skia-review.googlesource.com/85002 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* efficiently dash very large rectangles and very long linesGravatar Cary Clark2017-12-19
| | | | | | | | | | | | | | | | | Speed up dashing when lines and rects are absurdly large. Prior to this CL, only horizontal lines were detected. The onOnceBeforeDraw changes are there to make debugging easier. Also folded in a change to handle dashing of zero length lines. R=reed@google.com, egdaniel@google.com Bug: skia:7311 Change-Id: Ia16fb124c7a78a5cc639e612fae29c879a37da1a Reviewed-on: https://skia-review.googlesource.com/84862 Commit-Queue: Cary Clark <caryclark@skia.org> Reviewed-by: Mike Reed <reed@google.com>
* fix zero length dashed linesGravatar Cary Clark2017-12-15
| | | | | | | | | | | | targeted fix turns zero length line into very short line. R=egdaniel@google.com Bug: skia:7387 Change-Id: Ic2a809d30d722f4e8f51d9205666dc1476a10067 Reviewed-on: https://skia-review.googlesource.com/84661 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* Push much of the SkColorSpace_Base interface up to SkColorSpaceGravatar Brian Osman2017-12-12
| | | | | | | | | | | Some pieces still remain, but the next step looks less mechanical, so I wanted to land this piece independently. Bug: skia: Change-Id: Ie63afcfa08af2f6e4996911fa2225c43441dbfb2 Reviewed-on: https://skia-review.googlesource.com/84120 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com>