Skip to content

Commit 5d41663

Browse files
Merge remote-tracking branch 'origin/master'
2 parents d84e4ca + 7012b85 commit 5d41663

21 files changed

+544
-356
lines changed

pubspec.lock

+15-1
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,13 @@ packages:
134134
url: "https://pub.dartlang.org"
135135
source: hosted
136136
version: "1.0.2"
137+
clock:
138+
dependency: transitive
139+
description:
140+
name: clock
141+
url: "https://pub.dartlang.org"
142+
source: hosted
143+
version: "1.0.1"
137144
code_builder:
138145
dependency: transitive
139146
description:
@@ -190,6 +197,13 @@ packages:
190197
url: "https://pub.dartlang.org"
191198
source: hosted
192199
version: "1.1.1"
200+
fake_async:
201+
dependency: transitive
202+
description:
203+
name: fake_async
204+
url: "https://pub.dartlang.org"
205+
source: hosted
206+
version: "1.1.0"
193207
fixnum:
194208
dependency: transitive
195209
description:
@@ -407,7 +421,7 @@ packages:
407421
name: path
408422
url: "https://pub.dartlang.org"
409423
source: hosted
410-
version: "1.6.4"
424+
version: "1.7.0"
411425
path_provider:
412426
dependency: transitive
413427
description:

windows/Runner.sln

