You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
892 B
29 lines
892 B
#include "flutter_window.h" |
|
|
|
#include "flutter/generated_plugin_registrant.h" |
|
|
|
FlutterWindow::FlutterWindow(RunLoop* run_loop, |
|
const flutter::DartProject& project) |
|
: run_loop_(run_loop), project_(project) {} |
|
|
|
FlutterWindow::~FlutterWindow() {} |
|
|
|
void FlutterWindow::OnCreate() { |
|
Win32Window::OnCreate(); |
|
|
|
// The size here is arbitrary since SetChildContent will resize it. |
|
flutter_controller_ = |
|
std::make_unique<flutter::FlutterViewController>(100, 100, project_); |
|
RegisterPlugins(flutter_controller_.get()); |
|
run_loop_->RegisterFlutterInstance(flutter_controller_.get()); |
|
SetChildContent(flutter_controller_->view()->GetNativeWindow()); |
|
} |
|
|
|
void FlutterWindow::OnDestroy() { |
|
if (flutter_controller_) { |
|
run_loop_->UnregisterFlutterInstance(flutter_controller_.get()); |
|
flutter_controller_ = nullptr; |
|
} |
|
|
|
Win32Window::OnDestroy(); |
|
}
|
|
|