zeromake

Results 102 comments of zeromake

@xfangfang 全是 win32 和 libc 函数依赖,应该是 Microsoft Store Windows SDK 不支持很多 win32 函数,我可以尝试找一下看看有没人做c#的预编译版主要是 libmpv 和 sdl2 依赖了一把东西(大概率是不行,上回也找过一次都是只支持 win32 的 uwp),应用清单资源测试到是好处理,应该就是 resources.pri 里有资源没放好。

@LonelyWindG uwp 用的 sdl 的输入,我上次只做了 win32 的测试,uwp 还真没测试,粘贴复制,由于 wiliwili 用的框架问题根本不能绑定键盘,上次做了一版代码太烂效果也不好就没做粘贴复制

@xfangfang @LonelyWindG 今天翻了一下代码发现 sdl 并没有做 winrt 的输入法支持(只是尝试调起了虚拟键盘),之前做 sdl 输入法的时候用的是 win32 的去测试的……

@xfangfang 这个我知道是怎么回事,win32 的默认事件处理对于窗口标题栏右键和窗口移动都是阻塞的,手动实现这些事件就不会阻塞事件循环了,glfw 那边就是没手动实现

@xfangfang 今天加班摸鱼发现了 [sokol_app.h](https://github.com/floooh/sokol/blob/master/sokol_app.h#L7539) 有另一种方案,用 `SetTimer` 和 `KillTimer` 就能做了,`WM_TIMER` 里触发绘制,`WM_NCRBUTTON` 是我自己加的 sokol 没做处理。 ```c LRESULT CALLBACK _sapp_win32_wndproc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_NCLBUTTONDOWN: //...

@xfangfang 貌似有人做过 dx11 的 mpv 后端(貌似已经在 mpv 主仓库了,应该是一些特性吧) https://github.com/mpv-player/mpv/issues/5979 nanovg 的话也有人做了 dx11 的后端 https://github.com/cmaughan/nanovg 不过 winrt 的窗口创建还是比较麻烦的,记得 sdl2 有 winrt 支持

@xfangfang 我在尝试了,不过有些问题,因为不熟悉 cmake,我把 borealis 改成了我比较熟悉的 xmake 编译 https://github.com/zeromake/borealis 但是发现几个依赖有些问题: 1. yoga 1.19.0 没法用,wiliwili/library/lib/extern/yoga 是哪个版本。 2. fmt tweeny 都没法用最新的,会出现奇怪的编译错误,完全看不懂为什么会报错的那种,能说一下 wiliwili/library/lib/extern 里的版本吗? 其它依赖倒是没啥问题,一些 xmake 官方没有维护的库我自己放到 https://github.com/zeromake/xrepo 里了。

@xfangfang fmt 找到为啥了,9.1.0 不支持 `unsigned char*` 作为参数了 https://github.com/fmtlib/fmt/issues/3307 tweeny 是打包的 .h 里漏掉了 `#include `

@xfangfang yoya 搞定了,用最新的 main 分支就行了,不过 event 被放到 facebook 命名空间下了,我先实现一下 glfw 的 nanovg dx11 demo 吧,winrt 窗口必须要 vs 项目编译,还没找到 cmake 支持的。

@xfangfang 人在公司只有 macbook,先拿 nanovg 的 metal 实现练了个手,问题不大就是两个地方 - 一个是 glfw 在 cocoa 上的鼠标事件不需要乘 scaleFactor(鼠标点击飞的莫名奇妙)。 - 还有一个是 nvgBeginFrame 最后一个参数在 cocoa 上该用 scaleFactor 而不是 pixelRatio(无法铺满全部窗口,点击也会错位)。 [commit](https://github.com/zeromake/borealis/commit/16b71c64f5ded5a27bfadc9dbf8f8c3164635ec4) 现在有个问题,我在 `glfwWindowFramebufferSizeCallback` 需要访问在 `GLFWVideoContext::GLFWVideoContext` 里创建的变量,现在是用全局变量搞的,`Application::getPlatform()->getVideoContext()` 的话貌似还没设置上。