-52
Original file line numberDiff line numberDiff line change
@@ -6,34 +6,10 @@ MinimumVisualStudioVersion = 10.0.40219.1
66
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Runner", "Runner.vcxproj", "{5A827760-CF8B-408A-99A3-B6C0AD2271E7}"
77
ProjectSection(ProjectDependencies) = postProject
88
{6419BF13-6ECD-4CD2-9E85-E566A1F03F8F} = {6419BF13-6ECD-4CD2-9E85-E566A1F03F8F}
9-
{D9433AE2-FB49-48D8-A6F9-3C71021E73E4} = {D9433AE2-FB49-48D8-A6F9-3C71021E73E4}
10-
{FE855771-7D30-42F7-938E-C57B2AEA68D8} = {FE855771-7D30-42F7-938E-C57B2AEA68D8}
11-
{18F565CD-7BD5-459C-9FEB-2E2379E88105} = {18F565CD-7BD5-459C-9FEB-2E2379E88105}
12-
{9FDE4FCF-34A0-48B0-818B-877485F2AFEB} = {9FDE4FCF-34A0-48B0-818B-877485F2AFEB}
139
EndProjectSection
1410
EndProject
1511
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Flutter Build", "FlutterBuild.vcxproj", "{6419BF13-6ECD-4CD2-9E85-E566A1F03F8F}"
1612
EndProject
17-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "file_chooser", "Flutter\ephemeral\.plugin_symlinks\file_chooser\windows\plugin.vcxproj", "{D9433AE2-FB49-48D8-A6F9-3C71021E73E4}"
18-
ProjectSection(ProjectDependencies) = postProject
19-
{6419BF13-6ECD-4CD2-9E85-E566A1F03F8F} = {6419BF13-6ECD-4CD2-9E85-E566A1F03F8F}
20-
EndProjectSection
21-
EndProject
22-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "path_provider_fde", "Flutter\ephemeral\.plugin_symlinks\path_provider_fde\windows\plugin.vcxproj", "{FE855771-7D30-42F7-938E-C57B2AEA68D8}"
23-
ProjectSection(ProjectDependencies) = postProject
24-
{6419BF13-6ECD-4CD2-9E85-E566A1F03F8F} = {6419BF13-6ECD-4CD2-9E85-E566A1F03F8F}
25-
EndProjectSection
26-
EndProject
27-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "url_launcher_fde", "Flutter\ephemeral\.plugin_symlinks\url_launcher_fde\windows\plugin.vcxproj", "{18F565CD-7BD5-459C-9FEB-2E2379E88105}"
28-
ProjectSection(ProjectDependencies) = postProject
29-
{6419BF13-6ECD-4CD2-9E85-E566A1F03F8F} = {6419BF13-6ECD-4CD2-9E85-E566A1F03F8F}
30-
EndProjectSection
31-
EndProject
32-
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "window_size", "Flutter\ephemeral\.plugin_symlinks\window_size\windows\plugin.vcxproj", "{9FDE4FCF-34A0-48B0-818B-877485F2AFEB}"
33-
ProjectSection(ProjectDependencies) = postProject
34-
{6419BF13-6ECD-4CD2-9E85-E566A1F03F8F} = {6419BF13-6ECD-4CD2-9E85-E566A1F03F8F}
35-
EndProjectSection
36-
EndProject
3713
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Flutter Plugins", "Flutter Plugins", "{5C2E738A-1DD3-445A-AAC8-EEB9648DD07C}"
3814
EndProject
3915
Global
@@ -55,30 +31,6 @@ Global
5531
{6419BF13-6ECD-4CD2-9E85-E566A1F03F8F}.Profile|x64.Build.0 = Profile|x64
5632
{6419BF13-6ECD-4CD2-9E85-E566A1F03F8F}.Release|x64.ActiveCfg = Release|x64
5733
{6419BF13-6ECD-4CD2-9E85-E566A1F03F8F}.Release|x64.Build.0 = Release|x64
58-
{D9433AE2-FB49-48D8-A6F9-3C71021E73E4}.Debug|x64.ActiveCfg = Debug|x64
59-
{D9433AE2-FB49-48D8-A6F9-3C71021E73E4}.Debug|x64.Build.0 = Debug|x64
60-
{D9433AE2-FB49-48D8-A6F9-3C71021E73E4}.Profile|x64.ActiveCfg = Profile|x64
61-
{D9433AE2-FB49-48D8-A6F9-3C71021E73E4}.Profile|x64.Build.0 = Profile|x64
62-
{D9433AE2-FB49-48D8-A6F9-3C71021E73E4}.Release|x64.ActiveCfg = Release|x64
63-
{D9433AE2-FB49-48D8-A6F9-3C71021E73E4}.Release|x64.Build.0 = Release|x64
64-
{FE855771-7D30-42F7-938E-C57B2AEA68D8}.Debug|x64.ActiveCfg = Debug|x64
65-
{FE855771-7D30-42F7-938E-C57B2AEA68D8}.Debug|x64.Build.0 = Debug|x64
66-
{FE855771-7D30-42F7-938E-C57B2AEA68D8}.Profile|x64.ActiveCfg = Profile|x64
67-
{FE855771-7D30-42F7-938E-C57B2AEA68D8}.Profile|x64.Build.0 = Profile|x64
68-
{FE855771-7D30-42F7-938E-C57B2AEA68D8}.Release|x64.ActiveCfg = Release|x64
69-
{FE855771-7D30-42F7-938E-C57B2AEA68D8}.Release|x64.Build.0 = Release|x64
70-
{18F565CD-7BD5-459C-9FEB-2E2379E88105}.Debug|x64.ActiveCfg = Debug|x64
71-
{18F565CD-7BD5-459C-9FEB-2E2379E88105}.Debug|x64.Build.0 = Debug|x64
72-
{18F565CD-7BD5-459C-9FEB-2E2379E88105}.Profile|x64.ActiveCfg = Profile|x64
73-
{18F565CD-7BD5-459C-9FEB-2E2379E88105}.Profile|x64.Build.0 = Profile|x64
74-
{18F565CD-7BD5-459C-9FEB-2E2379E88105}.Release|x64.ActiveCfg = Release|x64
75-
{18F565CD-7BD5-459C-9FEB-2E2379E88105}.Release|x64.Build.0 = Release|x64
76-
{9FDE4FCF-34A0-48B0-818B-877485F2AFEB}.Debug|x64.ActiveCfg = Debug|x64
77-
{9FDE4FCF-34A0-48B0-818B-877485F2AFEB}.Debug|x64.Build.0 = Debug|x64
78-
{9FDE4FCF-34A0-48B0-818B-877485F2AFEB}.Profile|x64.ActiveCfg = Profile|x64
79-
{9FDE4FCF-34A0-48B0-818B-877485F2AFEB}.Profile|x64.Build.0 = Profile|x64
80-
{9FDE4FCF-34A0-48B0-818B-877485F2AFEB}.Release|x64.ActiveCfg = Release|x64
81-
{9FDE4FCF-34A0-48B0-818B-877485F2AFEB}.Release|x64.Build.0 = Release|x64
8234
EndGlobalSection
8335
GlobalSection(SolutionProperties) = preSolution
8436
HideSolutionNode = FALSE
@@ -87,9 +39,5 @@ Global
8739
SolutionGuid = {B8A69CB0-A974-4774-9EBD-1E5EECACD186}
8840
EndGlobalSection
8941
GlobalSection(NestedProjects) = preSolution
90-
{D9433AE2-FB49-48D8-A6F9-3C71021E73E4} = {5C2E738A-1DD3-445A-AAC8-EEB9648DD07C}
91-
{FE855771-7D30-42F7-938E-C57B2AEA68D8} = {5C2E738A-1DD3-445A-AAC8-EEB9648DD07C}
92-
{18F565CD-7BD5-459C-9FEB-2E2379E88105} = {5C2E738A-1DD3-445A-AAC8-EEB9648DD07C}
93-
{9FDE4FCF-34A0-48B0-818B-877485F2AFEB} = {5C2E738A-1DD3-445A-AAC8-EEB9648DD07C}
9442
EndGlobalSection
9543
EndGlobal

windows/Runner.vcxproj

