問題タブ [gtk4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gtk - gtk4でGtkDrawingAreaに属するXウィンドウを取得するには?
gstreamer の GUI 統合チュートリアル ( https://gstreamer.freedesktop.org/documentation/tutorials/basic/toolkit-integration.html?gi-language=c ) を gtk3 から gtk4 に移植しようとしていました。GtkDrawingArea に属する X ウィンドウを取得する際に問題が発生しています。gtk3 では、XID を取得して GstVideoOverlay に渡すために、次のアプローチが使用されます。
Gtk4 で同じことを行う方法がわかりません。Gtk4 は Wayland 用語を使用しているため、XID を取得するための gdk の関数はGDK_SURFACE_XID()
引数として GdkSurface* を取り、Gtk3 と同様に GdkSurface へのポインターを取得するための直接関数は GtkWidget にはありませんgtk_widget_get_window
。
GtkDrawingArea を使用しgtk_widget_get_native
て GtkNative を取得し、GdkSurface をアタッチしようとしましたが、GtkWindow のサーフェスを返しています。
gst_video_overlay_set_window_handle
ウィジェットでビデオを再生できるようにXID を渡す方法を探しています。
私は Gtk と Gstreamer の両方にかなり慣れていないので、理解のギャップをお詫びします。