HiEasyX/ChangeLog.md

129 lines
6.5 KiB
Markdown
Raw Permalink Normal View History

2022-08-14 19:36:12 +08:00
# 更新日志
2023-07-18 15:46:28 +08:00
## Ver 0.4.0 (2023.07.18)
2023-06-28 10:18:59 +08:00
2023-07-18 09:25:42 +08:00
**重大更新** 同时支持 Unicode 和 MBCS 字符集
2023-07-18 15:46:28 +08:00
**重大更新** 同时支持 MSVC、MinGW、TDM-GCC 等编译器
2023-06-28 17:19:40 +08:00
**新增** Release模式全新启动动画
2023-06-29 10:07:07 +08:00
**新增** `hiex::ZoomImage_Gdiplus_Alpha``Canvas::ZoomImage_Gdiplus_Alpha` 函数:拉伸图像(可包含透明通道,速度快质量佳)
**新增** `hiex::OverlayImageTransparency` 函数:融合(叠加)图像透明度
**新增** `hiex::RemoveImageTransparency` 函数:移除图像透明通道
2023-06-28 17:19:40 +08:00
**修复** `Bitmap2Image` 函数当定义不使用透明度时,透明度不为 255 的问题
2023-06-28 10:18:59 +08:00
2023-07-18 09:25:42 +08:00
![MinGW 编译通过](https://img1.imgtp.com/2023/07/18/88mlcM0s.png)
![TDM-GCC 编译通过](https://img1.imgtp.com/2023/07/18/2v6edVtc.png)
2023-06-23 11:02:04 +08:00
## Ver 0.3.5 (2023.06.23)
2023-06-18 10:29:23 +08:00
**新增**
2023-06-19 12:51:42 +08:00
- 新增 CreateImageColor 函数:可以创建并返回一张指定尺寸和填充颜色(可以包含透明度)的图像
- 新增 SetImageColor 函数:可以将一张 IMAGE 设置成指定背景颜色(可以包含透明度)的图像
2023-06-19 12:43:44 +08:00
- 新增 hiex::TransparentImage 函数:可绘制带有透明通道的图像(可叠加透明度绘制,可只绘制图像指定区域,可拉伸图像绘制)
2023-06-19 12:51:42 +08:00
- 新增 hiex::RECTToRectF 函数:可以将 RECT 转换为 RectF
- 新增 hiex::RectFToRECT 函数:可以将 RectF 转换为 RECT
2023-06-23 11:02:04 +08:00
- 新增 SetWindowTransparent 和 Window::SetTransparent 函数:可以设置窗口透明度,或启用/禁用窗口透明度
- 新增 hiex::init_console 函数:可创建/显示控制台窗口(如果已经创建则显示)
- 新增 hiex::hide_console 函数:可隐藏控制台窗口
- 新增 hiex::close_console 函数:可关闭控制台窗口(不关闭程序)
注意如果定义了 `#pragma comment( linker, "/subsystem:windows /entry:mainCRTStartup" )` 则控制台函数将不起作用
**改动**
- 统一设置文件编码为 unicode
2023-06-18 10:29:23 +08:00
## Ver 0.3.4 (2023.06.17)
**新增**
- 新增 `Bitmap2Image` 函数,可以将 `HBITMAP` 转换为 `IMAGE`
**改动**
- 修复 `getmessage_win32``Window` 类中的消息函数无法正确获取指定窗口句柄消息的问题。
- 修复 `EasyX_Gdiplus_RoundRect` 等 GdiPlus 封装绘图函数绘制圆角矩形时出现圆角异常的 bug。
2023-06-18 10:29:48 +08:00
2023-04-29 17:58:07 +08:00
## Ver 0.3.3 (2023.04.29)
**修复**
修复 `EasyX_Gdiplus_RoundRect` 等 GdiPlus 封装绘图函数绘制圆角矩形时内部出现填充空隙的 bug。
2023-03-11 19:47:18 +08:00
## Ver 0.3.2 (2023.03.11)
**新增**
Gdiplus 系列封装函数新增圆角矩形绘制函数Alan-CRL 提供)。
**改动**
2023-03-11 19:53:51 +08:00
之前 Gdiplus 系列封装函数都是直接使用布尔型参数设置是否抗锯齿,但是由于 Gdiplus 其实有很多种抗锯齿模式,所以现在改成传入 `Gdiplus::SmoothingMode` 枚举类型参数,以支持所有的抗锯齿模式。
2023-03-11 19:47:18 +08:00
2023-01-15 09:50:41 +08:00
## Ver 0.3.1 (2023.01.15)
**修复**
2023-01-16 14:01:24 +08:00
1. 修正 Ver 0.3.0 中 GDI+ 封装函数中,画弧线函数和画饼状图函数的 `sweepangle``endangle` 混淆的问题
2. 补充 `Canvas::Load_Image_Alpha` 函数的 `isCalculated` 参数
3. 在无宽高的画布中调用 `Canvas::Load_Image_Alpha` 函数,可以自动调整画布到图像大小
**已知 bug**
在 EasyX 20220901 中,如果在调用 `initgraph`,也就是创建窗口前创建 Canvas可能会导致无法绘制内容包括无法在画布上绘制内容以及创建窗口后也无法绘制内容。
此问题很可能是由 EasyX 20220901 的一个 bug 导致的详见https://qa.codebus.cn/question/2480
2023-01-15 09:50:41 +08:00
2023-01-13 08:16:39 +08:00
2023-01-13 08:27:55 +08:00
## Ver 0.3.0 (2023.01.13)
**新增**
1. 新增 `HiGdiplus` 模块(对 GDI+ 的封装,可以绘制透明和抗锯齿图形,包括 `HiGdiplus.h``HiGdiplus.cpp`
2023-01-13 14:43:09 +08:00
2. 新增 `DRAW_TNS_INIT_GRAPHICS` 宏和 `DRAW_TNS_RENDER_TO` 宏,可以很方便地绘制透明图形
2023-01-13 08:27:55 +08:00
3. 新增 `EnableAutoFlush` 函数(设置是否启用自动刷新双缓冲)
4. 新增 `Canvas::GP_` 系列函数(对应 GDI+ 绘图函数,支持透明和抗锯齿)
5. 新增 `Canvas::ZoomImage_Rough_Alpha` 函数(提供更多一种缩放函数)
6. 新增 `Canvas::Clear_Alpha` 函数(用于保留背景色透明度地清空画布)
7. 新增 `Canvas::EnableAutoMarkFlushWindow` 函数(在画布绑定到窗口的情况下,可以设置 Canvas 每次绘制后是否自动标记需要刷新双缓冲)
8. 新增 `FlushDrawing` 函数(支持部分刷新双缓冲)
9. 新增 `SetWindowTitle` 函数(设置窗口标题)
**改动**
1. 更新双缓冲刷新机制(原本是每次窗口任务结束后直接刷新双缓冲,现在只在任务结束时标记需要刷新,实际等到响应窗口重绘消息时才真正刷新双缓冲,但是可以通过 `EnableAutoFlush` 函数设置是否启用自动刷新双缓冲)
2. `EnforceRedraw` 函数改名为 `RedrawWindow`
3. `FLUSH_DRAW` 宏改名为 `REDRAW_WINDOW`(因为旧名称有歧义,会被误以为是刷新双缓冲,但其实是刷新窗口)
4. 响应 `WM_PAINT` 消息时只对需要部分进行重绘
5. `SysEdit::PreSetStyle` 函数和 `SysComboBox::PreSetStyle` 函数的形参改为了一个囊括了所有旧形参的结构体
6. `isXXX` 函数改名为 `IsXXX`
7. `Canvas::Render` 函数改名为 `Canvas::RenderTo`
2023-01-13 14:43:09 +08:00
8. `Canvas::GetPixel_Fast``Canvas::PutPixel_Fast``Canvas::PutPixel_Fast_Alpha` 函数的 `_Fast` 后缀都改为 `_Direct`
2023-01-13 08:27:55 +08:00
9. 绘制模式 `DM_Normal``DM_Real` 改成一样了
**删除**
1. 删除了 `FlushDrawingToWnd` 函数
## Ver 0.2.2 (2022.12.04)
**新增**
2022-12-04 22:38:26 +08:00
1. 系统控件SysControlBase新增 Remove 方法,可以移除控件
2. 新增 PreSetWindowStyleEx 函数,可以在创建窗口前预定窗口 Ex 样式
3. 新增 PreSetWindowShowState 函数,可以在创建窗口前预定窗口显示状态
2023-01-13 08:27:55 +08:00
**修复**
2022-12-04 22:38:26 +08:00
1. 修复 MixAlphaColor 函数透明叠加溢出问题(参见 https://github.com/zouhuidong/HiEasyX/issues/5
2. 修复多窗口获取消息发生错误和崩溃的 bug
3. 修复多个窗口同时创建时预设样式交叉的 bug
4. 修复使用 Window 类创建窗口时,预先设置窗口样式无效的 bug
5. 修复 ZoomImage_Alpha 算法效率低下问题
6. 修复 DeleteTray 函数逻辑
7. 增加 InitWindow 稳定性
2023-01-13 08:27:55 +08:00
**修改**
2022-12-04 22:38:26 +08:00
1. 默认取消 release 模式程序开场动画,可在 hidef.h 设置
2023-01-13 08:27:55 +08:00
## Ver 0.2.1 (2022.08.29)
2022-08-29 13:13:20 +08:00
1. 修复 `hiex::GetMouseMsg_win32` 无法正确获取鼠标消息的 bug。
2. `hiex::To_MouseMsg` 函数加入消息类型判断,如果传入 ExMessage 不是 EM_MOUSE 消息类型,则返回空的 MOUSEMSG。
2023-01-13 08:27:55 +08:00
## Ver 0.2 (alpha) (2022.08.14)
2022-08-14 19:36:12 +08:00
从 [EasyWin32](http://github.com/zouhuidong/EasyWin32) 全面升级而成的第一个版本