-
Notifications
You must be signed in to change notification settings - Fork 2
1.1. MegaUI主要结构
mingkuang edited this page Oct 10, 2022
·
1 revision
stateDiagram
state Window
{
Render(渲染器)
GDI+ --> Render(渲染器)
D2D1.0+DWrite --> Render(渲染器)
D2D1.1+DWrite --> Render(渲染器)
MessageHandle(驱动消息)
设备相关资源缓存
}
state Element(逻辑控件)
{
属性
事件
}
设备无关资源缓存 --> WindowElement
Window --> WindowElement : Window类将处理系统并传递到平台无关的 WindowElement。
WindowElement --> Element(逻辑控件)
StyleSheet --> Element(逻辑控件)
它是最基本的逻辑控件,也是我们所有逻辑控件(例如Button)的基类。Element只拥有属性以及少量事件,MegaUI中主要依靠属性驱动。
什么是属性?比如说:背景色、边框样式。
那什么是事件?比如说:按下了某个按键,鼠标移动事件。
此类型也没有过多的逻辑,它继承自Element。它的存在主要为了承载Window特有的信息,比如说窗口标题、窗口图标等等。
就是我们的真实窗口,在Windows中它就是HWND。Window是一个平台相关的类型,不同平台拥有不同的底层实现,它主要负责驱动WindowElement。 比如说,鼠标在窗口内移动,Window就把鼠标移动事件传递到WindowElement。
样式表,类似于CSS的功能,提高UI的可制定性。