Как получить GLFW Window Id? - PullRequest
       9

Как получить GLFW Window Id?

0 голосов
/ 25 октября 2018

Я хочу визуализировать видеопоток gstreamer в окне glfw.Согласно оверлейному дизайну gstreamer, если вы дадите связанный winId, он будет отображатьсяКак пример Qt:

  QWidget window;
  window.resize(320, 240);
  window.show();

  WId xwinid = window.winId();
  gst_video_overlay_set_window_handle (GST_VIDEO_OVERLAY (sink), xwinid);

Но я не смог найти winId с GLFW.

GLFWwindow* window = glfwCreateWindow(...);

У него тип структуры окна, но это все.Есть ли способ получить его идентификатор или я должен пойти другим путем для glfw?

Спасибо.

1 Ответ

0 голосов
/ 25 октября 2018

Для GLFW 3, просто посмотрите на документацию, она должна дать вам ответ , но это не кроссплатформенность и может быть рискованным, как говорит док:

Используя встроенные функции доступа, вы утверждаете, что знаете, что делаете и как решать проблемы, вызванные их использованием.Если вы этого не сделаете, вы не должны использовать их :

Для Windows, если вы хотите Win32 дескриптор окна:

1) определить GLFW_EXPOSE_NATIVE_WIN32

2) include glfw3native.h

3) use HWND glfwGetWin32Window (GLFWwindow *window)

Вы также можете найти эквиваленты для X11 и Cocoa ...

Редактировать: ДляX11, если вам нужен объект Window:

1) определить GLFW_EXPOSE_NATIVE_X11

2) include glfw3native.h

3) использовать Window glfwGetX11Window (GLFWwindow *window)

...