Implement wxEVT_WEBVIEW_FULLSCREEN_CHANGED in GTK

This commit is contained in:
Tobias Taschner
2021-02-09 21:48:00 +01:00
parent 1aad333ab9
commit a3f85e9cd5
2 changed files with 35 additions and 1 deletions

View File

@@ -253,6 +253,34 @@ wxgtk_webview_webkit_new_window(WebKitPolicyDecision *decision,
return TRUE;
}
static gboolean
wxgtk_webview_webkit_enter_fullscreen(WebKitWebView *WXUNUSED(web_view),
wxWebViewWebKit *webKitCtrl)
{
wxWebViewEvent event(wxEVT_WEBVIEW_FULLSCREEN_CHANGED,
webKitCtrl->GetId(),
wxString(),
wxString());
event.SetInt(1);
webKitCtrl->HandleWindowEvent(event);
return FALSE;
}
static gboolean
wxgtk_webview_webkit_leave_fullscreen(WebKitWebView *WXUNUSED(web_view),
wxWebViewWebKit *webKitCtrl)
{
wxWebViewEvent event(wxEVT_WEBVIEW_FULLSCREEN_CHANGED,
webKitCtrl->GetId(),
wxString(),
wxString());
event.SetInt(0);
webKitCtrl->HandleWindowEvent(event);
return FALSE;
}
static gboolean
wxgtk_webview_webkit_decide_policy(WebKitWebView *web_view,
WebKitPolicyDecision *decision,
@@ -583,6 +611,12 @@ bool wxWebViewWebKit::Create(wxWindow *parent,
g_signal_connect(m_web_view, "create",
G_CALLBACK(wxgtk_webview_webkit_create_webview), this);
g_signal_connect(m_web_view, "enter-fullscreen",
G_CALLBACK(wxgtk_webview_webkit_enter_fullscreen), this);
g_signal_connect(m_web_view, "leave-fullscreen",
G_CALLBACK(wxgtk_webview_webkit_leave_fullscreen), this);
WebKitFindController* findctrl = webkit_web_view_get_find_controller(m_web_view);
g_signal_connect(findctrl, "counted-matches",
G_CALLBACK(wxgtk_webview_webkit_counted_matches),