Commit graph

2,781 commits

Author SHA1 Message Date
Weblate (bot)
debf547ab8
Translated using Weblate (Polish) (#1239)
Currently translated at 100.0% (300 of 300 strings)

Translation: Magpie/UI
Translate-URL: https://hosted.weblate.org/projects/magpie/ui/pl/

Co-authored-by: Krzysztof <k_marc_2002@proton.me>
2025-08-10 19:27:40 +08:00
Xu
fb2270ec89
优化 Graphics Capture 对 Kirikiri 窗口的支持 (#1238)
* feat: 尝试模拟 kirikiri 窗口行为

* feat: 完善模拟 kirikiri 窗口

* feat: 优化 WGC 对 kirikiri 窗口的处理

* chore: 优化注释

* fix: 优化错误处理

* chore: 添加注释
2025-08-09 21:20:34 +08:00
Weblate (bot)
ffdc3e772b
Translated using Weblate (Japanese) (#1234)
Currently translated at 100.0% (300 of 300 strings)

Translation: Magpie/UI
Translate-URL: https://hosted.weblate.org/projects/magpie/ui/ja/

Co-authored-by: animeojisan <engine54jp@gmail.com>
2025-08-08 12:17:07 +08:00
Xu
dce6adb097 fix: 修复 Win10 中工具栏图标错误 2025-08-07 09:43:46 +08:00
Xu
07a6dc2c62 feat: 工具栏支持最小化源窗口 2025-08-06 23:13:21 +08:00
Xu
cdb27a48e6
定时器和托盘菜单支持窗口模式缩放 (#1233)
* feat: 更新 UI

* feat: 实现定时器功能

* feat: 托盘菜单支持全屏/窗口缩放定时器

* fix: 修复偶尔取消计时会立刻缩放的问题
2025-08-06 20:17:37 +08:00
Weblate (bot)
f7f7ebbc56
Translated using Weblate (Polish) (#1229)
Currently translated at 100.0% (297 of 297 strings)

Translation: Magpie/UI
Translate-URL: https://hosted.weblate.org/projects/magpie/ui/pl/

Co-authored-by: Krzysztof <k_marc_2002@proton.me>
2025-08-05 19:19:15 +08:00
allcontributors[bot]
396a1956c2
docs: add kangurek-kao as a contributor for translation (#1230)
* docs: update README.md [skip ci]

* docs: update README_ZH.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

---------

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2025-08-05 19:19:06 +08:00
Xu
ea107ac9c3
优化自动缩放机制 (#1227)
* fix: 重复缩放时不显示错误消息

* fix: 减小 ScalingService 和 ScalingRuntime 状态不一致的窗口期

* fix: 避免自动缩放和最小化窗口还原机制冲突

* chore: 修复 clang 编译警告

* refactor: ScalingRuntime::SwitchScalingState 重命名为 ScalingRuntime::ToggleScaling

* fix: 恢复检查自动缩放

* feat: 自动缩放可以终止当前缩放

* chore: 添加注释

* feat: 自动缩放不再等待最小化和不可见的窗口
现已支持直接缩放这类窗口,由 ScalingRuntime 等待
2025-08-05 17:55:29 +08:00
Xu
96a1c7287a feat: 源窗口隐藏会等待显示然后恢复缩放 2025-08-03 17:14:21 +08:00
Xu
7b71454b5d fix: 修复任务栏不在底部导致启动时窗口位置错误的问题 2025-08-03 14:17:06 +08:00
Weblate (bot)
151bb3a6ed
Translated using Weblate (Japanese) (#1223)
Currently translated at 100.0% (297 of 297 strings)

Translation: Magpie/UI
Translate-URL: https://hosted.weblate.org/projects/magpie/ui/ja/

Co-authored-by: animeojisan <engine54jp@gmail.com>
2025-08-01 23:16:49 +08:00
Xu
d84ad92b97 chore: 优化项目文件 2025-07-31 19:56:17 +08:00
Xu
5db358fdf3 fix: 修复窗口模式初始缩放倍数错误 2025-07-31 13:11:30 +08:00
Weblate (bot)
16457063fb
Translated using Weblate (Japanese) (#1222)
Currently translated at 100.0% (297 of 297 strings)

Translation: Magpie/UI
Translate-URL: https://hosted.weblate.org/projects/magpie/ui/ja/

Co-authored-by: animeojisan <engine54jp@gmail.com>
2025-07-30 22:21:10 +08:00
Xu
02bf2a1c5f chore: 发布版本 CI 不再加载缓存 2025-07-30 09:27:34 +08:00
Xu
19a964195c fix: 修复发布脚本获取最新版本标签
不确定是否修好了,只能下次发布预览版再验证
2025-07-29 21:17:34 +08:00
Blinue
2b5c715d2b Update version.json 2025-07-29 12:53:45 +00:00
Xu
e70d5ee075 fix: 使结束缩放后清理更可靠 v0.12.0-preview2 2025-07-29 20:29:40 +08:00
Xu
f116629169
源窗口最小化不再终止缩放 (#1219)
* fix: 优化窗口移动检测

* fix: 优化拖拽窗口时缩放行为
窗口模式立即缩放,全屏模式将等待拖拽结束

* feat: 源窗口最小化后等待其还原

* fix: 修复显示消息时窗口被销毁然后立即显示新消息会导致崩溃

* feat: 源窗口在最小化然后还原后可以还原缩放尺寸

* refactor: 微小重构

* feat: 缩放时禁用源窗口的窗口动画

* refactor: 禁用/还原窗口动画的逻辑集中在 WindowAnimationDisabler 类

* feat: 不再禁用窗口动画
Win10 的动画很突兀,Win11 却还行
2025-07-29 20:16:35 +08:00
Weblate (bot)
18f3749502
Translated using Weblate (Japanese) (#1218)
Currently translated at 100.0% (297 of 297 strings)

Translation: Magpie/UI
Translate-URL: https://hosted.weblate.org/projects/magpie/ui/ja/

Co-authored-by: animeojisan <engine54jp@gmail.com>
2025-07-28 21:50:40 +08:00
Xu
78edfd5217
开机启动始终最小化到系统托盘 (#1217)
* feat: 开机启动时始终最小化到系统托盘

* feat: 开机启动选项添加描述
2025-07-28 19:02:06 +08:00
Xu
d1076bbb95
全屏缩放默认不再置顶 (#1216)
* feat: 全屏缩放时默认不再置顶,添加置顶选项

* fix: 修复消息弹窗会使窗口取消置顶的问题

* fix: 修复消息弹窗弹出动画 bug
2025-07-28 18:26:42 +08:00
Weblate (bot)
62a41d8da8
Translated using Weblate (Japanese) (#1214)
Currently translated at 100.0% (294 of 294 strings)

Translation: Magpie/UI
Translate-URL: https://hosted.weblate.org/projects/magpie/ui/ja/

Co-authored-by: animeojisan <engine54jp@gmail.com>
2025-07-26 19:20:54 +08:00
Xu
25a36718a7 feat: 开发者选项支持打开日志位置 2025-07-24 18:53:27 +08:00
Xu
06ffbf76f7
进一步优化对弹窗的兼容性 (#1212)
* feat: 进一步优化对弹窗的兼容性

* fix

* fix: 调试模式只跳过置顶
2025-07-24 18:52:51 +08:00
Xu
dd458ff447 refactor: 简化 UpdateService 的 json 处理 2025-07-23 22:39:30 +08:00
Xu
b1ede5714f fix: 修复缩放时退出导致崩溃的问题 2025-07-23 22:08:44 +08:00
Xu
ef4053769d
IUnknown::as 替换为 IUnknown::try_as (#1211)
* refactor: IUnknown::as 替换为 IUnknown::try_as
删除 SettingsCard,ActionIconToolTip 属性

* refactor: 优化头文件包含
2025-07-23 21:40:08 +08:00
Weblate (bot)
e8d7732891
Translations update from Hosted Weblate (#1210)
* Translated using Weblate (Japanese)

Currently translated at 100.0% (294 of 294 strings)

Translation: Magpie/UI
Translate-URL: https://hosted.weblate.org/projects/magpie/ui/ja/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (293 of 293 strings)

Translation: Magpie/UI
Translate-URL: https://hosted.weblate.org/projects/magpie/ui/ja/

---------

Co-authored-by: animeojisan <engine54jp@gmail.com>
2025-07-23 19:37:20 +08:00
Xu
bf5fd328c6
不再支持导入 ScaleModels.json (#1209)
* feat: 不再支持导入旧版 ScaleModels.json

* fix: 修复新建缩放模式按钮位置

* fix: 重新实现缓解动画 bug

* fix: 修复 InfoBar 中 Tooltip 的主题

* fix: 优化检查更新按钮样式

* fix: 修复文件对话框的确定按钮有时被禁用
2025-07-23 19:17:51 +08:00
Xu
af56e660bd fix: 自动缩放等待窗口显示 2025-07-23 13:27:41 +08:00
Xu
7bc0762346 chore: pull request 的 CI 不签名
pull request 的 CI 不能使用 secrets
2025-07-22 20:45:44 +08:00
Xu
cad9ed18f5 fix: 修复特定窗口期内缩放导致崩溃 2025-07-22 20:36:43 +08:00
Xu
00073018df
fix: 自动缩放等待窗口开始响应消息 (#1207) 2025-07-22 19:48:56 +08:00
Weblate (bot)
36e16be0ed
Translated using Weblate (Japanese) (#1206)
Currently translated at 100.0% (292 of 292 strings)

Translation: Magpie/UI
Translate-URL: https://hosted.weblate.org/projects/magpie/ui/ja/

Co-authored-by: animeojisan <engine54jp@gmail.com>
2025-07-22 19:20:20 +08:00
Xu
f882504df6
支持分别设置全屏和窗口模式缩放的工具栏初始状态 (#1205) 2025-07-22 19:06:42 +08:00
Xu
c16e3fb574
修复全屏缩放会遮挡弹窗的问题 (#1204)
* fix: 修复缩放窗口会遮挡弹窗的问题

* fix: 修复高 CPU 使用率

* fix: IFileOpenDialog 弹窗放到后台线程
在主线程使用 IFileOpenDialog 有些问题,Win10 中按一下 shift 就导致 UI 卡死

* refactor: 优化文件包含

* fix: 修复点击工具栏无法将源窗口带到前台的问题
2025-07-22 18:35:49 +08:00
Xu
bdd8ee1e56
工具栏优化 (#1199)
* feat: 允许在全屏/窗口模式之间切换

* feat: 只有源窗口在前台才允许切换

* feat: 工具栏支持切换全屏/窗口模式缩放

* chore: 工具栏按钮英文首字母大写
2025-07-19 22:26:43 +08:00
Xu
4df29d8d1b fix: 修复呈现错误 2025-07-15 22:51:16 +08:00
Xu
f385ee690b perf: 用 IDCompositionVirtualSurface 代替 IDCompositionSurface
提高调整缩放窗口尺寸的性能
2025-07-15 21:33:05 +08:00
Xu
04ff6ea0a3
支持使用 clang-cl 编译 (#1195)
* chore: native 项目支持 clang-cl

* chore: 修复 clang 编译错误

* chore: 修复部分 clang 编译警告

* chore: 修复警告

* chore: 修复所有警告,优化 llvm 查找

* chore: 启用 LTO

* chore: 支持 ARM64

* chore: _ConanDeps 支持 clang-cl

* chore: 编译选项改变 _ConanDeps 自动重新编译

* chore: profile 更改时重新编译 _ConanDeps

* chore: 将 hu 和 ka 加入项目文件,但不参与生成
否则不参与批量替换

* chore: Magpie 项目支持并行编译

* chore: 添加几个提高性能的编译选项

* chore: 优化 _ConanDeps

* chore: publish.py 支持参数

* chore: CI 支持 clang 编译

* chore: 修复 CI 的 conan 缓存

* chore: 优化编译选项,修复 CI

* chore: 修复 CI

* chore: 改变参数顺序

* chore: 添加编译选项支持针对当前硬件生成优化代码

* chore: 优化 CI 脚本

* chore: publish.py 添加 --use-native-march 选项

* chore: 脚本集中在 scripts 文件夹,msbuild 启用并行编译

* chore: clang, x64 配置启用 CX16 指令

* chore: 更新依赖

* chore: 更新格式设置

* chore: 增加额外的斜杠以提高兼容性

* chore: 修复效果文件复制
2025-07-15 17:40:04 +08:00
Weblate (bot)
d90470c179
Translations update from Hosted Weblate (#1196)
* Translated using Weblate (Russian)

Currently translated at 100.0% (290 of 290 strings)

Translation: Magpie/UI
Translate-URL: https://hosted.weblate.org/projects/magpie/ui/ru/

* Translated using Weblate (Russian)

Currently translated at 100.0% (290 of 290 strings)

Translation: Magpie/UI
Translate-URL: https://hosted.weblate.org/projects/magpie/ui/ru/

---------

Co-authored-by: NightFox <NightFox@myied.org>
2025-07-12 18:04:13 +08:00
Weblate (bot)
49857616b4
Translations update from Hosted Weblate (#1190)
* Translated using Weblate (Russian)

Currently translated at 100.0% (290 of 290 strings)

Translation: Magpie/UI
Translate-URL: https://hosted.weblate.org/projects/magpie/ui/ru/

* Translated using Weblate (Russian)

Currently translated at 100.0% (290 of 290 strings)

Translation: Magpie/UI
Translate-URL: https://hosted.weblate.org/projects/magpie/ui/ru/

* Translated using Weblate (Russian)

Currently translated at 100.0% (290 of 290 strings)

Translation: Magpie/UI
Translate-URL: https://hosted.weblate.org/projects/magpie/ui/ru/

* Translated using Weblate (Russian)

Currently translated at 100.0% (290 of 290 strings)

Translation: Magpie/UI
Translate-URL: https://hosted.weblate.org/projects/magpie/ui/ru/

---------

Co-authored-by: NightFox <NightFox@myied.org>
2025-07-06 15:53:11 +08:00
Weblate (bot)
ef63609009
Translated using Weblate (Japanese) (#1184)
Currently translated at 100.0% (290 of 290 strings)

Translation: Magpie/UI
Translate-URL: https://hosted.weblate.org/projects/magpie/ui/ja/

Co-authored-by: animeojisan <engine54jp@gmail.com>
2025-07-04 16:56:22 +08:00
Weblate (bot)
e2a421e556
Translations update from Hosted Weblate (#1183)
* Translated using Weblate (Japanese)

Currently translated at 100.0% (290 of 290 strings)

Translation: Magpie/UI
Translate-URL: https://hosted.weblate.org/projects/magpie/ui/ja/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (290 of 290 strings)

Translation: Magpie/UI
Translate-URL: https://hosted.weblate.org/projects/magpie/ui/ja/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (290 of 290 strings)

Translation: Magpie/UI
Translate-URL: https://hosted.weblate.org/projects/magpie/ui/ja/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (290 of 290 strings)

Translation: Magpie/UI
Translate-URL: https://hosted.weblate.org/projects/magpie/ui/ja/

* Translated using Weblate (Japanese)

Currently translated at 100.0% (290 of 290 strings)

Translation: Magpie/UI
Translate-URL: https://hosted.weblate.org/projects/magpie/ui/ja/

---------

Co-authored-by: animeojisan <engine54jp@gmail.com>
2025-07-01 20:31:41 +08:00
Blinue
4ed1ade579 Update version.json 2025-07-01 10:52:04 +00:00
Xu
08851b4d29 feat: Updater 支持 v0.12.0-preview1 v0.12.0-preview1 2025-07-01 18:03:02 +08:00
Xu
d2f4c31599 chore: 支持通过 props 和命令行参数更改编译选项 2025-07-01 14:44:25 +08:00
Xu
a54763050c
窗口化缩放 (#1071)
* feat: 上边框外可以调整大小

* fix: 修正 Win11 中无边框窗口绘制

* fix: LoadLibrary 换成 GetModuleHandle

* feat: 缩放开始时记录 OS 版本

* feat: 适配不同的窗口

* feat: 支持 Win11 的无边框窗口

* fix: 窗口隐藏后停止缩放

* feat: 程序启动时记录 OS 版本

* feat: 缩放无边框窗口支持调整窗口尺寸

* feat: 对于无框架窗口 Win11 中禁用边框和圆角

* feat: Win11 中无边框窗口可以在边框上调整窗口尺寸

* fix: 修复窗口化缩放时最大化窗口会反复尝试缩放的问题

* feat: 无框架窗口在 Win11 中和无标题栏一样处理并禁用边框

* feat: 缩放时以源窗口框架空心点作为目标矩形中心

* feat: 交换链窗口随缩放窗口调整尺寸

* feat: 全屏化缩放前自动调整源窗口位置
Graphics Capture 不再支持屏幕捕获

* feat: 裁剪失败显示错误消息

* feat: 调整缩放窗口尺寸时缩放区域长宽比保持不变

* feat: 缩放窗口位置或尺寸有变化时自动调整源窗口位置

* fix: 修复无法调整尺寸的 bug

* fix: 修复窗口化缩放时缩放窗口有时在假边框下面

* feat: 平滑地调整窗口尺寸

* perf: 检查交换链尺寸是否发生变化

* feat: 初步实现调整渲染分辨率
存在显存泄露

* fix: 修复显存泄露

* fix: 修复 CursorDrawer 保存旧 back buffer 的问题

* fix: 修复特定情况下 imgui 中崩溃

* fix: 尝试修复调整尺寸时的闪烁

* feat: 避免调整缩放窗口大小时渲染暂停

* perf: 避免调整大小时重复渲染

* fix: 修复调整大小时有时 FPS 无法及时更新的问题

* chore: 更新依赖

* fix: 使用 DwmFlush 等待屏幕刷新

* fix: ImGui 的更新导致字体缓存不再兼容

* fix: 修复移动缩放窗口后渲染出错

* feat: 鼠标在源窗口的标题栏上时可以拖动缩放窗口

* feat: 删除禁用窗口大小调整选项

* chore: 修改措辞

* fix: 优化调整尺寸的流畅度

* chore: 修复编译

* refactor: 添加抽象对象 Presenter,以在 SwapChain 和 DComp 两种呈现方式间切换

* fix: 修复字体缓存保存问题和优化 Win32Helper::WriteFile

* feat: 实现 DirectComposition 呈现

* refactor: 两个呈现器共用的代码移动到基类

* feat: 降低延迟和添加注释

* feat: 完成 DirectComposition 支持

* feat: 禁用 DirectFlip 时使用 DirectComposition 呈现,无需其他操作

* fix: 修复叠加层渲染

* fix: 修复叠加层鼠标输入

* feat: 3D 游戏模式不再支持叠加层

* perf: 3D 游戏模式下降低渲染光标的频率

* chore: 修复编译警告

* feat: 不再单独显示 FPS
将集成在工具栏里

* feat: 实现工具栏原型

* feat: 优化工具栏样式

* feat: 不再支持隐藏光标

* fix: 修复 Win11 加载字体

* refactor: 叠加层多处重构

* feat: 叠加层支持追加和删除 Bicubic

* perf: 稍微优化构建字体性能

* refactor: 简化 OverlayDrawer

* chore: 更新依赖

* feat: 为工具栏添加更多按钮

* feat: 缩放时支持显示消息

* feat: 实现自动隐藏工具栏

* fix: 修复鼠标在窗口外移动不会更新工具栏透明度的问题

* fix: 优化 ImGui 样式

* feat: ImGui 窗口可关闭

* fix: 修复鼠标被前台窗口捕获时工具栏突然消失

* feat: 工具栏上可以拖拽缩放窗口

* fix: 鼠标被工具栏中的按钮捕获时不要隐藏工具栏

* feat: 调试模式不再影响鼠标逻辑

* fix: 优化工具栏行为

* fix: 修复调整缩放窗口大小时鼠标被叠加层捕获的问题

* fix: 修复拖拽缩放窗口时鼠标跳跃

* feat: 优化工具栏以符合 Fitts 法则

* refactor: Magpie.Core 的接口始终使用 UTF-8

* chore: 更新依赖

* fix: 提高移动光标的可靠性

* feat: 添加新的设置项用于保存叠加层窗口位置

* feat: 初步实现叠加层窗口适配大小调整

* feat: 优化叠加层窗口贴靠规则

* feat: 简化贴靠规则

* feat: 再次优化贴靠规则

* fix: 修复捕获光标后有时光标形状不更新的问题

* feat: 工具栏和其他窗口状态独立

* feat: 调整主页 UI

* feat: 调整 UI

* feat: 新 UI 支持多语言

* feat: 实现工具栏状态切换

* feat: 切换工具栏时显示消息

* fix: 叠加层调试信息在定义 DEBUG_OVERLAY 时显示

* perf: 非 WGC 使用 D3D11_CREATE_DEVICE_SINGLETHREADED

* feat: 添加实验性 composition swapchain 呈现器

* feat: 增加错误处理和日志

* feat: 窗口化缩放时通常情况使用交换链,调整大小时使用 DirectComposition
Win11 24H2 中交换链即使在窗口化时也能触发 independent flip

* fix: 修复 Win10 缺失“缩放模式”图标的问题

* fix: 修复关闭工具栏按钮功能

* chore: 更新依赖

* refactor: SwapChainPresenter 重命名为 AdaptivePresenter

* fix: 禁用 DirectFlip 时始终使用 DirectComposition 呈现
以及添加错误处理

* fix: 修复调试模式下缩放窗口非客户区更新

* feat: 工具栏支持本地化

* feat: Win11 中使用 DCompositionWaitForCompositorClock 等待 DWM
以及更新 CompSwapchainPresenter

* chore: 修正文件名

* fix: 修复被调试器暂停后消息弹窗无法关闭的问题

* perf: 优化 composition swapchain 的延迟

* feat: 添加 3D 游戏模式的解释和错误弹窗

* feat: 初步实现截图

* perf: 在后台线程编码图片

* chore: 实验或调试用宏集中在 CommonDefines.h 中

* feat: 支持保存任意效果的输出

* feat: 支持指定截图保存目录

* refactor: 全局包含 <filesystem>

* refactor: 更多使用 filesystem
支持长路径,而 Win32 API 在这方面进展缓慢

* refactor: 更多使用 filesystem

* refactor: 更多使用 filesystem

* feat: 实现截图命名机制

* fix: 优化并发支持

* fix: 修复大批量并发截图可能导致死锁的问题

* feat: 本地化截图消息

* feat: 截图按钮支持右键保存指定效果的输出

* feat: 本地化

* feat: 统一 Win10 和 Win11 中“缩放时调整光标速度”选项的图标

* chore: 避免全局包含 shellapi.h 和 Shlwapi.h

* fix: 默认快捷键的 Win 改为 Alt 以避免和系统快捷键冲突 (#1150)

* fix: 不在任何屏幕上的窗口不检查自动缩放 (#1151)

* feat: 只允许最后一个通道写入 OUTPUT
为了方便截图

* feat: 效果的中间结果保存为 dds

* chore: 删除加载 DDS 代码中无用部分
不再支持读取缓冲区、1D/3D 纹理等,节省了约 3KB

* docs: 明确 DDS 图像只支持 2D 纹理,但允许使用 mipmap

* feat: 实现导出任意通道的任意输出

* perf: 优化导出中间结果的性能

* feat: 调整 UI 文字

* feat: 优化初始缩放窗口尺寸

* fix: 修复点击标题栏无法激活缩放窗口的问题

* fix: 修复源窗口被遮挡就无法通过标题栏拖拽缩放窗口

* fix: 修复有时工具栏无法拖拽的问题

* chore: 增加日志

* feat: 支持改变窗口模式缩放初始缩放倍数

* feat: 本地化

* feat: 第一帧完成再显示缩放窗口

* fix: 减少缩放开始时的光标闪烁

* fix: 提前隐藏光标

* feat: 推迟显示黄色边框和禁用窗口圆角

* feat: 上边框视为标题栏

* chore: 更新依赖

* feat: 窗口化缩放初始位置确保标题栏在屏幕内

* fix: 缩放窗口移动后调整光标位置

* feat: 初步支持触控

* fix: 稍微提高 _ReliableSetCursorPos 等待时长

* feat: 调整缩放窗口大小或移动缩放窗口暂时禁用触控变换

* feat: 优化检查标题栏逻辑
支持 Win11 文件管理器、Windows Terminal 等

* fix: 修复调整大小时纹理尺寸计算错误

* perf: 使用 UpdateSubresource1 更新缓冲区

* fix:  窗口模式缩放时将缩放比例为 1 的 Fit 视为 Fill

* feat: 不再支持 Magpie.ToolWindow 属性
现在源窗口不在前台也能继续缩放,而 3D 游戏模式下这个功能没有意义

* feat: 源窗口离开和回到前台时广播事件

* chore: 注释和文档

* docs: 更新文档

* feat: WM_WINDOWPOSCHANGING 中确保等比例缩放

* feat: 全屏模式缩放时允许被 SetWindowPos 移动和改变尺寸

* feat: 自定义初始缩放倍数改为 1.25
和 UI 优化

* feat: 将缩放后的光标限制在屏幕内

* chore: 代码优化

* perf: 只有一个显卡时避免计算显卡选项

* fix: 优化鼠标行为

* fix: 优化叠加层存在弹窗时鼠标交互

* feat: 为一些选项添加说明
增大自动计算的初始缩放倍数

* refactor: 重构调整大小消息的响应

* feat: 删除初始缩放倍数的说明

* feat: 自动缩放可以选择全屏或窗口模式

* feat: 缩放窗口可跟随源窗口移动
由于命中测试可能非常耗时,转到后台执行

* fix: 使通过上边框拖动缩放窗口更加可靠

* fix: 修复鼠标从标题栏移到上边框的过程有一瞬间的闪烁

* feat: 使得源窗口调整尺寸的区域可以调整缩放窗口尺寸

* fix: 优化全屏缩放的鼠标行为

* fix: 优化鼠标行为

* feat: 源窗口移动时临时还原光标移动速度和禁用 DirectFlip

* fix: 修复内存损坏错误

* fix: 更可靠地检查缩放是否结束

* feat: 拖拽源窗口时保持光标位置稳定

* feat: 拖拽缩放窗口时保持光标位置稳定

* fix: 优化拖拽

* fix: 修复禁用 DirectFlip 导致的崩溃

* feat: 适配自己实现拖拽逻辑的窗口

* chore: 更新依赖

* fix: 防止拖动源窗口时光标超出屏幕

* fix: 修复舍入误差导致光标可能移到屏幕外

* fix: 优化和被 DPI 虚拟化的窗口的兼容性

* feat: 删除源窗口移动时临时禁用 DirectFlip

* fix: 光标不在缩放窗口上时禁止和工具栏交互

* fix: 移动源窗口结束后确保缩放窗口标题栏可见

* fix: 避免调整窗口使标题栏可见导致光标位置跳跃

* fix: 优化拖动源窗口时将光标限制在屏幕内

* perf: 异步移动源窗口,使缩放的移动和调整大小更加平滑

* fix: 拖动缩放窗口时检测源窗口大小变化

* fix: 正确处理缩放窗口的 DPI 变化

* fix: 拖动源窗口时广播 WM_MAGPIE_SCALINGCHANGED

* feat: 声明首选显示器选项仅适用于全屏模式缩放

* fix: 优化触控调整缩放窗口大小的体验

* fix: 销毁缩放窗口前取消置顶,添加日志

* chore: 修复编译

* refactor: 检查源窗口逻辑集中在 SrcTracker

* fix: 修复源窗口挂起时缩放线程在 SetWindowPos 中卡死的问题

* fix: 修复调整大小中途源窗口挂起导致卡死的问题

* fix: CursorManager 析构时等待异步命中测试完成

* fix: 优化命中测试,不受源窗口卡死影响

* fix: 修复叠加层窗口圆角

* fix: 取消修复源窗口挂起时缩放线程在 SetWindowPos 中卡死的问题
它导致拖动性能下降

* fix: 修复有时切换前台窗口后 Z 顺序混乱

* fix: 删除不再需要的 SetWindowPos

* feat: 暂时删除格鲁吉亚语和匈牙利语
完成度太低

* fix: 修复全屏缩放对 DPI 变化的响应

* fix: 修复错误裁剪滚动条和 Win11 24H2 中 Graphics Capture 错误裁剪最大化窗口

* feat: 优化触控拖动源窗口的体验

* refactor: 重构 TouchHelper 和项目文件
TouchHelper 支持日志
Magpie.Core 部分文件移动到 Shared

* chore: TouchHelper 不再向主程序发送消息

* refactor: 简化 TouchHelper 逻辑

* fix: 日志文件路径使用宽字符
spdlog 默认使用 ANSI 编码,但支持使用宽字符文件名

* fix: 不再使用 SetForegroundWindow 的 trick
有时会导致奇怪的行为

* feat: Updater 支持日志

* feat: 添加工具栏不支持触控输入的警告

* fix: 修复 TouchHelper 日志错误
2025-06-30 19:53:02 +08:00