+13-9
Original file line numberDiff line numberDiff line change
@@ -224,28 +224,32 @@
224224
</CustomBuildStep>
225225
</ItemDefinitionGroup>
226226
<ItemGroup>
227-
<ClCompile Include="main.cpp" />
227+
<ClCompile Include="runner\main.cpp" />
228228
<ClCompile Include="flutter\generated_plugin_registrant.cc" />
229-
<ClCompile Include="window_configuration.cpp" />
230-
<ClCompile Include="win32_window.cc" />
229+
<ClCompile Include="runner\run_loop.cpp" />
230+
<ClCompile Include="runner\window_configuration.cpp" />
231+
<ClCompile Include="runner\win32_window.cpp" />
232+
<ClCompile Include="runner\flutter_window.cpp" />
231233
<ClCompile Include="$(FLUTTER_EPHEMERAL_DIR)\cpp_client_wrapper\engine_method_result.cc" />
232234
<ClCompile Include="$(FLUTTER_EPHEMERAL_DIR)\cpp_client_wrapper\flutter_view_controller.cc" />
233235
<ClCompile Include="$(FLUTTER_EPHEMERAL_DIR)\cpp_client_wrapper\plugin_registrar.cc" />
234236
</ItemGroup>
235237
<ItemGroup>
236238
<ClInclude Include="flutter\generated_plugin_registrant.h" />
237-
<ClInclude Include="resource.h" />
238-
<ClInclude Include="win32_window.h" />
239-
<ClInclude Include="window_configuration.h" />
239+
<ClInclude Include="runner\resource.h" />
240+
<ClInclude Include="runner\run_loop.h" />
241+
<ClInclude Include="runner\win32_window.h" />
242+
<ClInclude Include="runner\flutter_window.h" />
243+
<ClInclude Include="runner\window_configuration.h" />
240244
</ItemGroup>
241245
<ItemGroup>
242-
<Manifest Include="runner.exe.manifest" />
246+
<Manifest Include="runner\runner.exe.manifest" />
243247
</ItemGroup>
244248
<ItemGroup>
245-
<ResourceCompile Include="Runner.rc" />
249+
<ResourceCompile Include="runner\Runner.rc" />
246250
</ItemGroup>
247251
<ItemGroup>
248-
<Image Include="resources\app_icon.ico" />
252+
<Image Include="runner\resources\app_icon.ico" />
249253
</ItemGroup>
250254
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
251255
<ImportGroup Label="ExtensionTargets">

windows/Runner.vcxproj.filters

+20-8
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,22 @@
1818
</Filter>
1919
</ItemGroup>
2020
<ItemGroup>
21-
<ClCompile Include="main.cpp">
21+
<ClCompile Include="runner\main.cpp">
2222
<Filter>Source Files</Filter>
2323
</ClCompile>
24-
<ClCompile Include="flutter\generated_plugin_registrant.cc">
24+
<ClCompile Include="runner\run_loop.cpp">
25+
<Filter>Source Files</Filter>
26+
</ClCompile>
27+
<ClCompile Include="runner\flutter_window.cpp">
2528
<Filter>Source Files</Filter>
2629
</ClCompile>
27-
<ClCompile Include="win32_window.cc">
30+
<ClCompile Include="runner\win32_window.cpp">
2831
<Filter>Source Files</Filter>
2932
</ClCompile>
30-
<ClCompile Include="window_configuration.cpp">
33+
<ClCompile Include="runner\window_configuration.cpp">
34+
<Filter>Source Files</Filter>
35+
</ClCompile>
36+
<ClCompile Include="flutter\generated_plugin_registrant.cc">
3137
<Filter>Source Files</Filter>
3238
</ClCompile>
3339
<ClCompile Include="$(FLUTTER_EPHEMERAL_DIR)\cpp_client_wrapper\engine_method_result.cc">
@@ -41,16 +47,22 @@
4147
</ClCompile>
4248
</ItemGroup>
4349
<ItemGroup>
44-
<ClInclude Include="flutter\generated_plugin_registrant.h">
50+
<ClInclude Include="runner\run_loop.h">
51+
<Filter>Header Files</Filter>
52+
</ClInclude>
53+
<ClInclude Include="runner\flutter_window.h">
4554
<Filter>Header Files</Filter>
4655
</ClInclude>
47-
<ClInclude Include="win32_window.h">
56+
<ClInclude Include="runner\win32_window.h">
4857
<Filter>Header Files</Filter>
4958
</ClInclude>
50-
<ClInclude Include="window_configuration.h">
59+
<ClInclude Include="runner\window_configuration.h">
5160
<Filter>Header Files</Filter>
5261
</ClInclude>
53-
<ClInclude Include="resource.h">
62+
<ClInclude Include="runner\resource.h">
63+
<Filter>Header Files</Filter>
64+
</ClInclude>
65+
<ClInclude Include="flutter\generated_plugin_registrant.h">
5466
<Filter>Header Files</Filter>
5567
</ClInclude>
5668
</ItemGroup>

