我在GLFW3 documentation寻找原生API访问权限以获取HWND
,但它不在我的GLFW/glfw3.h
文件中。是否有任何#define
能够通过编译器找到它?我也不能使用text-finder
在文件本身中手动找到它,所以我怎么能得到它?
PS。我无法标记glfw3
。
修改
代码:
#define GLFW_INCLUDE_GLU
#define GLFW_EXPOSE_NATIVE_WGL
#define GLFW_EXPOSE_NATIVE_WIN32
#include <GL/GLFW/glfw3native.h>
#include <GL/GLFW/glfw3.h>
#include <ctime>
#include <cstdlib>
...
int main()
{
//glfw setup
...
//bla bla bla
...
//all I want to do is to call this one
ScreenToClient( glfwGetWin32Window(window), &point);
}
答案 0 :(得分:1)
在对你的问题感到困惑后,我尝试了自己,我认为包括订单是你的问题。一个模仿Linux的最小代码示例,您尝试在Windows上编译并按预期工作:
#define GLFW_EXPOSE_NATIVE_X11
#define GLFW_EXPOSE_NATIVE_GLX
#include <GLFW/glfw3.h>
#include <GLFW/glfw3native.h>
int main (int argc, char ** argv)
{
glfwInit();
GLFWwindow* window = glfwCreateWindow (256, 256, "GLFW", nullptr, nullptr);
glfwGetX11Window(window);
glfwTerminate();
return 0;
}
编辑:添加了glfwTerminate()
的更新,以便进行适当的清理工作。请注意,当然应该进行适当的错误检查,但为了演示一个最小的例子,上面就足够了。