dev
h 33 lines 928 Bytes
Raw
1 #ifndef RUNNER_FLUTTER_WINDOW_H_
2 #define RUNNER_FLUTTER_WINDOW_H_
3
4 #include <flutter/dart_project.h>
5 #include <flutter/flutter_view_controller.h>
6
7 #include <memory>
8
9 #include "win32_window.h"
10
11 // A window that does nothing but host a Flutter view.
12 class FlutterWindow : public Win32Window {
13 public:
14 // Creates a new FlutterWindow hosting a Flutter view running |project|.
15 explicit FlutterWindow(const flutter::DartProject& project);
16 virtual ~FlutterWindow();
17
18 protected:
19 // Win32Window:
20 bool OnCreate() override;
21 void OnDestroy() override;
22 LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam,
23 LPARAM const lparam) noexcept override;
24
25 private:
26 // The project to run.
27 flutter::DartProject project_;
28
29 // The Flutter instance hosted by this window.
30 std::unique_ptr<flutter::FlutterViewController> flutter_controller_;
31 };
32
33 #endif // RUNNER_FLUTTER_WINDOW_H_