Aura外観

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

Aura外観

ユーザ視点から見れば、Auraはウインドウとイベント型を提供する。カスタマイズするためのインタフェースも提供する。

ウインドウ階層のルートはRootWindowである。イベント配送に責任を持つ。

Auraウインドウ階層はネイティブなウインドウの中に組み入れられる。このネイティブウインドウはRootWindowHostでカプセル化される。このホストはシステムからネイティブイベントを受け取り、aura::Eventへ変形し、RootWindowへ送る。

多くの点でAuraアーキテクチャはビューに似ているがより単純になっている。

イベントの流れ

この図はAuraシステムでのイベントの流れの各ステージである。

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