aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/utils
Commit message (Collapse)AuthorAge
* SkUTFGravatar Hal Canary2018-07-31
| | | | | | | | | | | | | | | | | | | | | Create new header and namespace, `SkUTF` where we are putting all of our robust, well documented UTF-8, UTF-16, and UTF-32 functions: `SkUTF::{Count,Next,To}UTF{8,16,32}()`. SkUTF.h and SkUTF.cpp do not depend on the rest of Skia and are suitable for re-use in other modules. Some of the old UTF-{8,16} functions still live in SkUtils.h; their use will be phased out in future CLs. Also added more unit testing and cleaned up old tests. Removed functions that were unused outside of tests or used only once. Change-Id: Iaa59b8705abccf9c4ba082f855da368a0bad8380 Reviewed-on: https://skia-review.googlesource.com/143306 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* add explicit accessor for sRGB singleton colorspacesGravatar Mike Klein2018-07-25
| | | | | | | | | | | | | | SkColorSpace::MakeSRGB().get() is scary, and causes more ref/unref pairs than strictly necessary for these singletons. This time the implementation is still in SkColorSpace.cpp, so these should really work as singletons. Change-Id: I40f2942c8dcde3040663a04c4f5330aca90868ae Reviewed-on: https://skia-review.googlesource.com/143305 Auto-Submit: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Some more SkPolyUtils optimizations and clean up.Gravatar Jim Van Verth2018-07-24
| | | | | | | | Bug: skia: Change-Id: I7c03d8fd9557102a95fa3e784ad1d0ca1ee89786 Reviewed-on: https://skia-review.googlesource.com/142328 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Restrict radial step countGravatar Jim Van Verth2018-07-23
| | | | | | | | | | Bug: skia:8164 Change-Id: I180f3c097b76f89ce57b780eaf28fb3db2759831 Reviewed-on: https://skia-review.googlesource.com/142895 Commit-Queue: Jim Van Verth <jvanverth@google.com> Commit-Queue: Ben Wagner <bungeman@google.com> Auto-Submit: Jim Van Verth <jvanverth@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* Reland "Reland "Add some optimizations to PolyUtils""Gravatar Jim Van Verth2018-07-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of 946c37057f2618af7eda34fd6d2dd8625a9e9b61 Original change's description: > Reland "Add some optimizations to PolyUtils" > > This is a reland of 8bb0db3d07450880d346d808018708416c928657 > > Original change's description: > > Add some optimizations to PolyUtils > > > > * Switch inset/offset code to use a linked list rather than an array > > * Use std::set to store active edge list for IsSimplePolygon rather than array > > * Pre-alloc the priority queue for IsSimplePolygon > > * When adding radial curves, expand the array all at once rather than pushing > > one at a time. > > > > Bug: skia: > > Change-Id: I692f8c29c500c41ec1d1be39d924d8a752676bf4 > > Reviewed-on: https://skia-review.googlesource.com/140787 > > Reviewed-by: Robert Phillips <robertphillips@google.com> > > Commit-Queue: Jim Van Verth <jvanverth@google.com> > > Bug: skia: > Change-Id: I3f5d42cfb941deab2b28bed020b37ce199e91d3d > Reviewed-on: https://skia-review.googlesource.com/142200 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Jim Van Verth <jvanverth@google.com> Bug: skia: Change-Id: I598d4be9108d009d0f885cfa72bf9197fc286b3a Reviewed-on: https://skia-review.googlesource.com/142920 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Undef the right macro in SkDWriteNTDDI_VERSION.hGravatar Ben Wagner2018-07-19
| | | | | | | | | | | Do not trust copy-paste while sitting in a car. Change-Id: I66607144d97d2efac309b413ee4a58babe327ccd Reviewed-on: https://skia-review.googlesource.com/142593 Commit-Queue: Ben Wagner <bungeman@google.com> Commit-Queue: Herb Derby <herb@google.com> Auto-Submit: Ben Wagner <bungeman@google.com> Reviewed-by: Herb Derby <herb@google.com>
* Ignore NTDDI_VERSION with DirectWrite.Gravatar Ben Wagner2018-07-19
| | | | | | | | | | | | | | | | | | | | | | Some builds set NTDDI_VERSION to a very old version of Windows to ensure they run on those older versions of Windows. The dwrite_3.h header uses NTDDI_VERSION in an odd manner, hiding immutable declarations of enums, structs, and interfaces. NTDDI_VERSION was indended to hide functions and extensions to structs. DWrite has one function (to create the factory) and no structs which will be extended. Skia is already tested to run on the oldest supported Windows platform (Windows 7), so an external build building Skia with NTDDI_VERSION as a build define should have no issues at runtime if Skia ignores it. If Skia doesn't ignore NTDDI_VERSION in this case the DWrite backend will be runtime limited to interfaces in very old versions of Windows, instead of using newer interfaces which become available at runtime. Change-Id: I3e9ac2c4116d75588bfff391928d3cd446d6363a Reviewed-on: https://skia-review.googlesource.com/142324 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Herb Derby <herb@google.com>
* Revert "Reland "Add some optimizations to PolyUtils""Gravatar Ben Wagner2018-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 946c37057f2618af7eda34fd6d2dd8625a9e9b61. Reason for revert: strict weak ordering: ((__x LT __y) && (__y LT __x)) != false Original change's description: > Reland "Add some optimizations to PolyUtils" > > This is a reland of 8bb0db3d07450880d346d808018708416c928657 > > Original change's description: > > Add some optimizations to PolyUtils > > > > * Switch inset/offset code to use a linked list rather than an array > > * Use std::set to store active edge list for IsSimplePolygon rather than array > > * Pre-alloc the priority queue for IsSimplePolygon > > * When adding radial curves, expand the array all at once rather than pushing > > one at a time. > > > > Bug: skia: > > Change-Id: I692f8c29c500c41ec1d1be39d924d8a752676bf4 > > Reviewed-on: https://skia-review.googlesource.com/140787 > > Reviewed-by: Robert Phillips <robertphillips@google.com> > > Commit-Queue: Jim Van Verth <jvanverth@google.com> > > Bug: skia: > Change-Id: I3f5d42cfb941deab2b28bed020b37ce199e91d3d > Reviewed-on: https://skia-review.googlesource.com/142200 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Jim Van Verth <jvanverth@google.com> TBR=jvanverth@google.com,bsalomon@google.com,robertphillips@google.com Change-Id: Ie8cdf2375613c51dedaf0d11125d6d22d88821df No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/142281 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Reland "Add some optimizations to PolyUtils"Gravatar Jim Van Verth2018-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | This is a reland of 8bb0db3d07450880d346d808018708416c928657 Original change's description: > Add some optimizations to PolyUtils > > * Switch inset/offset code to use a linked list rather than an array > * Use std::set to store active edge list for IsSimplePolygon rather than array > * Pre-alloc the priority queue for IsSimplePolygon > * When adding radial curves, expand the array all at once rather than pushing > one at a time. > > Bug: skia: > Change-Id: I692f8c29c500c41ec1d1be39d924d8a752676bf4 > Reviewed-on: https://skia-review.googlesource.com/140787 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Jim Van Verth <jvanverth@google.com> Bug: skia: Change-Id: I3f5d42cfb941deab2b28bed020b37ce199e91d3d Reviewed-on: https://skia-review.googlesource.com/142200 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Reland "SkDEBUGF: use __VA_ARGS__"Gravatar Hal Canary2018-07-18
| | | | | | | | | | | | | | | | | This is a reland of 2267a092356d17f6444502dc92491485ccf24341 Original change's description: > SkDEBUGF: use __VA_ARGS__ > > Change-Id: I42a47e821ff7a7f6cec65b38a8216cabbf0acfce > Reviewed-on: https://skia-review.googlesource.com/139860 > Reviewed-by: Mike Klein <mtklein@google.com> > Commit-Queue: Hal Canary <halcanary@google.com> Change-Id: Ia06567e441a414f4dcdbe5663160082f889f9fef Reviewed-on: https://skia-review.googlesource.com/141762 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Move SkNoncopyable to include/private.Gravatar Ben Wagner2018-07-17
| | | | | | | Change-Id: I62f60ea52faeebddecacf03d9429ac3f7c516b8e Reviewed-on: https://skia-review.googlesource.com/141823 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* Revert "Add some optimizations to PolyUtils"Gravatar Jim Van Verth2018-07-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8bb0db3d07450880d346d808018708416c928657. Reason for revert: Breaking Google3. Original change's description: > Add some optimizations to PolyUtils > > * Switch inset/offset code to use a linked list rather than an array > * Use std::set to store active edge list for IsSimplePolygon rather than array > * Pre-alloc the priority queue for IsSimplePolygon > * When adding radial curves, expand the array all at once rather than pushing > one at a time. > > Bug: skia: > Change-Id: I692f8c29c500c41ec1d1be39d924d8a752676bf4 > Reviewed-on: https://skia-review.googlesource.com/140787 > Reviewed-by: Robert Phillips <robertphillips@google.com> > Commit-Queue: Jim Van Verth <jvanverth@google.com> TBR=jvanverth@google.com,bsalomon@google.com,robertphillips@google.com Change-Id: Ie8afecd899fa9bd79d22fdf46ec82a0c9e94e893 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia: Reviewed-on: https://skia-review.googlesource.com/141980 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Add some optimizations to PolyUtilsGravatar Jim Van Verth2018-07-17
| | | | | | | | | | | | | | * Switch inset/offset code to use a linked list rather than an array * Use std::set to store active edge list for IsSimplePolygon rather than array * Pre-alloc the priority queue for IsSimplePolygon * When adding radial curves, expand the array all at once rather than pushing one at a time. Bug: skia: Change-Id: I692f8c29c500c41ec1d1be39d924d8a752676bf4 Reviewed-on: https://skia-review.googlesource.com/140787 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Remove SkSafeSetNull.Gravatar Ben Wagner2018-07-12
| | | | | | | | | Update all users to sk_sp. Change-Id: I6453b9456b9a8f9e2b756381797f1382ef9e6561 Reviewed-on: https://skia-review.googlesource.com/141052 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Herb Derby <herb@google.com>
* Remove SkDrawFilter.Gravatar Ben Wagner2018-07-12
| | | | | | | | | Change-Id: I0204a9522e828c87bb7c6c20ae34ce51161442af Reviewed-on: https://skia-review.googlesource.com/137895 Reviewed-by: Herb Derby <herb@google.com> Reviewed-by: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* Whitespace FixupGravatar Hal Canary2018-07-11
| | | | | | | | Change-Id: I6c4c4b43dfa6b59832c63f8fcf43192b4973d88b Reviewed-on: https://skia-review.googlesource.com/140565 Commit-Queue: Mike Klein <mtklein@google.com> Auto-Submit: Hal Canary <halcanary@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* Add more tests for PolyUtilsGravatar Jim Van Verth2018-07-11
| | | | | | | | | | | | | | * Add fuzzer * Add bench tests * Add additional unit test * Fix some bugs these exposed. Bug: skia: Change-Id: I6c587c92cb6cff32ab8300020b78f9f247d2bf64 Reviewed-on: https://skia-review.googlesource.com/139169 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Revert "SkDEBUGF: use __VA_ARGS__"Gravatar Robert Phillips2018-07-11
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 2267a092356d17f6444502dc92491485ccf24341. Reason for revert: It looks like Google 3 is failing to compile w/ this CL Original change's description: > SkDEBUGF: use __VA_ARGS__ > > Change-Id: I42a47e821ff7a7f6cec65b38a8216cabbf0acfce > Reviewed-on: https://skia-review.googlesource.com/139860 > Reviewed-by: Mike Klein <mtklein@google.com> > Commit-Queue: Hal Canary <halcanary@google.com> TBR=mtklein@google.com,halcanary@google.com,reed@google.com Change-Id: I3aab490f3d2fea103fc915ca01cb0e294df86739 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://skia-review.googlesource.com/140660 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
* SkDEBUGF: use __VA_ARGS__Gravatar Hal Canary2018-07-11
| | | | | | | Change-Id: I42a47e821ff7a7f6cec65b38a8216cabbf0acfce Reviewed-on: https://skia-review.googlesource.com/139860 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Interpolate patch vertices in destination color spaceGravatar Brian Osman2018-07-09
| | | | | | | Change-Id: I4e1403eb63370f5e61283ed4a504fb352368adc0 Reviewed-on: https://skia-review.googlesource.com/139862 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Add some new PolyUtils tests.Gravatar Jim Van Verth2018-07-03
| | | | | | | | | | | | | Also: * clean up PolyUtils checks to be correct and consistent. * fix some bugs discovered by the unit tests. Bug: skia: Change-Id: I1a8e07d13cb44fecc67344154dc1002f3f910f5d Reviewed-on: https://skia-review.googlesource.com/138592 Reviewed-by: Robert Phillips <robertphillips@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* skeletal animation support added to API and software backendGravatar Ruiqi Mao2018-06-29
| | | | | | | | | | | | SkCanvas::drawVertices now supports overloads that take an array of bone deformation matrices. SkVertices::MakeCopy and SkVertices::Builder now support two additional optional attributes, boneIndices and boneWeights. Bug: skia: Change-Id: I30a3b11691e7cdb13924907cc1401ff86d127aea Reviewed-on: https://skia-review.googlesource.com/137221 Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Ruiqi Mao <ruiqimao@google.com>
* Add ear-clipping code to triangulate simple polygons.Gravatar Jim Van Verth2018-06-29
| | | | | | | | | | Use this to fill concave shadows. Bug: skia:7971 Change-Id: I63dc1ed845f9fa3fcd86f1ad13b03da23cae0313 Reviewed-on: https://skia-review.googlesource.com/135200 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Fix some shadow issues.Gravatar Jim Van Verth2018-06-26
| | | | | | | | | | | | | | | | * Clamp path polygon points to nearest 1/16th of a pixel to help with floating point issues. * Added check for multiple contour paths. * Return empty SkVertices for certain degenerate cases to avoid unnecessary blurs. * Check iteration count in SkOffsetPolygon to avoid infinite loops. * Add new tests to verify these. Bug: skia: Change-Id: Ie6ad48d2504e065dcc822609d369f90c56ef3ad3 Reviewed-on: https://skia-review.googlesource.com/136701 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* [skjson] Remove the scope index stackGravatar Florin Malita2018-06-20
| | | | | | | | | | | | We already allocate a placeholder on the values stack -- we can use that space to save the previous scope index instead of a dedicated stack. Yields some minor perf improvements: ~3.5% arm32, ~0.5% x86_64. Change-Id: I1be30aeb01b1c9661abfe06763a820673e3883f4 Reviewed-on: https://skia-review.googlesource.com/136178 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Limit iterations when computing convex inset.Gravatar Jim Van Verth2018-06-19
| | | | | | | | | | | | | In the worst case we should compare each vertex in the polygon to the others just once, so we should have at worst n^2 iterations. Bug: skia:8079 Change-Id: Ic22064e86d6eb08d9165b2feb5050701ec8e9639 Reviewed-on: https://skia-review.googlesource.com/135865 Auto-Submit: Jim Van Verth <jvanverth@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com>
* SkAR: drawing text, shapes, rotation modes enabled, translating objectsGravatar ziadb2018-06-19
| | | | | | | | | | | | | | To run this app, you need to create an out directory as such: bin/gn gen out/arm64 --args='ndk="NDK_PATH" target_cpu="ABI"' For now, the only supported ABI is arm64 Change-Id: I012f0c6a0550d80a0028f42177d5ca72974d848d Bug: skia: Reviewed-on: https://skia-review.googlesource.com/130980 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Ziad Ben Hadj-Alouane <ziadb@google.com>
* Fold SkJSON into Skia/utilsGravatar Florin Malita2018-06-19
| | | | | | | | | | | It's a tiny, core-ish component -- might as well treat as such to simplify dependencies. Change-Id: I6f31ce2d151f9a629d88bfc7f15d64891d5150c0 Reviewed-on: https://skia-review.googlesource.com/135780 Reviewed-by: Mike Klein <mtklein@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* Stop using SkTSwap.Gravatar Ben Wagner2018-06-19
| | | | | | | | | | | | | Use std::swap instead. It does not appear that any external user specializes SkTSwap, but some may still use it. This removes all use in Skia so that SkTSwap can later be removed in a smaller CL. After that the <utility> include can be removed from SkTypes.h. Change-Id: If03d4ee07dbecda961aa9f0dc34d171ef5168753 Reviewed-on: https://skia-review.googlesource.com/135578 Reviewed-by: Hal Canary <halcanary@google.com> Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Ben Wagner <bungeman@google.com>
* remove SkTCastGravatar Mike Klein2018-06-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | SkTCast is functionally equivalent to reinterpret_cast. The comment about SkTCast helping to avoid strict alising issues is not true. Dereferencing a pointer cast to a pointer of an unrelated type is always undefined, even if smuggled through a union like in SkTCast. To really avoid aliasing issues, you need to make a union[1] of the two value types, or better, memcpy between values. I've had to fix MatrixText.cpp where switching to reinterpret_cast actually let Clang notice and warn that we're exploiting undefined behavior, and GrSwizzle.h and SkCamera.cpp caught by GCC. I've switched SkTLList over to use SkAlignedSTStorage, which seems to help convince some GCC versions that fObj is used in a sound way. [1] The union punning trick is non-standard in C++, but GCC and MSVC both explicitly support it. I believe Clang does not officially explicitly support it, but probably does quietly for GCC compatibility. Change-Id: I71822e82c962f9aaac8be24d3c0f39f4f8b05026 Reviewed-on: https://skia-review.googlesource.com/134947 Commit-Queue: Mike Klein <mtklein@chromium.org> Commit-Queue: Brian Salomon <bsalomon@google.com> Auto-Submit: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Implement tilted concave ambient shadowGravatar Jim Van Verth2018-06-14
| | | | | | | | Bug: skia:7971 Change-Id: I6a92a5021f53ae10fb35ef355081653e96bc04b0 Reviewed-on: https://skia-review.googlesource.com/134844 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert "Revert "SkTypes: extract SkTo""Gravatar Hal Canary2018-06-14
| | | | | | | | | | | | | | | | This reverts commit fdcfb8b7c23fbf18f872d2c31d27978235033876. > Original change's description: > > SkTypes: extract SkTo > > > > Change-Id: I8de790d5013db2105ad885fa2683303d7c250b09 > > Reviewed-on: https://skia-review.googlesource.com/133620 > > Reviewed-by: Mike Klein <mtklein@google.com> Change-Id: Ida74fbc5c21248a724a5edbf9fae18a33bcb23aa Reviewed-on: https://skia-review.googlesource.com/134506 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* Add variable offset supportGravatar Jim Van Verth2018-06-14
| | | | | | | | Bug: skia:7970 Change-Id: I9dadf75f21e19ebe26f82643bcc47dd5794d8970 Reviewed-on: https://skia-review.googlesource.com/134421 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Add outline concave shadow supportGravatar Jim Van Verth2018-06-14
| | | | | | | | Bug: skia:7971 Change-Id: I97370b9c942c5e5f1e53ec15524bd2d20794d68c Reviewed-on: https://skia-review.googlesource.com/134328 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Revert "SkTypes: extract SkTo"Gravatar Hal Canary2018-06-13
| | | | | | | | | | | | | | | | | | | | | | | This reverts commit 2a2f67592602b18527bc3fd449132d420cd5b62e. Reason for revert: this appears to be what is holding up the Chrome roll. Original change's description: > SkTypes: extract SkTo > > Change-Id: I8de790d5013db2105ad885fa2683303d7c250b09 > Reviewed-on: https://skia-review.googlesource.com/133620 > Reviewed-by: Mike Klein <mtklein@google.com> TBR=mtklein@google.com,halcanary@google.com No-Presubmit: true No-Tree-Checks: true No-Try: true Change-Id: Iafd738aedfb679a23c061a51afe4b98a8d4cdfae Reviewed-on: https://skia-review.googlesource.com/134504 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* SkTypes: more into SkMacrosGravatar Hal Canary2018-06-12
| | | | | | | | Change-Id: I4c9a2d81a1bc4ccebc78eea56c0de116b98d415e Reviewed-on: https://skia-review.googlesource.com/134330 Commit-Queue: Hal Canary <halcanary@google.com> Auto-Submit: Hal Canary <halcanary@google.com> Reviewed-by: Ben Wagner <bungeman@google.com>
* SkTypes: extract SkToGravatar Hal Canary2018-06-12
| | | | | | Change-Id: I8de790d5013db2105ad885fa2683303d7c250b09 Reviewed-on: https://skia-review.googlesource.com/133620 Reviewed-by: Mike Klein <mtklein@google.com>
* More shadow tessellation cleanup.Gravatar Jim Van Verth2018-06-12
| | | | | | | | | | | | This change removes a lot of the unnecessary code that managed coincident and collinear vertices and set the winding direction. It also merges duplicate code when adding edges. Bug: skia:7971 Change-Id: I0397db93c1075e332c5aeb9ca0343bcbd9bb70eb Reviewed-on: https://skia-review.googlesource.com/133580 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* trim #include <new> from SkPostConfig.hGravatar Mike Klein2018-06-11
| | | | | | | Change-Id: I693ddcd4ade101ba4eb4102e03adce183aa1d672 Reviewed-on: https://skia-review.googlesource.com/133829 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* remove unused parts of SkTypes.hGravatar Mike Klein2018-06-08
| | | | | | | | | | | | | | | Lots of completely unused bits and bobs removed. I've decided SK_SUPPORT_UNITTEST and its single use are not very compelling. tests/CPlusPlusEleven was the only user of Sk32ToBool(), and no longer generally needed. Change-Id: I3ee75560f1e1e1cf5ad89ee7df8d7694b5dffdb3 Reviewed-on: https://skia-review.googlesource.com/133622 Commit-Queue: Mike Klein <mtklein@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
* rebaseGravatar Cary Clark2018-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 32a4910e57b1fdd3c8671de1ee85e05ca21d079f. Reason for revert: SkMatrix::toString use has been removed from flutter and has been picked up in fuchsia Additionally some bookmaker changes take into account recent additions of typedef comments and the generated header comment. Original change's description: > Revert "remove toString" > > This reverts commit 5191880cbf3ee4d122b0d11b4945fbab0784fda7. > > Reason for revert: broke flutter > > Original change's description: > > remove toString > > > > toString may have been used by obsolete debugger only > > find out if that is so > > > > R=​brianosman@google.com,bsalomon@google.com > > > > Docs-Preview: https://skia.org/?cl=119894 > > Bug:830651 > > Change-Id: I737f19b7d3fbc869bea2f443fa3b5ed7c1393ffd > > Reviewed-on: https://skia-review.googlesource.com/119894 > > Commit-Queue: Cary Clark <caryclark@google.com> > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > TBR=bsalomon@google.com,brianosman@google.com,caryclark@google.com,caryclark@skia.org > > Change-Id: I9f81de6c3615ee0608bcea9081b77239b4b8816c TBR=bsalomon@google.com,brianosman@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Reviewed-on: https://skia-review.googlesource.com/129623 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@google.com> Docs-Preview: https://skia.org/?cl=133583 Bug: 830651 Change-Id: If8499e796be63580ad419e150e94d43e8b89de1b Reviewed-on: https://skia-review.googlesource.com/133583 Commit-Queue: Cary Clark <caryclark@skia.org> Auto-Submit: Cary Clark <caryclark@skia.org>
* Consolidate ambient and spot code setup.Gravatar Jim Van Verth2018-06-05
| | | | | | | | | | | | Uses shared code to create a polygon version of the path, as well as computing the centroid and determining convexity. This makes things more consistent and sets up for creating concave ambient shadows. Bug: skia:7971 Change-Id: I3f36a423431361177ad9f53218b3ff0fdaa179e1 Reviewed-on: https://skia-review.googlesource.com/131585 Commit-Queue: Jim Van Verth <jvanverth@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Avoid divide-by-zero in shadow codeGravatar Jim Van Verth2018-06-01
| | | | | | | | Bug: oss-fuzz:6728 Change-Id: Id87140c8ee3b4e438c0c1e7d9b108a40e2a65fbe Reviewed-on: https://skia-review.googlesource.com/131145 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* SkFloatToDecimal: optimize the less common cases.Gravatar Hal Canary2018-05-31
| | | | | | | | | | bench PDFScalar_random goes from 120 ns to 70 ns. Change-Id: I6254f5c900395ee470ffee26303915025a8f0dda Reviewed-on: https://skia-review.googlesource.com/131151 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Ben Wagner <bungeman@google.com> Auto-Submit: Hal Canary <halcanary@google.com>
* Revert "Reland "remove toString""Gravatar Cary Clark2018-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 92e37b6d79f12ccfaaf7671413316952d182267d. Reason for revert: toString still used by flutter Original change's description: > Reland "remove toString" > > This reverts commit 32a4910e57b1fdd3c8671de1ee85e05ca21d079f. > > Reason for revert: SkMatrix::toString use has been removed from flutter and has been picked up in fuchsia > > Original change's description: > > Revert "remove toString" > > > > This reverts commit 5191880cbf3ee4d122b0d11b4945fbab0784fda7. > > > > Reason for revert: broke flutter > > > > Original change's description: > > > remove toString > > > > > > toString may have been used by obsolete debugger only > > > find out if that is so > > > > > > R=​brianosman@google.com,bsalomon@google.com > > > > > > Docs-Preview: https://skia.org/?cl=119894 > > > Bug:830651 > > > Change-Id: I737f19b7d3fbc869bea2f443fa3b5ed7c1393ffd > > > Reviewed-on: https://skia-review.googlesource.com/119894 > > > Commit-Queue: Cary Clark <caryclark@google.com> > > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > > > TBR=bsalomon@google.com,brianosman@google.com,caryclark@google.com,caryclark@skia.org > > > > Change-Id: I9f81de6c3615ee0608bcea9081b77239b4b8816c > > No-Presubmit: true > > No-Tree-Checks: true > > No-Try: true > > Bug: 830651 > > Reviewed-on: https://skia-review.googlesource.com/129340 > > Reviewed-by: Cary Clark <caryclark@google.com> > > Commit-Queue: Cary Clark <caryclark@google.com> > > TBR=bsalomon@google.com,brianosman@google.com,caryclark@google.com,caryclark@skia.org > > # Not skipping CQ checks because original CL landed > 1 day ago. > > Bug: 830651 > Change-Id: Ida8725b6051132d8c46faf99358a8fcc1bcabf34 > Reviewed-on: https://skia-review.googlesource.com/129623 > Reviewed-by: Cary Clark <caryclark@skia.org> > Reviewed-by: Cary Clark <caryclark@google.com> > Commit-Queue: Cary Clark <caryclark@google.com> TBR=bsalomon@google.com,brianosman@google.com,caryclark@google.com,caryclark@skia.org Change-Id: Iafc59ffc1b3db67c520ba31bf12d68e1b46c0ea2 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 830651 Reviewed-on: https://skia-review.googlesource.com/131082 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* Reland "remove toString"Gravatar Cary Clark2018-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 32a4910e57b1fdd3c8671de1ee85e05ca21d079f. Reason for revert: SkMatrix::toString use has been removed from flutter and has been picked up in fuchsia Original change's description: > Revert "remove toString" > > This reverts commit 5191880cbf3ee4d122b0d11b4945fbab0784fda7. > > Reason for revert: broke flutter > > Original change's description: > > remove toString > > > > toString may have been used by obsolete debugger only > > find out if that is so > > > > R=​brianosman@google.com,bsalomon@google.com > > > > Docs-Preview: https://skia.org/?cl=119894 > > Bug:830651 > > Change-Id: I737f19b7d3fbc869bea2f443fa3b5ed7c1393ffd > > Reviewed-on: https://skia-review.googlesource.com/119894 > > Commit-Queue: Cary Clark <caryclark@google.com> > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > TBR=bsalomon@google.com,brianosman@google.com,caryclark@google.com,caryclark@skia.org > > Change-Id: I9f81de6c3615ee0608bcea9081b77239b4b8816c > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: 830651 > Reviewed-on: https://skia-review.googlesource.com/129340 > Reviewed-by: Cary Clark <caryclark@google.com> > Commit-Queue: Cary Clark <caryclark@google.com> TBR=bsalomon@google.com,brianosman@google.com,caryclark@google.com,caryclark@skia.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 830651 Change-Id: Ida8725b6051132d8c46faf99358a8fcc1bcabf34 Reviewed-on: https://skia-review.googlesource.com/129623 Reviewed-by: Cary Clark <caryclark@skia.org> Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* 3dGravatar Mike Reed2018-05-30
| | | | | | | | | Bug: skia: Change-Id: I10e56f08a2463fcac2b7813d43d0aae35268ac27 Reviewed-on: https://skia-review.googlesource.com/130842 Commit-Queue: Brian Salomon <bsalomon@google.com> Auto-Submit: Mike Reed <reed@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Remove SkTextBoxGravatar Herb Derby2018-05-22
| | | | | | | | Change-Id: I697135475fa9c1b7e803500b743f10c3877c1e10 Reviewed-on: https://skia-review.googlesource.com/129560 Reviewed-by: Mike Reed <reed@google.com> Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Herb Derby <herb@google.com>
* remove defines and add commasGravatar Cary Clark2018-05-21
| | | | | | | | | | | | | | | | | | | | | | | | Preparation for generating bookmaker files for all remaining interfaces Standardize enum and enum classes by including a comma after the last entry. Replace flatten-related #define in public interfaces with their equivalent. The motivation is to give documentation something to refer to. An alternative would be to move part or all of this out of the public interface; something I can work on in a follow-up CL. R=reed@google.com,bsalomon@google.com Bug: skia:6898 Change-Id: I4b865f6ec3d8f5d31e50448fef7d2714510302f0 Reviewed-on: https://skia-review.googlesource.com/129312 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Cary Clark <caryclark@skia.org>
* Revert "remove toString"Gravatar Cary Clark2018-05-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 5191880cbf3ee4d122b0d11b4945fbab0784fda7. Reason for revert: broke flutter Original change's description: > remove toString > > toString may have been used by obsolete debugger only > find out if that is so > > R=​brianosman@google.com,bsalomon@google.com > > Docs-Preview: https://skia.org/?cl=119894 > Bug:830651 > Change-Id: I737f19b7d3fbc869bea2f443fa3b5ed7c1393ffd > Reviewed-on: https://skia-review.googlesource.com/119894 > Commit-Queue: Cary Clark <caryclark@google.com> > Reviewed-by: Brian Salomon <bsalomon@google.com> TBR=bsalomon@google.com,brianosman@google.com,caryclark@google.com,caryclark@skia.org Change-Id: I9f81de6c3615ee0608bcea9081b77239b4b8816c No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 830651 Reviewed-on: https://skia-review.googlesource.com/129340 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Cary Clark <caryclark@google.com>