我已经研究了一段时间,我似乎无法找到如何实现这一目标。
有一个非常明确的标题 emscripten_get_canvas_size,它没有做我期望它做的事情。实际的 Emscripten 画布元素已设置为 100% 的宽度和高度,但是如果我通过 emscripten_get_canvas_size 检索宽度和高度,我只会获得画布内显示的 GLFW 窗口的宽度和高度,而不是画布缩放到的实际尺寸。
我想获得浏览器中显示的实际画布大小,以便我可以调用 glfwSetWindowSize 来缩放视口以填充整个浏览器窗口。
即使我将画布设置为 100x100px,emscripten_get_canvas_size 也只会返回我在程序开始时通过 glfwSetWindowSize 设置的 1920x1080。
我可能遗漏了一些明显的东西,但是什么?
我对使用 Emscripten 的 GUI 编程知识为零,但您可以制作自己的函数来获取 HTML 画布大小。例如:
// These are JavaScript code in C/C++ file
#include <emscripten.h>
EM_JS(int, canvas_get_width, (), {
return yourCanvasElement.width;
});
EM_JS(int, canvas_get_height, (), {
return yourCanvasElement.height;
});
// Then call
int width = canvas_get_width();
int height = canvas_get_height();
Run Code Online (Sandbox Code Playgroud)
可以在官方文档中学习如何用C/C++代码创建JS代码。
| 归档时间: |
|
| 查看次数: |
1050 次 |
| 最近记录: |