xref: /aosp_15_r20/external/skia/modules/skplaintexteditor/README.md (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker# Editor #
2*c8dee2aaSAndroid Build Coastguard Worker
3*c8dee2aaSAndroid Build Coastguard WorkerThis is an experimental Editor layer that abstracts out SkShaper text layeout
4*c8dee2aaSAndroid Build Coastguard Workerfor easy embedding into an application.  The Editor layer is agnostic about the
5*c8dee2aaSAndroid Build Coastguard Workeroperating system.
6*c8dee2aaSAndroid Build Coastguard Worker
7*c8dee2aaSAndroid Build Coastguard Worker    +--------------------------------+
8*c8dee2aaSAndroid Build Coastguard Worker    |Application                     |
9*c8dee2aaSAndroid Build Coastguard Worker    +-+----+-------------------------+
10*c8dee2aaSAndroid Build Coastguard Worker      |    |
11*c8dee2aaSAndroid Build Coastguard Worker      |    |
12*c8dee2aaSAndroid Build Coastguard Worker      |  +-v-------------------------+
13*c8dee2aaSAndroid Build Coastguard Worker      |  |Editor                     |
14*c8dee2aaSAndroid Build Coastguard Worker      |  +-+----+--------------------+
15*c8dee2aaSAndroid Build Coastguard Worker      |    |    |
16*c8dee2aaSAndroid Build Coastguard Worker      |    |    |
17*c8dee2aaSAndroid Build Coastguard Worker      |    |  +-v--------------------+
18*c8dee2aaSAndroid Build Coastguard Worker      |    |  |SkShaper              |
19*c8dee2aaSAndroid Build Coastguard Worker      |    |  +-+--------+-----------+
20*c8dee2aaSAndroid Build Coastguard Worker      |    |    |        |
21*c8dee2aaSAndroid Build Coastguard Worker      |    |    |        |
22*c8dee2aaSAndroid Build Coastguard Worker    +-v----v----v--+   +-v-----------+
23*c8dee2aaSAndroid Build Coastguard Worker    |Skia          |   |HarfBuzz, ICU|
24*c8dee2aaSAndroid Build Coastguard Worker    +--------------+   +-------------+
25*c8dee2aaSAndroid Build Coastguard Worker
26*c8dee2aaSAndroid Build Coastguard WorkerThe Application layer must interact with the:
27*c8dee2aaSAndroid Build Coastguard Worker
28*c8dee2aaSAndroid Build Coastguard Worker  * Windowing system
29*c8dee2aaSAndroid Build Coastguard Worker  * File system
30*c8dee2aaSAndroid Build Coastguard Worker  * Clipboard
31*c8dee2aaSAndroid Build Coastguard Worker  * Keyboard/mouse input.
32*c8dee2aaSAndroid Build Coastguard Worker
33*c8dee2aaSAndroid Build Coastguard WorkerTry it out:
34*c8dee2aaSAndroid Build Coastguard Worker
35*c8dee2aaSAndroid Build Coastguard Worker    tools/git-sync-deps
36*c8dee2aaSAndroid Build Coastguard Worker    bin/gn gen out/default
37*c8dee2aaSAndroid Build Coastguard Worker    ninja -C out/default editor
38*c8dee2aaSAndroid Build Coastguard Worker
39*c8dee2aaSAndroid Build Coastguard Worker    out/default/editor resources/text/english.txt
40*c8dee2aaSAndroid Build Coastguard Worker
41*c8dee2aaSAndroid Build Coastguard Worker    cat resources/text/*.txt > example.txt
42*c8dee2aaSAndroid Build Coastguard Worker    out/default/editor example.txt
43