Flutter Windows Embedder
flutter::WindowProcDelegateManager Class Reference

#include <window_proc_delegate_manager.h>

Public Member Functions

 WindowProcDelegateManager ()
 
 ~WindowProcDelegateManager ()
 
void RegisterTopLevelWindowProcDelegate (FlutterDesktopWindowProcCallback delegate, void *user_data)
 
void UnregisterTopLevelWindowProcDelegate (FlutterDesktopWindowProcCallback delegate)
 
std::optional< LRESULT > OnTopLevelWindowProc (HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam)
 

Detailed Description

Definition at line 20 of file window_proc_delegate_manager.h.

Constructor & Destructor Documentation

◆ WindowProcDelegateManager()

flutter::WindowProcDelegateManager::WindowProcDelegateManager ( )
explicitdefault

◆ ~WindowProcDelegateManager()

flutter::WindowProcDelegateManager::~WindowProcDelegateManager ( )
default

Member Function Documentation

◆ OnTopLevelWindowProc()

std::optional< LRESULT > flutter::WindowProcDelegateManager::OnTopLevelWindowProc ( HWND  hwnd,
UINT  message,
WPARAM  wparam,
LPARAM  lparam 
)

Definition at line 25 of file window_proc_delegate_manager.cc.

29  {
30  std::optional<LRESULT> result;
31  for (const auto& [handler, user_data] : top_level_window_proc_handlers_) {
32  LPARAM handler_result;
33  // Stop as soon as any delegate indicates that it has handled the message.
34  if (handler(hwnd, message, wparam, lparam, user_data, &handler_result)) {
35  result = handler_result;
36  break;
37  }
38  }
39  return result;
40 }

References message, and user_data.

Referenced by flutter::testing::TEST().

◆ RegisterTopLevelWindowProcDelegate()

void flutter::WindowProcDelegateManager::RegisterTopLevelWindowProcDelegate ( FlutterDesktopWindowProcCallback  delegate,
void *  user_data 
)

Definition at line 14 of file window_proc_delegate_manager.cc.

16  {
17  top_level_window_proc_handlers_[delegate] = user_data;
18 }

References user_data.

Referenced by FlutterDesktopPluginRegistrarRegisterTopLevelWindowProcDelegate(), and flutter::testing::TEST().

◆ UnregisterTopLevelWindowProcDelegate()

void flutter::WindowProcDelegateManager::UnregisterTopLevelWindowProcDelegate ( FlutterDesktopWindowProcCallback  delegate)

Definition at line 20 of file window_proc_delegate_manager.cc.

21  {
22  top_level_window_proc_handlers_.erase(delegate);
23 }

Referenced by FlutterDesktopPluginRegistrarUnregisterTopLevelWindowProcDelegate(), and flutter::testing::TEST().


The documentation for this class was generated from the following files:
user_data
void * user_data
Definition: flutter_windows_view_unittests.cc:49
message
Win32Message message
Definition: keyboard_unittests.cc:137