skia2/modules/skottie
Florin Malita 71bcfef9f7 [skottie] Auto-resize and VAlign support for point text
Auto-resizing and vertical alignment require a non-empty text box.  But
currently, the presence of the text box is used to discriminate between
point text [1] and paragraph text [2].

In order to support auto-scaling and v-alignment for point text, we must
decouple the text mode encoding from the text box:

  * introduce and explicit LinebreakPolicy property for skottie::Shaper,
    and use it to control line breaking instead of the text box presence
  * by default, the line breaking policy is initialized per existing
    AE/BM semantics: non-empty text box -> paragraph mode,
    empty box -> point mode
  * the policy can be overridden via the PropertyObserver APIs to enable
    point mode auto-resizing and vertical alignment

[1] https://helpx.adobe.com/after-effects/using/creating-editing-text-layers.html#enter_point_text
[2] https://helpx.adobe.com/after-effects/using/creating-editing-text-layers.html#enter_paragraph_text

Change-Id: I007144283a31a2faa579d7eec82af72af3d540cb
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/321788
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
2020-10-02 19:33:35 +00:00
..
fuzz [fuzz] Standardize, document, and backport fuzzing defines. 2020-09-14 13:36:10 +00:00
gm Remove "dummy" to comply with Android's inclusive language guidance 2020-07-31 19:11:23 +00:00
include [skottie] Auto-resize and VAlign support for point text 2020-10-02 19:33:35 +00:00
src [skottie] Auto-resize and VAlign support for point text 2020-10-02 19:33:35 +00:00
tests Enable ClangTidy flag modernize-use-override. 2020-08-14 10:54:45 +00:00
utils [skottie] Custom prop manager updates 2020-08-20 19:59:22 +00:00
BUILD.gn [skottie] Initial audio layer plumbing 2020-08-12 13:03:16 +00:00
skottie.gni [skottie] Initial Displacement Map effect 2020-09-11 14:15:44 +00:00