diff options
| author | Mica White <botahamec@outlook.com> | 2025-12-08 19:54:36 -0500 |
|---|---|---|
| committer | Mica White <botahamec@outlook.com> | 2025-12-08 19:54:36 -0500 |
| commit | 3fad3812e117c6bc16b5007076803f498538e4c4 (patch) | |
| tree | 197b7b27c3f1c1d2b8396e4c4150b37b4d3127e5 /windows/runner/main.cpp | |
Diffstat (limited to 'windows/runner/main.cpp')
| -rwxr-xr-x | windows/runner/main.cpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/windows/runner/main.cpp b/windows/runner/main.cpp new file mode 100755 index 0000000..2c73070 --- /dev/null +++ b/windows/runner/main.cpp @@ -0,0 +1,43 @@ +#include <flutter/dart_project.h>
+#include <flutter/flutter_view_controller.h>
+#include <windows.h>
+
+#include "flutter_window.h"
+#include "utils.h"
+
+int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev,
+ _In_ wchar_t *command_line, _In_ int show_command) {
+ // Attach to console when present (e.g., 'flutter run') or create a
+ // new console when running with a debugger.
+ if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) {
+ CreateAndAttachConsole();
+ }
+
+ // Initialize COM, so that it is available for use in the library and/or
+ // plugins.
+ ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED);
+
+ flutter::DartProject project(L"data");
+
+ std::vector<std::string> command_line_arguments =
+ GetCommandLineArguments();
+
+ project.set_dart_entrypoint_arguments(std::move(command_line_arguments));
+
+ FlutterWindow window(project);
+ Win32Window::Point origin(10, 10);
+ Win32Window::Size size(1280, 720);
+ if (!window.Create(L"alligator_editor", origin, size)) {
+ return EXIT_FAILURE;
+ }
+ window.SetQuitOnClose(true);
+
+ ::MSG msg;
+ while (::GetMessage(&msg, nullptr, 0, 0)) {
+ ::TranslateMessage(&msg);
+ ::DispatchMessage(&msg);
+ }
+
+ ::CoUninitialize();
+ return EXIT_SUCCESS;
+}
|
