5 #ifndef FLUTTER_SHELL_PLATFORM_WINDOWS_WINDOWS_LIFECYCLE_MANAGER_H_
6 #define FLUTTER_SHELL_PLATFORM_WINDOWS_WINDOWS_LIFECYCLE_MANAGER_H_
20 class FlutterWindowsEngine;
46 virtual void Quit(std::optional<HWND> window,
47 std::optional<WPARAM> wparam,
48 std::optional<LPARAM> lparam,
53 bool WindowProc(HWND hwnd, UINT msg, WPARAM w, LPARAM l, LRESULT* result);
106 bool HandleCloseMessage(HWND hwnd, WPARAM wparam, LPARAM lparam);
110 std::map<std::tuple<HWND, WPARAM, LPARAM>,
int> sent_close_messages_;
112 bool process_lifecycle_ =
false;
113 bool process_exit_ =
false;
115 std::set<HWND> visible_windows_;
116 std::set<HWND> focused_windows_;
127 bool update_state_scheduled_ =
false;
virtual void OnWindowStateEvent(HWND hwnd, WindowStateEvent event)
bool IsUpdateStateScheduled() const
std::optional< LRESULT > ExternalWindowMessage(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam)
WindowsLifecycleManager(FlutterWindowsEngine *engine)
virtual ~WindowsLifecycleManager()
AppLifecycleState GetLifecycleState()
bool WindowProc(HWND hwnd, UINT msg, WPARAM w, LPARAM l, LRESULT *result)
virtual void Quit(std::optional< HWND > window, std::optional< WPARAM > wparam, std::optional< LPARAM > lparam, UINT exit_code)
virtual void BeginProcessingLifecycle()
virtual void DispatchMessage(HWND window, UINT msg, WPARAM wparam, LPARAM lparam)
virtual bool IsLastWindowOfProcess()
virtual void SetLifecycleState(AppLifecycleState state)
virtual void BeginProcessingExit()
WindowStateEvent
An event representing a change in window state that may update the.