Merge branch 'zhongyang219:master' into master
refactor: 规范类型命名
feat: 添加了构造和析构对象的辅助函数
feat: Nullable类允许复制和移动
chore:为PluginDemo和TrafficMonitor启用多处理器编译(/MP选项)
refactor: 独立出HResultException类以及一些通用函数
Merge branch 'tmp' into TransparentSupport
feat:添加了hook user32下的DrawText系列函数的框架
项目改为VS2022
插件接口更新,新增键盘事件接口
refactor:移动类并添加函数到Common.h 移动StaticVariableWrapper类及辅助函数到Common.h中 添加了GetArrayLength用于编译期推断数组长度
fix: 修复了D2D1DrawCommon::SetFont中logfont类型和函数调用不匹配的问题
refactor: 将SAFE_RELEASE重命名为RELEASE_COM
fix: 完善了D2D渲染器的异常处理 在D2D1DrawCommon中抛出异常不会引起程序崩溃,而是回退到GDI渲染并记录日志。
fix: 修复了D2D渲染时插件自绘透明度不正确的问题 但是关闭了插件自绘时的文本抗锯齿,会影响渲染的文本质量
refactor: 格式化代码
refactor: 减少警告
feat: 添加了DrawCommonBuffer更新窗口失败的处理函数 DrawCommonBuffer更新窗口失败时会弹窗提示并自动禁用D2D渲染,同时也会写入错误日志 减小了DrawCommonBuffer类体积 修复了DrawCommonHelper::ForEachPixelInBitmapForDraw函数遍历范围不正确的问题
feat: 默认不启用Direct2D渲染
fix: 删去了D2D渲染在GDI交互时多余的alpha通道处理
feat: 允许在设置中禁用D2D渲染
fix: 修复了多个内存问题和D2D渲染器的不正确行为 修复了DrawCommonUnion和DrawCommonBufferUnion未正确初始化Nullable类型对象导致的内存错误。 修复了D2D1DCSupport未正确初始化内存导致的错误。 修复了DWriteFont未释放的内存泄露问题。 修复了无法正常检测D2D是否存在的问题 修复了D2D渲染器无法绘制虚线的问题。 修复了D2D渲染器DPI处理不正确的问题。 修复了D2D渲染器函数ExecuteGdiOperation无法在绘制过程中正确与GDI交互的问题。 为D2D渲染器引入了延迟加载特性,如果软件本身不触发D2D渲染则渲染器将不会初始化。 #777 #955 #837
feat: 提供了D2D渲染功能,但还不能被正确调用 使用IDrawCommon抽象了原有的渲染接口并使用D2D实现。使用IDrawBuffer抽象了原有的双缓冲类。
feat: 添加初步的D2D1绘图支持 同时修复了编译错误
restore max retry limit
feat: 添加了支持alpha通道的绘图缓冲类 类DrawCommonBuffer会在构造时创建一个ARGB32的缓冲区用于绘图,并在析构时调用::UpdateLayeredWindowIndirect通知Windows更新窗口后删除缓冲区
优化英文README
typo
Fix typo in English translation and add spaces to Chinese (Traditional) translation
fix: incorrect TaskBarDlg position on win11 22581.100