Commit Graph

61 Commits

Author SHA1 Message Date
Kevin Lubick
ef0fee0496 [Skottie] Fallback to portable font manager
The -Lottie bot runs with --nonativeFonts so, for some animations that
request a specific font (e.g. Helvetica), this would fail, but not
fallback to an actual font manager.

This makes sure we at least have some text, even if it's the "wrong"
font.

Bug: skia:8298
Change-Id: Ibce7fda5b0a82fc3a708ab1cf5a7a394484ca89e
Reviewed-on: https://skia-review.googlesource.com/150468
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-08-30 18:09:59 +00:00
Florin Malita
a225a6b631 [skottie] Fix precomp time remapping vs time start/stretch interaction
In the presence of time remapping, time start/stretch values appear to
be ignored.

TBR=
Change-Id: I6a4dcc107f2d0fc6361f91ba4f4643e33da37d93
Reviewed-on: https://skia-review.googlesource.com/149701
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-08-27 20:01:59 +00:00
Florin Malita
9402c7dc37 [skottie] Add support for keyframed text nodes
-- introduce a new animatable value (TextValue)

 -- introduce a new adapter (TextAdapter) to translate Lottie text props to SG text props

 -- use existing animated property-bind machinery and the new constructs when parsing text layers

Change-Id: Ibbfb69daf5b0a3c9a5ce8d1ccdeedca5b5d0fa6f
Reviewed-on: https://skia-review.googlesource.com/149266
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-27 14:37:47 +00:00
Florin Malita
420696961c [skottie] Relax constant keyframe parsing
Constant keyframes currently requiere an "h" property/marker.

In order to support keyframed text parsing, relax this to consider any
keyframe missing an end value as constant.

TBR=
Change-Id: Idf332dc0174ee0ee6773708518a0bbc284f8860f
Reviewed-on: https://skia-review.googlesource.com/149265
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-26 18:40:16 +00:00
Florin Malita
471a946cf1 [skottie] Make AnimationBuilder available for value parsing
Plumb AnimationBuilder throught a bazillion layers to make it reachable
when parsing animatable values.

This is in preparation of keyframed text, which will require access to
the font set when parsing.

Refactor only, no functional changes.

TBR=
Change-Id: Ide2ef2ba66fbcc75fdcc785f987b364d45dff5b6
Reviewed-on: https://skia-review.googlesource.com/149264
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-08-26 00:39:48 +00:00
Florin Malita
4dddad2bf8 [skottie] Guard against missing solid layer color property
Bug: skia:8281
Change-Id: I4a5d5e37d3b1bb0995c20ad138e8e234869ed760
Reviewed-on: https://skia-review.googlesource.com/148999
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-08-23 20:35:11 +00:00
Florin Malita
906cdf3fcd [skottie] Ref-counted ResourceProvider
Update the ResourceProvider interface to inherit from SkRefCnt, to
clarify sharing/ownership semantics in the Skottie Builder API.  Now it
follows the same pattern as SkFontMgr.

Change-Id: I7ff8ad39023d9ecfe609e0180b5aabf776672d48
Reviewed-on: https://skia-review.googlesource.com/148991
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-23 20:04:46 +00:00
Florin Malita
a1c422c1d1 [skottie] Improved text rendering
* enable antialiasing
 * enable subpixel positioning
 * disable hinting

Change-Id: I7e861d9141411f64a9277ff6c3345c107c0868b2
Reviewed-on: https://skia-review.googlesource.com/148980
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2018-08-23 16:41:17 +00:00
Florin Malita
40c37426b3 [skottie] Plumb external SkFontMgr
Allow embedders to pass a font manager.

In order to avoid excessive factory API clutter, introduce an
Animation::Builder helper to wrap factory options.

Also clean up various bits:

  * hoist scene parsing out of the Animation ctor
  * store the animation duration explicitly (instead of unused fps)
  * plumb const SkFontMgr& internally (instead of a ref)

Change-Id: I3e180dfa85ba18c8462cfeb5a7385bef985ed6c4
Reviewed-on: https://skia-review.googlesource.com/148800
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-23 13:13:30 +00:00
Florin Malita
1b1dead00d [skottie] Split-up Skottie.cpp
Introduce more granular compilation units for major Skottie layer types.

TBR=
Change-Id: Iee2ef05cbcdda06467674824eb295ae6d7dc5bb9
Reviewed-on: https://skia-review.googlesource.com/148394
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2018-08-21 19:06:15 +00:00
Florin Malita
fa0441b952 [skottie/cleanup] Refactor parser state handling
* introduce AnimationBuilder to hold mostly immutable (modulo caching)
    state
  * split the scoped animator state into AnimatorScope

