initial commit
Signed-off-by: Peter Siegmund <mars3142@noreply.mars3142.dev>
This commit is contained in:
97
libs/wxWidgets-3.3.1/include/wx/webview_chromium_impl.h
Normal file
97
libs/wxWidgets-3.3.1/include/wx/webview_chromium_impl.h
Normal file
@@ -0,0 +1,97 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/webview_chromium_impl.h
|
||||
// Purpose: Helpers for implementing custom CefClient for wxWebViewChromium
|
||||
// Author: Vadim Zeitlin
|
||||
// Created: 2024-02-17
|
||||
// Copyright: (c) 2024 Vadim Zeitlin <vadim@wxwidgets.org>
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_WEBVIEW_CHROMIUM_IMPL_H_
|
||||
#define _WX_WEBVIEW_CHROMIUM_IMPL_H_
|
||||
|
||||
// Note that this header includes CEF headers and so the appropriate include
|
||||
// path should be set up when using it.
|
||||
|
||||
#ifdef __VISUALC__
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable:4100)
|
||||
#endif
|
||||
|
||||
wxGCC_WARNING_SUPPRESS(unused-parameter)
|
||||
|
||||
#include "include/cef_client.h"
|
||||
|
||||
wxGCC_WARNING_RESTORE(unused-parameter)
|
||||
|
||||
#ifdef __VISUALC__
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Convenient base class for custom CefClient implementations.
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class wxDelegatingCefClient : public CefClient
|
||||
{
|
||||
public:
|
||||
// Forward all CefClient methods to the original client.
|
||||
virtual CefRefPtr<CefAudioHandler> GetAudioHandler() override
|
||||
{ return m_clientOrig->GetAudioHandler(); }
|
||||
virtual CefRefPtr<CefCommandHandler> GetCommandHandler() override
|
||||
{ return m_clientOrig->GetCommandHandler(); }
|
||||
virtual CefRefPtr<CefContextMenuHandler> GetContextMenuHandler() override
|
||||
{ return m_clientOrig->GetContextMenuHandler(); }
|
||||
virtual CefRefPtr<CefDialogHandler> GetDialogHandler() override
|
||||
{ return m_clientOrig->GetDialogHandler(); }
|
||||
virtual CefRefPtr<CefDisplayHandler> GetDisplayHandler() override
|
||||
{ return m_clientOrig->GetDisplayHandler(); }
|
||||
virtual CefRefPtr<CefDownloadHandler> GetDownloadHandler() override
|
||||
{ return m_clientOrig->GetDownloadHandler(); }
|
||||
virtual CefRefPtr<CefDragHandler> GetDragHandler() override
|
||||
{ return m_clientOrig->GetDragHandler(); }
|
||||
virtual CefRefPtr<CefFindHandler> GetFindHandler() override
|
||||
{ return m_clientOrig->GetFindHandler(); }
|
||||
virtual CefRefPtr<CefFocusHandler> GetFocusHandler() override
|
||||
{ return m_clientOrig->GetFocusHandler(); }
|
||||
virtual CefRefPtr<CefFrameHandler> GetFrameHandler() override
|
||||
{ return m_clientOrig->GetFrameHandler(); }
|
||||
virtual CefRefPtr<CefPermissionHandler> GetPermissionHandler() override
|
||||
{ return m_clientOrig->GetPermissionHandler(); }
|
||||
virtual CefRefPtr<CefJSDialogHandler> GetJSDialogHandler() override
|
||||
{ return m_clientOrig->GetJSDialogHandler(); }
|
||||
virtual CefRefPtr<CefKeyboardHandler> GetKeyboardHandler() override
|
||||
{ return m_clientOrig->GetKeyboardHandler(); }
|
||||
virtual CefRefPtr<CefLifeSpanHandler> GetLifeSpanHandler() override
|
||||
{ return m_clientOrig->GetLifeSpanHandler(); }
|
||||
virtual CefRefPtr<CefLoadHandler> GetLoadHandler() override
|
||||
{ return m_clientOrig->GetLoadHandler(); }
|
||||
virtual CefRefPtr<CefPrintHandler> GetPrintHandler() override
|
||||
{ return m_clientOrig->GetPrintHandler(); }
|
||||
virtual CefRefPtr<CefRenderHandler> GetRenderHandler() override
|
||||
{ return m_clientOrig->GetRenderHandler(); }
|
||||
virtual CefRefPtr<CefRequestHandler> GetRequestHandler() override
|
||||
{ return m_clientOrig->GetRequestHandler(); }
|
||||
virtual bool OnProcessMessageReceived(CefRefPtr<CefBrowser> browser,
|
||||
CefRefPtr<CefFrame> frame,
|
||||
CefProcessId source_process,
|
||||
CefRefPtr<CefProcessMessage> message) override
|
||||
{
|
||||
return m_clientOrig->OnProcessMessageReceived(browser, frame,
|
||||
source_process, message);
|
||||
}
|
||||
|
||||
protected:
|
||||
// Objects of this class shouldn't be created, only derived classes should
|
||||
// be used, hence the constructor is protected.
|
||||
explicit wxDelegatingCefClient(CefClient* clientOrig)
|
||||
: m_clientOrig{clientOrig}
|
||||
{
|
||||
}
|
||||
|
||||
CefRefPtr<CefClient> const m_clientOrig;
|
||||
|
||||
IMPLEMENT_REFCOUNTING(wxDelegatingCefClient);
|
||||
};
|
||||
|
||||
#endif // _WX_WEBVIEW_CHROMIUM_IMPL_H_
|
||||
Reference in New Issue
Block a user