Я искал собственный API-интерфейс в документации GLFW3, чтобы получить 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);
}
После того, как вы смутили свои проблемы, я попробовал это самостоятельно, и я думаю, что заказ на заказ - это ваша проблема. Минимальный пример кода, который имитирует 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;
}
EDIT: добавлена инсталляция glfwTerminate()
для правильной очистки. Обратите внимание, что, конечно, должна проводиться соответствующая проверка ошибок, но для демонстрации минимального примера достаточно вышесказанного.
glfw3native.h
?