我正在开发一个轻量级的 GUI 工具包。它被设计成易于在 X11 (xlib)、Win32 和其他可能具有非常基本的 GUI 支持的系统中移植。
据我所知,主要有两种可能的架构:
使用操作系统提供的 windows 服务 - Linux 中的 X11 和 Win32 中的普通 windows。在这种方法中,每个控件都是与其父级相同的窗口对象。它从操作系统接收事件并处理它们,拥有自己的绘画表面等。
仅将操作系统提供的窗口用于顶级窗口 - 主应用程序窗口、对话框等。所有子窗口都简单地绘制在其父窗口的表面上。在这种情况下,工具包必须管理父子关系,事件仅由主窗口接收,并且必须分派给控件。
什么变体使用广泛的 GUI 工具包?吗?wx小部件?FLTK?其他的?他们为什么选择这种方法?
这两种变体与结果 GUI 工具包的大小和速度有何关系?