📄️ 编码规范
参考其它 C 开源项目,重新制定统一的编码规范。
📄️ 架构
重新设计源码目录结构,将 LCUI 拆分为多个子库,重构部分模块以减少不必要的耦合。
📄️ 构建和安装
采用新的构建工具 XMake 取代原有的 AutoTool 和 Visual Studio 构建方式,降低构建和使用成本。新增几种基于 XMake 的安装方式说明,并提供多种新的基于 XMake 的依赖包安装方式。
📄️ 实用工具库
添加实用工具库,提供链表(LinkedList)、字典(Dict)、日志(Logger)等常用的数据结构和函数。
📄️ CSS 解析器和选择引擎库
将 CSS 相关的功能模块整合为独立的子库,重新设计部分接口,移除对 UI 库、线程库、字体库的依赖。
📄️ CSS 值定义语法
添加新的 CSS 属性注册函数,支持使用 CSS 值定义语法来定义 CSS 属性的有效值。
📄️ CSS 已计算样式
重新设计 CSS 样式计算流程和相关数据存储方式,将 UI 库中的部分样式计算逻辑移入 CSS 库中实现。
📄️ PandaGL 图形库
将字体、文字处理、图像读写、图形绘制等功能模块整合为 PandaGL 图形库。
📄️ UI 核心库
将 UI 相关的功能模块整合为独立的子库,不依赖主循环、窗口等系统相关接口,能被单独编译、使用。
📄️ UI 服务器
添加 UI 服务器,用于实现 UI 部件与系统窗口的数据同步。它基于 UIMutationObserver 接口监听部件的变动,能将部件的图形内容、位置和 尺寸等数据同步到与之绑定的系统窗口。
📄️ UI 图像缓存和异步加载
新增 UIImage 模块来负责异步图像加载。
📄️ UI 变更观察器
UIMutationObserver 提供监听部件的属性、位置、尺寸、子树等变化的能力。
📄️ 平台库
将窗口管理、消息循环、系统相关接口整合为 libplatform 平台支持库,为应用程序的平台相关功能提供跨平台统一的接口。