1cb93a386Sopenharmony_ci# Editor # 2cb93a386Sopenharmony_ci 3cb93a386Sopenharmony_ciThis is an experimental Editor layer that abstracts out SkShaper text layeout 4cb93a386Sopenharmony_cifor easy embedding into an application. The Editor layer is agnostic about the 5cb93a386Sopenharmony_cioperating system. 6cb93a386Sopenharmony_ci 7cb93a386Sopenharmony_ci +--------------------------------+ 8cb93a386Sopenharmony_ci |Application | 9cb93a386Sopenharmony_ci +-+----+-------------------------+ 10cb93a386Sopenharmony_ci | | 11cb93a386Sopenharmony_ci | | 12cb93a386Sopenharmony_ci | +-v-------------------------+ 13cb93a386Sopenharmony_ci | |Editor | 14cb93a386Sopenharmony_ci | +-+----+--------------------+ 15cb93a386Sopenharmony_ci | | | 16cb93a386Sopenharmony_ci | | | 17cb93a386Sopenharmony_ci | | +-v--------------------+ 18cb93a386Sopenharmony_ci | | |SkShaper | 19cb93a386Sopenharmony_ci | | +-+--------+-----------+ 20cb93a386Sopenharmony_ci | | | | 21cb93a386Sopenharmony_ci | | | | 22cb93a386Sopenharmony_ci +-v----v----v--+ +-v-----------+ 23cb93a386Sopenharmony_ci |Skia | |HarfBuzz, ICU| 24cb93a386Sopenharmony_ci +--------------+ +-------------+ 25cb93a386Sopenharmony_ci 26cb93a386Sopenharmony_ciThe Application layer must interact with the: 27cb93a386Sopenharmony_ci 28cb93a386Sopenharmony_ci * Windowing system 29cb93a386Sopenharmony_ci * File system 30cb93a386Sopenharmony_ci * Clipboard 31cb93a386Sopenharmony_ci * Keyboard/mouse input. 32cb93a386Sopenharmony_ci 33cb93a386Sopenharmony_ciTry it out: 34cb93a386Sopenharmony_ci 35cb93a386Sopenharmony_ci tools/git-sync-deps 36cb93a386Sopenharmony_ci bin/gn gen out/default 37cb93a386Sopenharmony_ci ninja -C out/default editor 38cb93a386Sopenharmony_ci 39cb93a386Sopenharmony_ci out/default/editor resources/text/english.txt 40cb93a386Sopenharmony_ci 41cb93a386Sopenharmony_ci cat resources/text/*.txt > example.txt 42cb93a386Sopenharmony_ci out/default/editor example.txt 43