tree: 6c77baaed6b847cd3fe35068d6d031e22364f008 [path history] [tgz]
  1. BUILD.gn
  2. editor.cpp
  3. editor.h
  4. editor_application.cpp
  5. README.md
  6. run_handler.cpp
  7. run_handler.h
  8. stringslice.cpp
  9. stringslice.h
  10. stringview.h
  11. word_boundaries.cpp
  12. word_boundaries.h
experimental/editor/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 whitespace.txt