This will facilitate splitting the monolithic Skottie.cpp in follow-up
CLs.

Refactoring only, no functional changes.

TBR=
Change-Id: I0a8295e60be4559586fc4a9fea3dee4a7f5714d4
Reviewed-on: https://skia-review.googlesource.com/148390
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-21 17:55:29 +00:00
Florin Malita
cc9c45d2e0 [skottie] Pre-flight animation in-point, out-point
Bug: skia:8264
Change-Id: Icde0e9d76f51e96f7e5246f1f87e5fa6f32d0a14
Reviewed-on: https://skia-review.googlesource.com/148020
Commit-Queue: Florin Malita <fmalita@chromium.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Florin Malita <fmalita@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-08-20 14:20:16 +00:00
Florin Malita
12e3df13cf [skottie] Harden interpolation checks for shapes
The "closed" shape property cannot be interpolated -- so ensure we catch
different values in interpolation pre-checks.

Bug: skiai:8264
Change-Id: If2c7e09c1227b0013acba3833c314e0646715d52
Reviewed-on: https://skia-review.googlesource.com/147967
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-20 13:51:28 +00:00
Florin Malita
f9c5063fc4 [skottie] Initial text layer plumbing
Still loads to do. For now just draws trivial text nodes using a default fontmgr.

Change-Id: I7343b648726d2c4f376f43437f6ae1377ad8ba86
Reviewed-on: https://skia-review.googlesource.com/147465
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-17 16:59:54 +00:00
Florin Malita
d19fed1e29 [skottie] Eliminate some temp SkString allocations
Use the SkJSON conversion idiom instead of ParseDefault<SkString>.

Change-Id: Ieeadb86891602eaef2ecf5b68a4eb17b4897e8f7
Reviewed-on: https://skia-review.googlesource.com/147103
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-08-14 17:25:20 +00:00
Florin Malita
73154babe5 [skottie] Avoid UB while parsing 1-based indices
Current impl can underflow int due to unchecked arithmetic.

Add a Parse<size_t> specialization and convert call sites which use
inline arithmetic.  Underflowing unsigned types should be well defined
and caught in later tests.

Bug: oss-fuzz:9798
Change-Id: Iaebe8aad4009e2511fe1d8733d336f5f119bb384
Reviewed-on: https://skia-review.googlesource.com/146648
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-09 22:05:32 +00:00
Florin Malita
c0132ffa64 [skottie] Optimize opacity layerization
- plumb a RenderContext RenderNode::render() argument to track pending
    opacity

  - defer opacity application until we can determine whether a layer is
    required (group with multiple children) or the opacity can be pushed
    onto the draw paint (for single/atomic draws)

Bug: skia:
Change-Id: I962ba08bad780395d5d738307bde986e9efa502b
Reviewed-on: https://skia-review.googlesource.com/146445
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-09 14:48:02 +00:00
Florin Malita
3c9929698d [skottie] Animator tweaks
* reserve SkPath storage to avoid incremental allocations
  * refactor eval() to avoid copying data when interpolation is not
    triggered

Change-Id: I467affbbfd652e8fa2a486acab7d6c7b9165d49f
Reviewed-on: https://skia-review.googlesource.com/146166
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-08 21:15:47 +00:00
Mike Reed
9adff1a89f use VectorValue consistently
Bug: skia:
Change-Id: I148bd0cac3c094b30217b30104ebbc6e080c994f
Reviewed-on: https://skia-review.googlesource.com/145885
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2018-08-08 00:43:04 +00:00
Florin Malita
30f4e96517 [skottie] Use animator scratch storage to avoid vector reallocations
Change-Id: Iab01c84ab83666218aa5ebc88f0d81b330858a74
Reviewed-on: https://skia-review.googlesource.com/145724
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2018-08-07 16:26:44 +00:00
Florin Malita
36216fb0ac [skottie] Initial Fill layer effect support
Overwrite the layer content color with a color filter.

TBR=
Change-Id: I39f920225affb2641cc11ab1f0c1456d89b47cb7
Reviewed-on: https://skia-review.googlesource.com/145730
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-07 15:34:34 +00:00
Florin Malita
0c8dca0f44 [skottie] ResourceManager tweaks
* pass the resource path explicitly
 * return SkData instead of a stream

Bug: skia:
Change-Id: I8a92fa34d78d5c996e2a26481fc3087e8737ec8e
Reviewed-on: https://skia-review.googlesource.com/145520
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2018-08-06 18:50:22 +00:00
Florin Malita
6e487e67a3 [Skottie] Add raw data factory
... and funnel all existing factories through the new one.

