版本变更记录¶
本文档记录 EmbeddedGUI 项目的主要变更历史,格式参考 Keep a Changelog。
[Unreleased]¶
Added¶
文档体系重构:13 章目录结构,65 篇文档覆盖快速入门、架构原理、控件参考、动画系统、性能测试、资源管理、移植指南、附录
Figma Make 到 EGUI 全自动转换管道(HTML/JSX -> XML -> C 代码生成)
UI Designer Widget 注册系统,支持 50+ 控件的自动代码生成
build-and-debug、resource-generation技能,增强运行时验证渲染排错HelloStyleDemo 全页面动态效果增强(Timer/Animation 驱动)
Changed¶
梳理 Figma 转 EGUI 的规则和脚本
优化 Activity 切换行为动效
[Style System] - 2025¶
Added¶
ROM-First 风格/主题系统核心实现(
egui_style.h/c)风格过渡动画:颜色、透明度、尺寸插值
主题风格系统集成到 6 个核心控件
HelloStyleDemo 示例:4 个主题演示页面(Smart Home、Music、Dashboard、Watch)
字体资源增强:度数符号与 Material 图标字体支持
Fixed¶
HelloStyleDemo 视觉问题修复(两轮迭代)
提升演示页面可读性:增大标题和关键标签字体
[Chart Refactor] - 2025¶
Added¶
egui_view_chart_axis基类:统一坐标轴管理柱状图 X 轴分类轴模式,标签居中于柱组下方
Scatter chart、Bar chart、Line chart 继承 axis base
Fixed¶
Chart 数据裁剪区域修正
Velocity tracker
memmove修复Pie chart 角度累积舍入误差(改用累积比例)
Bar chart 宽度下溢和零值柱修复
Scatter chart 裁剪边距修复
INT16_MIN未定义行为和 tick 循环溢出修复
Changed¶
UI Designer widget 注册更新为使用 axis base setter
[Visual Enhancement] - 2025¶
Added¶
EGUI_CONFIG_FUNCTION_WIDGET_ENHANCED_DRAW渐变绘制模式控件视觉增强 Phase 1-5:覆盖 button、switch、slider、progress_bar、checkbox、card、radio_button、toggle_button、led、notification_badge、page_indicator、button_matrix、combobox、textinput、window、menu、mini_calendar、circular_progress_bar、arc_slider、gauge、activity_ring、spinner、chart_pie、chart_bar、chart_scatter、chart_line、analog_clock、compass、roller、tab_bar、textblock、image_button、divider
Dithering 防色带 + 3-stop 高光渐变 + 边框描边 + 阴影效果
控件尺寸统一:XS/S/M/L 四档 + GridLayout 2 列布局
Fixed¶
渐变圆角矩形 radius 裁剪过度导致 pill 形状缺口
圆角矩形渐变填充 HQ 子像素 AA 重构
Switch 圆点垂直居中修正
渐变弧 AA 对称化 + 距离场平滑弧终点
渐变弧环 AA 边界修复 + 圆帽渲染 API
Activity ring 两端圆帽渲染优化
[Animation & Performance] - 2025¶
Added¶
完善动画系统:HelloBasic/anim 增强为 4 种动画类型展示
HelloPerformance 新增动画性能测试
performance-analysis技能:整理 QEMU 性能分析工作流表盘控件(Gauge/AnalogClock 等)
Changed¶
性能优化:编译时间优化、全量测试加速
优化 checkbox 和 slider 控件
[Build & Tooling] - 2025¶
Added¶
开发环境一键配置
setup.bat:自动下载 w64devkit 工具链内置
make.exe,Python 依赖自动安装Web Demo 文档展示功能:marked.js 渲染 markdown,iframe 布局
WASM 构建支持:per-app OBJDIR 增量编译
Changed¶
构建优化:BITS 自动检测 + 跳过无资源目录的 resource 生成
编译检查脚本加速:禁用 debug 符号,显式指定
-O0WASM 构建加速:HelloBasic 子应用核心库只编译 1 次
简化 key input 系统:移除 key_driver/long press/repeat/combo,平台直接传入事件
Fixed¶
修复 mp4/gradient 示例 emscripten 编译
修复单元测试 + 消除编译警告
修复 image resize 路径的 mask_get_row_range 优化
[Rendering Optimization] - 2025¶
Added¶
Mask 渲染优化:新增
mask_get_row_range行级查询,矩形填充场景提速 4.4xPFB 双缓冲管理器(ring queue 模式)
DMA 异步刷新支持(
egui_pfb_notify_flush_complete)高质量抗锯齿绘图 API(
_hq系列函数)贝塞尔曲线绘制(二次和三次)
三角形、椭圆、多边形绘制
圆帽线条和折线绘制
Changed¶
画布 API 扩展:支持更多图形基元
定点数运算优化
[Core Features] - 2024¶
Added¶
外部资源加载:Image 支持从外部 Flash 加载模式
app_resource_generate.py资源管理工具HelloResourceManager 示例
img2c.py支持 ext bin 存储功能Font 管理系统
egui_view_viewpage_cache缓存翻页控件PFB 支持非整数倍屏幕尺寸
中断保护机制(Timer 等多线程场景)
64 位系统 SDL 编译支持
Fixed¶
ViewPage cache 指针管理问题
List 与其他命名冲突
STM32G0 编译问题
64 位系统编译报错
PFB 无重叠区域进入 image 的问题
Memory copy 相关问题
Changed¶
编译结构调整,方便移植
资源文件移入
src/目录默认例程适应任意屏幕尺寸
[Initial Release] - 2024¶
Added¶
EmbeddedGUI 核心框架:PFB(局部帧缓冲)渲染引擎
基础控件:View、Button、Label、Image、Switch、ProgressBar、Scroll、ViewPage
类 Android Activity 生命周期管理
Dialog 和 Toast 支持
动画系统:9 种插值器
定点数运算库(无浮点依赖)
脏矩形刷新机制
触摸输入处理
PC 模拟器(SDL)和 STM32G0 移植
示例应用:HelloSimple、HelloActivity、HelloBasic 等
ReadTheDocs 文档框架