ca973cbea0
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> |
||
---|---|---|
.. | ||
android_fonts | ||
diff_canvas_traces | ||
empty_images | ||
fonts | ||
icc_profiles | ||
images | ||
invalid_images | ||
nima | ||
particles | ||
skottie | ||
sksl | ||
text | ||
Cowboy.svg | ||
crbug769134.fil | ||
nov-talk-sequence.txt | ||
pdf_command_stream.txt | ||
README |
The resources directory includes some third party content used by Skia. Licenses for that code are included in this file. Openclipart Openclipart uses the Creative Commons Zero 1.0 Public Domain License every time an artist uploads a piece of clipart to Openclipart to make it clear the artist is releasing the creative work for anyone to use for any reason, even commercially. This act of "sharing" is the foundation Openclipart is based upon. More details on the license can be found at https://creativecommons.org/publicdomain/zero/1.0/. LGPL or compatible (as implied by inclusion in KDE SVN) http://websvn.kde.org/trunk/tests/ksvgtests/custom/cowboy.svg