5b8dd73546
Parts of third_party need the C++ API so hide it from Skia users as needed to prevent re-introduction. This also avoids the ICU version renaming / name mangling when building our own test version of ICU. This makes life in an editor and debugger much easier. Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292854 Reviewed-by: Julia Lavrova <jlavrova@google.com> Commit-Queue: Ben Wagner <bungeman@google.com> Change-Id: Id636fbf9e750fe72a4ace8a59fb9acac839a07c4 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/292967 Reviewed-by: Ben Wagner <bungeman@google.com> |
||
---|---|---|
.. | ||
app | ||
include | ||
src | ||
BUILD.gn | ||
README.md |
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