Go to file
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
bazel [bazel] Support Vulkan 2022-03-08 21:21:17 +00:00
bench Plumbing the label string through Skia. 2022-03-11 03:06:47 +00:00
bin Handle 'aarch64' from platform.machine() 2022-03-01 13:10:59 +00:00
build/fuchsia
build_overrides Add Abseil dependency for Dawn 2021-09-22 22:05:32 +00:00
client_utils/android Make class members that are static constexpr also be inline. 2021-10-11 16:22:59 +00:00
demos.skia.org [canvaskit] Add in fillText to spreadsheet demo for comparison 2022-02-15 15:35:43 +00:00
dm Add CurrestTestHarness helper method. 2022-03-10 18:05:28 +00:00
docker [canvaskit] Enable Debugger bindings for autobuild 2022-03-08 17:42:37 +00:00
docs/examples Reland "Add kR8_unorm_SkColorType" 2022-02-10 18:00:19 +00:00
example [bazel] Support Vulkan 2022-03-08 21:21:17 +00:00
experimental [graphite] Have the kSolidColorShader shader snippet's uniform be premul 2022-03-10 21:14:12 +00:00
fuzz Reland "[includes] Remove link between SkImage.h and SkImageEncoder.h" 2022-03-10 04:47:51 +00:00
gm Fix image shader local matrix not being applied on CPU 2022-03-10 15:56:45 +00:00
gn [sksl][test] Add more folding tests for side-effecting expressions 2022-03-10 18:06:12 +00:00
include Remove obsolete sk_cf_obj 2022-03-11 05:59:16 +00:00
infra [sksl][test] Add more folding tests for side-effecting expressions 2022-03-10 18:06:12 +00:00
modules Reland "[skottie] Fix text-on-path tracking" 2022-03-11 13:09:17 +00:00
platform_tools Honor SkQP flag when running SkSL tests. 2022-03-10 15:16:23 +00:00
resources Reland "[skottie] Fix text-on-path tracking" 2022-03-11 13:09:17 +00:00
samplecode Reland "[includes] Remove link between SkImage.h and SkImageEncoder.h" 2022-03-10 04:47:51 +00:00
site Fix broken jsfiddle links 2022-03-08 13:41:28 +00:00
specs [infra] Port serve.py from Python2 to 3 2021-08-31 15:28:19 +00:00
src Plumbing the label string through Skia. 2022-03-11 03:06:47 +00:00
tests Plumbing the label string through Skia. 2022-03-11 03:06:47 +00:00
third_party [bazel] Support Vulkan 2022-03-08 21:21:17 +00:00
toolchain [bazel] Support Vulkan 2022-03-08 21:21:17 +00:00
tools Disable SkSLPreserveSideEffects in wasm tests. 2022-03-11 00:05:47 +00:00
.bazelrc [canvaskit] Add more features to Bazel build 2022-02-04 21:33:20 +00:00
.bazelversion [canvaskit] Add skottie to Bazel build 2022-02-04 19:18:27 +00:00
.clang-format no more bin packing in .clang-format 2021-03-04 17:22:50 +00:00
.clang-tidy
.gitignore Add .vscode to the default gitignore list. 2021-10-13 15:23:02 +00:00
.gn
.vpython [python3] Reland recipes -> python3 changes 2021-12-01 13:04:03 +00:00
AUTHORS Remove obsolete sk_cf_obj 2022-03-11 05:59:16 +00:00
BUILD.bazel [bazel] Compile gms for wasm and WebGL 2022-02-09 18:56:17 +00:00
BUILD.gn Add CurrestTestHarness helper method. 2022-03-10 18:05:28 +00:00
codereview.settings
CONTRIBUTING
CQ_COMMITTERS
DEPS Roll ANGLE from fe4fa1cb2aa8 to b97aab3f862a (10 revisions) 2022-03-11 05:32:46 +00:00
DIR_METADATA Move metadata in OWNERS files to DIR_METADATA files 2021-02-02 23:41:54 +00:00
go_repositories.bzl [bazel] Use bazel to build task drivers 2022-03-03 16:12:18 +00:00
go.mod [bazel] Make use of test_on_env to spin up server for gms 2022-02-28 14:05:54 +00:00
go.sum [bazel] Make use of test_on_env to spin up server for gms 2022-02-28 14:05:54 +00:00
LICENSE
OWNERS [infra] Add wildcard OWNERS 2021-08-30 19:19:34 +00:00
OWNERS.android Add an OWNERS.android file 2022-03-09 19:33:22 +00:00
package-lock.json [bazel] Make custom karma_test rule 2022-02-23 14:53:01 +00:00
package.json [bazel] Make custom karma_test rule 2022-02-23 14:53:01 +00:00
PRESUBMIT.py Remove AUTHORS check from PRESUBMIT.py 2021-09-30 14:12:18 +00:00
public.bzl remove jpeg from android builds flagged with no_codec 2022-02-14 19:29:10 +00:00
README
README.chromium
RELEASE_NOTES.txt [includes] Prepare to remove SkColor<->SkImageInfo 2022-03-09 18:40:44 +00:00
whitespace.txt Push shaders.skia.org. 2022-01-19 21:46:16 +00:00
WORKSPACE.bazel [bazel] Use bazel to build task drivers 2022-03-03 16:12:18 +00:00

Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

See full details, and build instructions, at https://skia.org.