https://www.chromium.org/developers/design-documents/aura/aura-overview
Aura外観

ユーザ視点から見れば、Auraはウインドウとイベント型を提供する。カスタマイズするためのインタフェースも提供する。
ウインドウ階層のルートはRootWindowである。イベント配送に責任を持つ。
Auraウインドウ階層はネイティブなウインドウの中に組み入れられる。このネイティブウインドウはRootWindowHostでカプセル化される。このホストはシステムからネイティブイベントを受け取り、aura::Eventへ変形し、RootWindowへ送る。
多くの点でAuraアーキテクチャはビューに似ているがより単純になっている。
イベントの流れ

この図はAuraシステムでのイベントの流れの各ステージである。
- RootWindowHostがbase::NativeEvent(MSGやXEvent*)をシステムから受け取る。
- RootWindowHostがこのメッセージをaura::Event*に変形して、RootWindowへ転送する。
- イベントの型により、イベントのターゲットが決まる。下記の配達を参照
- aura::EventFilter*が登録されていれば、イベントが処理される前になんらかの処理をすることができる。EventFilterがtrueを返せば、さらなるプロセスを止めることができる。EventFilterはパワフルなAPI。
- EventFilterでイベントが止められなかったら、ターゲットウインドウの代表者へ渡される。ウインドウ自体はイベントを直接見ない。Auraではウインドウのカスタマイズは代表者(WindowDelegate)によって行われるからである。
Page last modified on June 30, 2018, at 12:46 PM
Powered by
PmWiki