我已经研究了一段时间了,但我似乎找不到解决方法。
有一个非常清晰的标题emscripten_get_canvas_size,它没有实现我期望的功能。实际的Emscripten canvas元素已设置为100%的宽度和高度,但是如果我通过emscripten_get_canvas_size检索宽度和高度,我只是获得在画布内部显示的GLFW窗口的宽度和高度,而不是画布缩放到的实际尺寸。
我想获取浏览器中显示的实际画布大小,以便可以调用glfwSetWindowSize来缩放视口以填充整个浏览器窗口。
即使将画布设置为100x100px,emscripten_get_canvas_size也只会返回我在程序开始时通过glfwSetWindowSize设置的1920x1080。
我可能缺少明显的东西,但是呢?
答案 0 :(得分:1)
我对使用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();
您可以在the official document中学习如何用C / C ++代码创建JS代码。