Aura 目的
Aura是为了创建一个全新的桌面窗口管理系统,通过硬件加速提供绚丽的UI效果。
UI设计
一个视图层级依附于一个widget,widget是一个跨平台类型,依赖于NativeWidget。NativeWidget根据平台不同有不同的实现,主要负责与平台沟通。NativeWidget在Aura里面对应的实现是 DesktopNativeWidgetAura,还有一个NativeWidgetAura(啥时候用到?)
使用WebUI消除gtk/HWND的使用。WebUI主要提供JavaScript调用。
使用UI::Compositor,利用硬件加速绘制窗口
Aura架构
事件处理
总结
大体工作流程:Aura定义了自己的Desktop,然后加入了RootWindow。Desktop对外就是一个Widget。Window集成了Layer,使用硬件加速进行绘制
Aura在我编的版本中还不稳定(定义环境变量GYP_DEFINES='use_aura=1'),下拉框显示不正常。不过好的一点是确实去除了gtk依赖,直接和x11打交道,这样移植会比较快
时间关系,只能研究到这里了
参考
1 http://www.chromium.org/developers/design-documents/aura/aura-overview
2 http://www.chromium.org/developers/design-documents/aura-desktop-window-manager