Change-Id: I01ffb95abf178eacc0ad430e730d680800a509c7
Reviewed-on: https://skia-review.googlesource.com/145428
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-06 16:29:31 +00:00
Florin Malita
270c04af1d [skottie] Avoid redundant instantiation of image asset nodes
Add an attached asset cache, and prevent unnecessary duplication of
image nodes when referenced multiple times.

TBR=
Change-Id: I3f0e8d592b1f57d71c9bc41cec7b2240bdb6d859
Reviewed-on: https://skia-review.googlesource.com/145366
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-03 18:49:04 +00:00
Florin Malita
8949c8a2f8 [skottie/sksg] Move source files list to .gni
To facilitate Chromium integration.

Change-Id: Ie6a08e90feda4c6deace9754f0baef7176882334
Reviewed-on: https://skia-review.googlesource.com/145146
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-08-02 16:29:13 +00:00
Ben Wagner
d5148e3314 Move SkNoncopyable to include/private.
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>
2018-07-17 21:39:51 +00:00
Florin Malita
c45a5c5593 [skottie] Treat color properties as optional (default black)
TBR=
Change-Id: I51029b5718ec9925c214709ae4e3497dae130d37
Reviewed-on: https://skia-review.googlesource.com/141544
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-07-16 18:43:39 +00:00
Florin Malita
0c604ed06b [skottie] Teach skottie_tool to dump frame SKPs
Similar to saving PNG frames, now we can save SKPs.

TBR=
Change-Id: I5791b564a1d3e70424e45e62034e559e677795f1
Reviewed-on: https://skia-review.googlesource.com/141320
Reviewed-by: Joe Gregorio <jcgregorio@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-07-15 02:52:38 +00:00
Florin Malita
a487b0677a [skottie] Make stroke width optional
TBR=
Change-Id: I432a79b652ffd5838829f32980e2dcca55d57af4
Reviewed-on: https://skia-review.googlesource.com/141283
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-07-13 19:06:24 +00:00
Florin Malita
13ac194dbf [skottie] Fix matrix parenting for default/static values
When all matrix properties are static/default, we simply discard the
matrix node.  But we cannot do that in the presence of a parent matrix.

TBR=
Change-Id: I56c62216f18786249dea063690261bfae83fabec
Reviewed-on: https://skia-review.googlesource.com/141127
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-07-13 00:07:44 +00:00
Florin Malita
4b15dc202f [skottie] Fix polystar points distribution
Points start at bearing 0.

TBR=

Change-Id: I6798b1a5fb4709ab31b13ab76a78f49758e7eec6
Reviewed-on: https://skia-review.googlesource.com/140246
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-07-10 19:58:41 +00:00
Florin Malita
a7e78ee1d4 [skottie] Misc cleanup
* pass inline defaults
  * log expressions

TBR=
Change-Id: I5e3ab038d612c738abb1bcf35b4cc492b9aaa6c1
Reviewed-on: https://skia-review.googlesource.com/140240
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-07-10 19:58:40 +00:00
Florin Malita
4cbfb30006 [skottie] Log (unsupported) layer effects
TBR=

Change-Id: Ia35e4110cb3c02339a38e82cd0f4516c7c58a5d9
Reviewed-on: https://skia-review.googlesource.com/140251
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-07-10 19:53:36 +00:00
Florin Malita
7f8a073fae [skottie] Fix spurious gradient error messages
The adapter apply() method can get called before stops resolution, so
only log when some stops are present.

TBR=

Change-Id: I8e336e2cff781a0e64de31e6b63f3cf373b2daa0
Reviewed-on: https://skia-review.googlesource.com/140245
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-07-10 19:53:36 +00:00
Florin Malita
3be2e10ce5 [skottie] Ignore identity transforms
Some tranform properties are not optional, but many of them are static
identity.  Detect these cases and don't attach SG nodes for them.

Reduces the number of sksg::Matrix nodes by ~18%.

TBR=
Change-Id: Ia51c865d6928e8c48c73b30f6d45541caf334880
Reviewed-on: https://skia-review.googlesource.com/140186
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-07-10 15:07:04 +00:00
Florin Malita
418e658a69 [skottie] Apply fully opaque masks as clips
We already have a clip optimization when there is only one opaque mask.

Extend to cover multiple opaque masks, using Merge scene nodes.

TBR=
Change-Id: I24b61f0c0d080b13438c6777e98a8e2fefd09fdd
Reviewed-on: https://skia-review.googlesource.com/140002
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-07-10 13:28:15 +00:00
Florin Malita
502c3ffce8 [skottie] Do not discard SkPath's FillType when interpolating
The fill type is not reflected in shape keyframes, but it is tracked in
the scene graph.  Make sure we don't overwrite when interpolating.