windows/flutter/GeneratedPlugins.props

+1-8
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,6 @@
33
<ImportGroup Label="PropertySheets"/>
44
<PropertyGroup Label="UserMacros"/>
55
<PropertyGroup/>
6-
<ItemDefinitionGroup>
7-
<ClCompile>
8-
<AdditionalIncludeDirectories>flutter\ephemeral\.plugin_symlinks\file_chooser\windows;flutter\ephemeral\.plugin_symlinks\path_provider_fde\windows;flutter\ephemeral\.plugin_symlinks\url_launcher_fde\windows;flutter\ephemeral\.plugin_symlinks\window_size\windows;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
9-
</ClCompile>
10-
<Link>
11-
<AdditionalDependencies>file_chooser_plugin.lib;path_provider_fde_plugin.lib;url_launcher_fde_plugin.lib;window_size_plugin.lib;%(AdditionalDependencies)</AdditionalDependencies>
12-
</Link>
13-
</ItemDefinitionGroup>
6+
<ItemDefinitionGroup/>
147
<ItemGroup/>
158
</Project>

windows/flutter/generated_plugin_registrant.cc

-12
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,6 @@
44

55
#include "generated_plugin_registrant.h"
66

7-
#include <file_chooser_plugin.h>
8-
#include <path_provider_plugin.h>
9-
#include <url_launcher_plugin.h>
10-
#include <window_size_plugin.h>
117

128
void RegisterPlugins(flutter::PluginRegistry* registry) {
13-
FileChooserPluginRegisterWithRegistrar(
14-
registry->GetRegistrarForPlugin("FileChooserPlugin"));
15-
PathProviderPluginRegisterWithRegistrar(
16-
registry->GetRegistrarForPlugin("PathProviderPlugin"));
17-
UrlLauncherPluginRegisterWithRegistrar(
18-
registry->GetRegistrarForPlugin("UrlLauncherPlugin"));
19-
WindowSizePluginRegisterWithRegistrar(
20-
registry->GetRegistrarForPlugin("WindowSizePlugin"));
219
}

windows/main.cpp

-68
This file was deleted.
File renamed without changes.

windows/runner/flutter_window.cpp

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#include "flutter_window.h"
2+
3+
#include "flutter/generated_plugin_registrant.h"
4+
5+
FlutterWindow::FlutterWindow(RunLoop* run_loop,
6+
const flutter::DartProject& project)
7+
: run_loop_(run_loop), project_(project) {}
8+
9+
FlutterWindow::~FlutterWindow() {}
10+
11+
void FlutterWindow::OnCreate() {
12+
Win32Window::OnCreate();
13+
14+
// The size here is arbitrary since SetChildContent will resize it.
15+
flutter_controller_ =
16+
std::make_unique<flutter::FlutterViewController>(100, 100, project_);
17+
RegisterPlugins(flutter_controller_.get());
18+
run_loop_->RegisterFlutterInstance(flutter_controller_.get());
19+
SetChildContent(flutter_controller_->view()->GetNativeWindow());
20+
}
21+
22+
void FlutterWindow::OnDestroy() {
23+
if (flutter_controller_) {
24+
run_loop_->UnregisterFlutterInstance(flutter_controller_.get());
25+
flutter_controller_ = nullptr;
26+
}
27+
28+
Win32Window::OnDestroy();
29+
}

windows/runner/flutter_window.h

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#ifndef FLUTTER_WINDOW_H_
2+
#define FLUTTER_WINDOW_H_
3+
4+
#include <flutter/dart_project.h>
5+
#include <flutter/flutter_view_controller.h>
6+
7+
#include "run_loop.h"
8+
#include "win32_window.h"
9+
10+
#include <memory>
11+
12+
// A window that does nothing but host a Flutter view.
13+
class FlutterWindow : public Win32Window {
14+
public:
15+
// Creates a new FlutterWindow driven by the |run_loop|, hosting a
16+
// Flutter view running |project|.
17+
explicit FlutterWindow(RunLoop* run_loop,
18+
const flutter::DartProject& project);
19+
virtual ~FlutterWindow();
20+
21+
protected:
22+
// Win32Window:
23+
void OnCreate() override;
24+
void OnDestroy() override;
25+
26+
private:
27+
// The run loop driving events for this window.
28+
RunLoop* run_loop_;
29+
30+
// The project to run.
31+
flutter::DartProject project_;
32+
33+
// The Flutter instance hosted by this window.
34+
std::unique_ptr<flutter::FlutterViewController> flutter_controller_;
35+
};
36+
37+
#endif // FLUTTER_WINDOW_H_

0 commit comments

Comments
 (0)