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.
30 lines
892 B
30 lines
892 B
4 years ago
|
#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();
|
||
|
}
|