skia2/modules
Florin Malita 1df655a427 Reland "[skottie] Fix text-on-path tracking"
This reverts commit 5fe4b6faeb.

Reason for revert: relanding with guards

Original change's description:
> Revert "[skottie] Fix text-on-path tracking"
>
> This reverts commit ca973cbea0.
>
> Reason for revert: g3 image diffs
>
> Original change's description:
> > [skottie] Fix text-on-path tracking
> >
> > Tracking and line spacing computations require knowledge of cumulative
> > values for the whole line => we need two passes:
> >
> >   1) compute cumulative values
> >   2) compute per-fragment position adjustments
> >
> > Currently, #1 is implemented in the main onSync() loop (as we iterate
> > to compute fragment props) and #2 is post-applied via adjustLineProps(),
> > after the main loop.
> >
> > The problem is adjustLineProps() is executed after positioning glyphs on
> > path, and tracking is not taken into account for path positioning
> > (instead it moves glyphs horizontally, unrelated to the path).
> >
> > To fix this, we need tracking adjustments to be applied before
> > positioning on path (which is performed in fragmentMatrix()).
> >
> >   - move the cumulative tracking computation to a dedicate lambda
> >     (compute_linewide_props)
> >   - move the fragment position adjustments to the main onSync() loop
> >     (that way they participate in path positioning)
> >   - to avoid executing the first pass unnecessarily, add flags to detect
> >     the presence of tracking and line spacing animators.
> >
> >
> > Change-Id: Ieef2afb53ffe14177eba0ef41dc5c71149cab070
> > Reviewed-on: https://skia-review.googlesource.com/c/skia/+/518696
> > Reviewed-by: Ben Wagner <bungeman@google.com>
> > Commit-Queue: Florin Malita <fmalita@chromium.org>
> > Commit-Queue: Florin Malita <fmalita@google.com>
>
> Change-Id: Ia99fbb3d7d98eb6a59ff00d796bcc05bc6db63a3
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/519597
> Auto-Submit: Florin Malita <fmalita@google.com>
> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>

Change-Id: Ia39602178099d7fa016997f02e1bdf705b16bb2e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/519598
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2022-03-11 13:09:17 +00:00
..
androidkit Reland "[includes] Remove link between SkImage.h and SkImageEncoder.h" 2022-03-10 04:47:51 +00:00
audioplayer implement SkAudioPLayer for Android 2020-12-15 00:12:48 +00:00
canvaskit Add CurrestTestHarness helper method to WasmGMTests. 2022-03-10 21:14:03 +00:00
particles [bazel] Compile gms for wasm and WebGL 2022-02-09 18:56:17 +00:00
pathkit Bump karma from 6.3.14 to 6.3.16 in /modules/pathkit 2022-03-02 14:36:39 +00:00
skottie Reland "[skottie] Fix text-on-path tracking" 2022-03-11 13:09:17 +00:00
skparagraph Fixing getRectForRange in case with ellipsis 2022-02-22 18:43:20 +00:00
skplaintexteditor Reland "Add format-specifier warnings to SkDebugf." 2021-06-25 17:57:43 +00:00
skresources [canvaskit] Add skottie to Bazel build 2022-02-04 19:18:27 +00:00
sksg Prepare to reenable unreachable-code warnings. 2022-02-04 21:45:39 +00:00
skshaper rename fontID to typefaceID 2022-02-07 20:12:39 +00:00
skunicode Avoid scanning for bidi levels if the paragraph is unidirectional 2022-01-06 17:39:50 +00:00
svg [bazel] Support Vulkan 2022-03-08 21:21:17 +00:00
BUILD.bazel [infra] Experiment generating BUILD.bazel files 2021-11-23 18:53:16 +00:00