e73aa75732
Bug: skia:9020 Change-Id: I009dead2e47d4d7d27ea383697a28c7569ffeaac Reviewed-on: https://skia-review.googlesource.com/c/skia/+/234318 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Hal Canary <halcanary@google.com> |
||
---|---|---|
.. | ||
BUILD.gn | ||
editor_application.cpp | ||
editor.cpp | ||
editor.h | ||
README.md | ||
shape.cpp | ||
shape.h | ||
stringslice.cpp | ||
stringslice.h | ||
stringview.h | ||
word_boundaries.cpp | ||
word_boundaries.h |
Editor
This is an experimental Editor layer that abstracts out SkShaper text layeout for easy embedding into an application. The Editor layer is agnostic about the operating system.
+--------------------------------+
|Application |
+-+----+-------------------------+
| |
| |
| +-v-------------------------+
| |Editor |
| +-+----+--------------------+
| | |
| | |
| | +-v--------------------+
| | |SkShaper |
| | +-+--------+-----------+
| | | |
| | | |
+-v----v----v--+ +-v-----------+
|Skia | |HarfBuzz, ICU|
+--------------+ +-------------+
The Application layer must interact with the:
- Windowing system
- File system
- Clipboard
- Keyboard/mouse input.
Try it out:
tools/git-sync-deps
bin/gn gen out/default
ninja -C out/default editor
out/default/editor resources/text/english.txt
cat resources/text/*.txt > example.txt
out/default/editor example.txt