123456789101112131415161718192021222324252627282930313233343536373839 |
- #ifndef RUNNER_FLUTTER_WINDOW_H_
- #define RUNNER_FLUTTER_WINDOW_H_
- #include <flutter/dart_project.h>
- #include <flutter/flutter_view_controller.h>
- #include <memory>
- #include "run_loop.h"
- #include "win32_window.h"
- // A window that does nothing but host a Flutter view.
- class FlutterWindow : public Win32Window {
- public:
- // Creates a new FlutterWindow driven by the |run_loop|, hosting a
- // Flutter view running |project|.
- explicit FlutterWindow(RunLoop* run_loop,
- const flutter::DartProject& project);
- virtual ~FlutterWindow();
- protected:
- // Win32Window:
- bool OnCreate() override;
- void OnDestroy() override;
- LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam,
- LPARAM const lparam) noexcept override;
- private:
- // The run loop driving events for this window.
- RunLoop* run_loop_;
- // The project to run.
- flutter::DartProject project_;
- // The Flutter instance hosted by this window.
- std::unique_ptr<flutter::FlutterViewController> flutter_controller_;
- };
- #endif // RUNNER_FLUTTER_WINDOW_H_
|