Commit graph

113 commits

Author SHA1 Message Date
Xu Liu
30aef19479 feat: 当在覆盖层上使用滚轮时拦截发送给源窗口的滚轮消息
使用了鼠标钩子,被报毒风险增加
2022-04-25 15:43:00 +08:00
Xu Liu
ddd24fc768 feat: 显示捕获和覆盖层的GPU时间 2022-04-19 21:50:33 +08:00
刘旭
3bc9bb8b52 refactor: 分离运行时配置逻辑 2022-04-11 16:21:28 +08:00
Xu Liu
2166169223 feat: 支持使用快捷键显示和隐藏覆盖层 2022-04-10 21:59:37 +08:00
Xu Liu
1fa60b5920 refactor: 重构限制光标的逻辑 2022-04-09 18:46:43 +08:00
Xu Liu
d47662fba5 feat: 在特定情况下点击全屏窗口会激活源窗口 2022-03-26 21:44:28 +08:00
Xu Liu
62b807a27f feat: 支持多屏幕
不再区分是否使用多个屏幕
2022-03-26 15:55:57 +08:00
Xu Liu
e6243d1f86 fix: 修复多屏幕下退出全屏崩溃问题
fixes #335
2022-03-17 20:05:04 +08:00
刘旭
5df26c9411 Merge branch 'dev' into mega/compute 2022-02-23 16:15:12 +08:00
刘旭
123c70c39d fix: 启用“在 3D 游戏中限制光标”时不使用多屏幕
fixes #321
2022-02-23 16:13:15 +08:00
刘旭
4b25e5c43d refactor: 将 App::GetInstance 重命名为 App::Get 2022-02-18 15:59:20 +08:00
刘旭
73f41de149 refactor: 重构日志机制 2022-02-18 15:45:43 +08:00
Xu Liu
b054edf54a feat: 裁剪 ImGUI 的渲染目标
有没有更简单的方法?
2022-02-14 21:30:38 +08:00
刘旭
d7af567b79 feat: FPS 改为在 ImGUI 中显示 2022-02-14 17:13:12 +08:00
刘旭
769f02bbc3 feat: 显示 ImGUI 的 demo 窗口 2022-02-14 14:11:35 +08:00
刘旭
4320dc8b25 refactor: 降低 App::Run 的复杂度 2022-02-14 10:09:44 +08:00
刘旭
afc60e59f6 refactor: 将禁用窗口大小调整和窗口圆角的职能移到 FrameSourceBase 中以简化 App::Run 2022-02-14 09:37:43 +08:00
Xu Liu
4562a3a35b refactor: 添加 DeviceResources 管理底层 D3D 资源
进一步降低编译单元间的耦合度
2022-02-14 00:05:54 +08:00
Xu Liu
2961970388 refactor: StepTimer 重命名为 GPUTimer
GPUTimer 负责记录帧率和 GPU 时间
2022-02-13 20:09:57 +08:00
Xu Liu
0ed6c2fb3b refactor: 从 FrameSource 获取源窗口大小 2022-02-13 19:52:39 +08:00
Xu Liu
76a2193b41 refactor: 使用 winrt::com_ptr 替代 WRL::ComPtr 2022-02-13 19:38:33 +08:00
Xu Liu
b140ae2e9f feat: 不再支持指定帧率 2022-02-13 18:36:10 +08:00
Xu Liu
989a09cf86 refactor: 减少编译单元间的依赖 2022-02-13 17:51:53 +08:00
刘旭
5eb4ff606d fix: 优化创建全屏窗口的时机 2022-01-28 15:57:23 +08:00
Xu Liu
21e9b4c61a feat: 添加错误消息 2022-01-19 19:10:36 +08:00
Xu Liu
ed6f644384 feat: 实现自定义裁剪功能 2022-01-18 18:58:25 +08:00
Xu Liu
52f43bdfb8 fix: 优化 CRT-Geom 预设的参数
来自 https://github.com/Blinue/Magpie/issues/160#issuecomment-1005558721
2022-01-15 15:38:27 +08:00
Xu Liu
c5c68666c7 refactor: 优化对特殊窗口的裁剪操作的处理 2022-01-08 23:39:25 +08:00
刘旭
f9ec816986 fix: 优化创建 DDF 窗口的时机 2021-12-29 17:15:38 +08:00
刘旭
6de6d1aee1 refactor: 将捕获模式分为两类:屏幕捕获和窗口捕获
尽量不直接使用 GetCaptureMode,而是将捕获模式的特性实现为公共方法
2021-12-29 14:15:07 +08:00
Xu Liu
01652401ea fix: 修复 DesktopDuplication 捕获模式和禁用 DirectFlip 的兼容性 2021-12-28 18:08:10 +08:00
Xu Liu
63c7fcc338 fix: 修复有时禁用DirectFlip导致灰屏的问题 2021-12-27 20:00:13 +08:00
Xu Liu
932874882c feat: 添加模拟独占全屏的功能 2021-12-27 18:51:48 +08:00
Xu Liu
47ba53d036 feat: Desktop Duplication 允许小的弹窗而不退出全屏 2021-12-26 16:38:59 +08:00
Xu Liu
221091ebdc fix: 退出全屏时正确还原源窗口状态 2021-12-25 20:30:15 +08:00
刘旭
6eae6c6bc8 fix: 优化错误处理 2021-12-23 16:38:19 +08:00
刘旭
3c0946faff perf: 优化多屏幕模式的性能 2021-12-23 16:09:05 +08:00
Xu Liu
ef57d36569 feat: 只在必要的时候进入多屏幕模式 2021-12-22 19:32:34 +08:00
刘旭
c87e472fb7 Revert "feat: 使用底层hook优化光标在窗口边界的移动"
This reverts commit 84ad9ce2a8.
2021-12-21 15:52:55 +08:00
刘旭
bd01db0d35 fix: 修复有时移动光标失败的问题 2021-12-21 15:51:59 +08:00
刘旭
84ad9ce2a8 feat: 使用底层hook优化光标在窗口边界的移动
实验性的更改,似乎太过hack,增加了被报毒可能性
2021-12-21 15:11:59 +08:00
Xu Liu
698217ee47 fix: 优化边界检测
WGC 捕获模式似乎会随机导致 MagShowSystemCursor(TRUE) 无效
2021-12-20 19:26:00 +08:00
刘旭
0ab13bcfb8 feat: 实现光标进入全屏窗口的逻辑
难点在于自动调整光标位置,以及存在权限方面的问题,SetCursorPos 无法移动到权限更高的窗口上
2021-12-20 11:21:26 +08:00
Xu Liu
d68a2e0622 feat: 实现多屏幕支持 2021-12-19 17:47:57 +08:00
Xu Liu
2954d712be feat: 移除禁用窗口圆角选项
现在始终在需要的时候禁用窗口圆角
2021-12-19 13:06:55 +08:00
Xu Liu
01000f629b UI: 优化用户界面 2021-12-19 11:31:02 +08:00
Xu Liu
a0bb07d0bf fix: 修复 Graphics Capture 无法捕获某些窗口的问题 2021-12-16 18:40:04 +08:00
刘旭
cb7b5e3a19 fix: 正确关闭 DDF 窗口 #244
事实上开发分支无此 bug
2021-12-16 14:57:43 +08:00
Xu Liu
3d87d7d152 feat: DesktopDuplication 在窗口跨越屏幕时自动将它移到屏幕中央 2021-12-12 22:12:58 +08:00
Xu Liu
3404e510eb refactor: FrameSource 初始化完成后再计算源窗口边框
因为 FrameSource 初始化过程中可能改变源窗口位置
2021-12-12 21:19:28 +08:00