30 std::remove_if(delegates_.begin(), delegates_.end(),
32 return delegate.callback == callback;
42 std::optional<LRESULT> result;
43 for (
const auto& delegate : delegates_) {
46 if (delegate.callback(hwnd,
message, wparam, lparam, delegate.user_data,
48 result = handler_result;
std::optional< LRESULT > OnTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) const
void UnregisterTopLevelWindowProcDelegate(FlutterDesktopWindowProcCallback callback)
WindowProcDelegateManager()
~WindowProcDelegateManager()
void RegisterTopLevelWindowProcDelegate(FlutterDesktopWindowProcCallback callback, void *user_data)
G_BEGIN_DECLS GBytes * message
bool(* FlutterDesktopWindowProcCallback)(HWND, UINT, WPARAM, LPARAM, void *, LRESULT *result)
FlutterDesktopBinaryReply callback
std::function< std::optional< LRESULT >(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam)> WindowProcDelegate