TBR=
Change-Id: I281a61c3f4181ce34f772b36b83d0c7a64e265f6
Reviewed-on: https://skia-review.googlesource.com/139176
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-07-03 22:36:27 +00:00
Florin Malita
5dfd0694dc [skottie] Add support for comp time remapping
- plumb the framerate in AttachContext (needed for remapping)
  - expand CompTimeMapper to handle time remapping (in addition to
    time start, time stretch)

TBR=
Change-Id: If33bae7b4fe224f45d5a094a47899b9025827991
Reviewed-on: https://skia-review.googlesource.com/138990
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-07-02 19:32:42 +00:00
Florin Malita
8deab3ac1e [skottie] Fix 'subtract' masks
Empirically, AE applies subtract masks as inverted intersect masks: it
applies the opacity *outside* the mask geometry.

Adjust the masking logic accordingly.

TBR=
Change-Id: If8d9dedbed9ce01b623b6c86ea91e494823d5dc5
Reviewed-on: https://skia-review.googlesource.com/138580
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-06-29 17:40:27 +00:00
Florin Malita
1d7f930763 [skottie] Ensure static split-position properties are committed
We currently drop static split-position adapters without commiting the
value to the scene graph.

TBR=
Change-Id: Id5852da35345fa58ecaf6c752456ecb32e5b405a
Reviewed-on: https://skia-review.googlesource.com/136782
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-06-22 01:28:06 +00:00
Florin Malita
5361935cd0 [skottie] Simplify AttachMask
Minor cleanup: BindProperty reports whether a non-default property was
applied or bound for animation -- use this mechanism to detect
fully-opaque masks.

TBR=
Change-Id: I3bd9429842621309d0c6bd966ef748917e498c66
Reviewed-on: https://skia-review.googlesource.com/136623
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-06-21 16:52:48 +00:00
Florin Malita
8c5f9ef801 [skottie] Fix start-time/stretch-time handling
We currently apply start-time/stretch-time adjustments to the referenced
composition AND to the referencing layer local properties.  That last
part is incorrect: the adjustment should only apply to the referenced
composition.

Introduce a specialized composition time mapper to handle t adjustments,
and push the logic down to AttachCompLayer (and out of the generic
AttachLayer).

TBR=
Change-Id: I0ddb86232010a8e7cdac6524aef2eea5823e306d
Reviewed-on: https://skia-review.googlesource.com/136166
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-06-20 17:17:19 +00:00
Florin Malita
f5ac906476 [skottie] Simplify Parse<SkPoint>
Some BM versions wrap point values as single or even multi-element arrays.
Parse<SkScalar> already handles the former case - we can extend that
behavior to also cover the latter and simplify Parse<SkPoint>.

TBR=

Change-Id: I2152928944f43dc03a5d8f0d65865ac43974fd7a
Reviewed-on: https://skia-review.googlesource.com/135800
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-06-19 20:01:28 +00:00
Florin Malita
80452bee11 Fold SkJSON into Skia/utils
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>
2018-06-19 18:23:30 +00:00
Ben Wagner
f08d1d0ce1 Stop using SkTSwap.
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>
2018-06-19 02:06:31 +00:00
Florin Malita
94d4d3e20b [skottie] Fix OOB access in Parse<SkPoint>
SkJSON requires valid array indices, so callers must guard against
out-of-bounds conditions explicitly.

Bug: oss-fuzz:8956
Change-Id: I50b96b088e44a4c1a569e6911d4be5d75799b464
Reviewed-on: https://skia-review.googlesource.com/135445
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-06-18 17:33:18 +00:00
Florin Malita
7d42c44cdd [skottie] Switch to SkJSON
Convert to SkJSON APIs and remove RapidJSON dependency.

TBR=
Change-Id: I5b4fd78821a443326e3a5b370748d840b80ef279
Reviewed-on: https://skia-review.googlesource.com/134612
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-06-14 21:21:14 +00:00
Hal Canary
c640d0dc96 Revert "Revert "SkTypes: extract SkTo""
This reverts commit fdcfb8b7c2.

> 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>
2018-06-14 14:55:17 +00:00
Hal Canary
fdcfb8b7c2 Revert "SkTypes: extract SkTo"
This reverts commit 2a2f675926.

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>
2018-06-13 13:45:47 +00:00
Hal Canary
2a2f675926 SkTypes: extract SkTo
Change-Id: I8de790d5013db2105ad885fa2683303d7c250b09
Reviewed-on: https://skia-review.googlesource.com/133620
Reviewed-by: Mike Klein <mtklein@google.com>
2018-06-12 15:03:21 +00:00