| Flutter Windows Embedder |

Functions
flutter_windows.cc File Reference
`#include "flutter/shell/platform/windows/public/flutter_windows.h"`
`#include <io.h>`
`#include <algorithm>`
`#include <chrono>`
`#include <cstdlib>`
`#include <filesystem>`
`#include <memory>`
`#include <vector>`
`#include "flutter/shell/platform/common/client_wrapper/include/flutter/plugin_registrar.h"`
`#include "flutter/shell/platform/common/incoming_message_dispatcher.h"`
`#include "flutter/shell/platform/common/path_utils.h"`
`#include "flutter/shell/platform/embedder/embedder.h"`
`#include "flutter/shell/platform/windows/dpi_utils.h"`
`#include "flutter/shell/platform/windows/flutter_project_bundle.h"`
`#include "flutter/shell/platform/windows/flutter_window.h"`
`#include "flutter/shell/platform/windows/flutter_windows_engine.h"`
`#include "flutter/shell/platform/windows/flutter_windows_view.h"`
`#include "flutter/shell/platform/windows/flutter_windows_view_controller.h"`
`#include "flutter/shell/platform/windows/window_binding_handler.h"`
`#include "flutter/shell/platform/windows/window_state.h"`

Go to the source code of this file.

## Functions
static flutter::FlutterWindowsEngine * | EngineFromHandle (FlutterDesktopEngineRef ref)
static FlutterDesktopEngineRef | HandleForEngine (flutter::FlutterWindowsEngine *engine)
static flutter::FlutterWindowsViewController * | ViewControllerFromHandle (FlutterDesktopViewControllerRef ref)
static FlutterDesktopViewControllerRef | HandleForViewController (flutter::FlutterWindowsViewController *view_controller)
static flutter::FlutterWindowsView * | ViewFromHandle (FlutterDesktopViewRef ref)
static FlutterDesktopViewRef | HandleForView (flutter::FlutterWindowsView *view)
static flutter::FlutterWindowsTextureRegistrar * | TextureRegistrarFromHandle (FlutterDesktopTextureRegistrarRef ref)
static FlutterDesktopTextureRegistrarRef | HandleForTextureRegistrar (flutter::FlutterWindowsTextureRegistrar *registrar)
static FlutterDesktopViewControllerRef | CreateViewController (FlutterDesktopEngineRef engine_ref, int width, int height, bool owns_engine)
FlutterDesktopViewControllerRef | FlutterDesktopViewControllerCreate (int width, int height, FlutterDesktopEngineRef engine)
FlutterDesktopViewControllerRef | FlutterDesktopEngineCreateViewController (FlutterDesktopEngineRef engine, const FlutterDesktopViewControllerProperties *properties)
void | FlutterDesktopViewControllerDestroy (FlutterDesktopViewControllerRef ref)
FlutterDesktopViewId | FlutterDesktopViewControllerGetViewId (FlutterDesktopViewControllerRef ref)
FlutterDesktopEngineRef | FlutterDesktopViewControllerGetEngine (FlutterDesktopViewControllerRef ref)
FlutterDesktopViewRef | FlutterDesktopViewControllerGetView (FlutterDesktopViewControllerRef ref)
void | FlutterDesktopViewControllerForceRedraw (FlutterDesktopViewControllerRef ref)
bool | FlutterDesktopViewControllerHandleTopLevelWindowProc (FlutterDesktopViewControllerRef ref, HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam, LRESULT *result)
FlutterDesktopEngineRef | FlutterDesktopEngineCreate (const FlutterDesktopEngineProperties *engine_properties)
bool | FlutterDesktopEngineDestroy (FlutterDesktopEngineRef engine_ref)
FLUTTER_EXPORT FlutterDesktopEngineRef | FlutterDesktopEngineForId (int64_t engine_id)
bool | FlutterDesktopEngineRun (FlutterDesktopEngineRef engine, const char *entry_point)
uint64_t | FlutterDesktopEngineProcessMessages (FlutterDesktopEngineRef engine)
void | FlutterDesktopEngineReloadSystemFonts (FlutterDesktopEngineRef engine)
FlutterDesktopPluginRegistrarRef | FlutterDesktopEngineGetPluginRegistrar (FlutterDesktopEngineRef engine, const char *plugin_name)
FlutterDesktopMessengerRef | FlutterDesktopEngineGetMessenger (FlutterDesktopEngineRef engine)
FlutterDesktopTextureRegistrarRef | FlutterDesktopEngineGetTextureRegistrar (FlutterDesktopEngineRef engine)
void | FlutterDesktopEngineSetNextFrameCallback (FlutterDesktopEngineRef engine, VoidCallback callback, void *user_data)
HWND | FlutterDesktopViewGetHWND (FlutterDesktopViewRef view)
IDXGIAdapter * | FlutterDesktopViewGetGraphicsAdapter (FlutterDesktopViewRef view)
bool | FlutterDesktopEngineProcessExternalWindowMessage (FlutterDesktopEngineRef engine, HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam, LRESULT *result)
void | FlutterDesktopEngineRegisterPlatformViewType (FlutterDesktopEngineRef engine, const char *view_type_name, FlutterPlatformViewTypeEntry view_type)
FlutterDesktopViewRef | FlutterDesktopPluginRegistrarGetView (FlutterDesktopPluginRegistrarRef registrar)
FlutterDesktopViewRef | FlutterDesktopPluginRegistrarGetViewById (FlutterDesktopPluginRegistrarRef registrar, FlutterDesktopViewId view_id)
void | FlutterDesktopPluginRegistrarRegisterTopLevelWindowProcDelegate (FlutterDesktopPluginRegistrarRef registrar, FlutterDesktopWindowProcCallback delegate, void *user_data)
void | FlutterDesktopPluginRegistrarUnregisterTopLevelWindowProcDelegate (FlutterDesktopPluginRegistrarRef registrar, FlutterDesktopWindowProcCallback delegate)
UINT | FlutterDesktopGetDpiForHWND (HWND hwnd)
UINT | FlutterDesktopGetDpiForMonitor (HMONITOR monitor)
void | FlutterDesktopResyncOutputStreams ()
FlutterDesktopMessengerRef | FlutterDesktopPluginRegistrarGetMessenger (FlutterDesktopPluginRegistrarRef registrar)
void | FlutterDesktopPluginRegistrarSetDestructionHandler (FlutterDesktopPluginRegistrarRef registrar, FlutterDesktopOnPluginRegistrarDestroyed callback)
bool | FlutterDesktopMessengerSendWithReply (FlutterDesktopMessengerRef messenger, const char *channel, const uint8_t *message, const size_t message_size, const FlutterDesktopBinaryReply reply, void *user_data)
bool | FlutterDesktopMessengerSend (FlutterDesktopMessengerRef messenger, const char *channel, const uint8_t *message, const size_t message_size)
void | FlutterDesktopMessengerSendResponse (FlutterDesktopMessengerRef messenger, const FlutterDesktopMessageResponseHandle *handle, const uint8_t *data, size_t data_length)
void | FlutterDesktopMessengerSetCallback (FlutterDesktopMessengerRef messenger, const char *channel, FlutterDesktopMessageCallback callback, void *user_data)
FlutterDesktopMessengerRef | FlutterDesktopMessengerAddRef (FlutterDesktopMessengerRef messenger)
void | FlutterDesktopMessengerRelease (FlutterDesktopMessengerRef messenger)
bool | FlutterDesktopMessengerIsAvailable (FlutterDesktopMessengerRef messenger)
FlutterDesktopMessengerRef | FlutterDesktopMessengerLock (FlutterDesktopMessengerRef messenger)
void | FlutterDesktopMessengerUnlock (FlutterDesktopMessengerRef messenger)
FlutterDesktopTextureRegistrarRef | FlutterDesktopRegistrarGetTextureRegistrar (FlutterDesktopPluginRegistrarRef registrar)
int64_t | FlutterDesktopTextureRegistrarRegisterExternalTexture (FlutterDesktopTextureRegistrarRef texture_registrar, const FlutterDesktopTextureInfo *texture_info)
void | FlutterDesktopTextureRegistrarUnregisterExternalTexture (FlutterDesktopTextureRegistrarRef texture_registrar, int64_t texture_id, void(*callback)(void *user_data), void *user_data)
bool | FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable (FlutterDesktopTextureRegistrarRef texture_registrar, int64_t texture_id)

## Function Documentation

## ◆ CreateViewController()

static FlutterDesktopViewControllerRef CreateViewController | ( | FlutterDesktopEngineRef | engine_ref,
|  | int | width,
|  | int | height,
|  | bool | owns_engine
| ) |  |
| static

Definition at line 79 of file flutter_windows.cc.

83 {
84 flutter::FlutterWindowsEngine* engine_ptr = EngineFromHandle(engine_ref);
85 std::unique_ptr<flutter::WindowBindingHandler> window_wrapper =
86 std::make_unique<flutter::FlutterWindow>(
87 width, height, engine_ptr->display_manager(),
88 engine_ptr->windows_proc_table());
89
90 std::unique_ptr<flutter::FlutterWindowsEngine> engine;
91 if (owns_engine) {
92 engine = std::unique_ptr<flutter::FlutterWindowsEngine>(engine_ptr);
93 }
94
95 std::unique_ptr<flutter::FlutterWindowsView> view = engine_ptr->CreateView(
96 std::move(window_wrapper), false, flutter::BoxConstraints());
97 if (!view) {
98 return nullptr;
99 }
100
101 auto controller = std::make_unique<flutter::FlutterWindowsViewController>(
102 std::move(engine), std::move(view));
103
104 // Launch the engine if it is not running already.
105 if (!controller->engine()->running()) {
106 if (!controller->engine()->Run()) {
107 return nullptr;
108 }
109 }
110
111 // Must happen after engine is running.
112 controller->view()->SendInitialBounds();
113
114 // The Windows embedder listens to accessibility updates using the
115 // view's HWND. The embedder's accessibility features may be stale if
116 // the app was in headless mode.
117 controller->engine()->UpdateAccessibilityFeatures();
118
119 return HandleForViewController(controller.release());
120 }
flutter::FlutterWindowsEngine
Definition: flutter_windows_engine.h:92
flutter::FlutterWindowsEngine::windows_proc_table
std::shared_ptr< WindowsProcTable > windows_proc_table()
Definition: flutter_windows_engine.h:319
flutter::FlutterWindowsEngine::display_manager
std::shared_ptr< DisplayManagerWin32 > display_manager()
Definition: flutter_windows_engine.h:166
flutter::FlutterWindowsEngine::CreateView
std::unique_ptr< FlutterWindowsView > CreateView(std::unique_ptr< WindowBindingHandler > window, bool is_sized_to_content, const BoxConstraints &box_constraints, FlutterWindowsViewSizingDelegate *sizing_delegate=nullptr)
Definition: flutter_windows_engine.cc:526
EngineFromHandle
static flutter::FlutterWindowsEngine * EngineFromHandle(FlutterDesktopEngineRef ref)
Definition: flutter_windows.cc:32
HandleForViewController
static FlutterDesktopViewControllerRef HandleForViewController(flutter::FlutterWindowsViewController *view_controller)
Definition: flutter_windows.cc:48

References flutter::FlutterWindowsEngine::CreateView(), flutter::FlutterWindowsEngine::display_manager(), EngineFromHandle(), HandleForViewController(), and flutter::FlutterWindowsEngine::windows_proc_table().

Referenced by FlutterDesktopEngineCreateViewController(), and FlutterDesktopViewControllerCreate().

## ◆ EngineFromHandle()

static flutter::FlutterWindowsEngine* EngineFromHandle | ( | FlutterDesktopEngineRef | ref | ) |
| static

Definition at line 32 of file flutter_windows.cc.

33 {
34 return reinterpret_cast<flutter::FlutterWindowsEngine*>(ref);
35 }

Referenced by CreateViewController(), FlutterDesktopEngineDestroy(), FlutterDesktopEngineGetMessenger(), FlutterDesktopEngineGetPluginRegistrar(), FlutterDesktopEngineGetTextureRegistrar(), FlutterDesktopEngineProcessExternalWindowMessage(), FlutterDesktopEngineReloadSystemFonts(), FlutterDesktopEngineRun(), and FlutterDesktopEngineSetNextFrameCallback().

## ◆ FlutterDesktopEngineCreate()

FlutterDesktopEngineRef FlutterDesktopEngineCreate | ( | const FlutterDesktopEngineProperties * | engine_properties | ) |

Definition at line 184 of file flutter_windows.cc.

185 {
186 flutter::FlutterProjectBundle project(*engine_properties);
187 auto engine = std::make_unique<flutter::FlutterWindowsEngine>(project);
188 return HandleForEngine(engine.release());
189 }
flutter::FlutterProjectBundle
Definition: flutter_project_bundle.h:33
HandleForEngine
static FlutterDesktopEngineRef HandleForEngine(flutter::FlutterWindowsEngine *engine)
Definition: flutter_windows.cc:38

References HandleForEngine().

Referenced by flutter::FlutterEngine::FlutterEngine(), and flutter::testing::TEST().

## ◆ FlutterDesktopEngineCreateViewController()

FlutterDesktopViewControllerRef FlutterDesktopEngineCreateViewController | ( | FlutterDesktopEngineRef | engine,
|  | const FlutterDesktopViewControllerProperties * | properties
| ) |  |

Definition at line 129 of file flutter_windows.cc.

131 {
132 return CreateViewController(engine, properties->width, properties->height,
133 /*owns_engine=*/false);
134 }
CreateViewController
static FlutterDesktopViewControllerRef CreateViewController(FlutterDesktopEngineRef engine_ref, int width, int height, bool owns_engine)
Definition: flutter_windows.cc:79
FlutterDesktopViewControllerProperties::width
int width
Definition: flutter_windows_internal.h:20
FlutterDesktopViewControllerProperties::height
int height
Definition: flutter_windows_internal.h:23

References CreateViewController(), FlutterDesktopViewControllerProperties::height, and FlutterDesktopViewControllerProperties::width.

Referenced by flutter::testing::TEST_F().

## ◆ FlutterDesktopEngineDestroy()

bool FlutterDesktopEngineDestroy | ( | FlutterDesktopEngineRef | engine_ref | ) |

Definition at line 191 of file flutter_windows.cc.

191 {
192 flutter::FlutterWindowsEngine* engine = EngineFromHandle(engine_ref);
193 bool result = true;
194 if (engine->running()) {
195 result = engine->Stop();
196 }
197 delete engine;
198 return result;
199 }
flutter::FlutterWindowsEngine::running
virtual bool running() const
Definition: flutter_windows_engine.h:125
flutter::FlutterWindowsEngine::Stop
virtual bool Stop()
Definition: flutter_windows_engine.cc:512

References EngineFromHandle(), flutter::FlutterWindowsEngine::running(), and flutter::FlutterWindowsEngine::Stop().

Referenced by flutter::FlutterEngine::ShutDown(), and flutter::testing::TEST().

## ◆ FlutterDesktopEngineForId()

FLUTTER_EXPORT FlutterDesktopEngineRef FlutterDesktopEngineForId | ( | int64_t | engine_id | ) |

Definition at line 202 of file flutter_windows.cc.

202 {
203 return HandleForEngine(
204 flutter::FlutterWindowsEngine::GetEngineForId(engine_id));
205 }
flutter::FlutterWindowsEngine::GetEngineForId
static FlutterWindowsEngine * GetEngineForId(int64_t engine_id)
Definition: flutter_windows_engine.cc:259

References flutter::FlutterWindowsEngine::GetEngineForId(), and HandleForEngine().

Referenced by flutter::testing::TEST_F().

## ◆ FlutterDesktopEngineGetMessenger()

FlutterDesktopMessengerRef FlutterDesktopEngineGetMessenger | ( | FlutterDesktopEngineRef | engine | ) |

Definition at line 235 of file flutter_windows.cc.

236 {
237 return EngineFromHandle(engine)->messenger();
238 }
flutter::FlutterWindowsEngine::messenger
FlutterDesktopMessengerRef messenger()
Definition: flutter_windows_engine.h:160

References EngineFromHandle(), and flutter::FlutterWindowsEngine::messenger().

Referenced by flutter::FlutterEngine::FlutterEngine().

## ◆ FlutterDesktopEngineGetPluginRegistrar()

FlutterDesktopPluginRegistrarRef FlutterDesktopEngineGetPluginRegistrar | ( | FlutterDesktopEngineRef | engine,
|  | const char * | plugin_name
| ) |  |

Definition at line 225 of file flutter_windows.cc.

227 {
228 // Currently, one registrar acts as the registrar for all plugins, so the
229 // name is ignored. It is part of the API to reduce churn in the future when
230 // aligning more closely with the Flutter registrar system.
231
232 return EngineFromHandle(engine)->GetRegistrar();
233 }
flutter::FlutterWindowsEngine::GetRegistrar
FlutterDesktopPluginRegistrarRef GetRegistrar()
Definition: flutter_windows_engine.cc:704

References EngineFromHandle(), and flutter::FlutterWindowsEngine::GetRegistrar().

Referenced by flutter::FlutterEngine::GetRegistrarForPlugin(), and flutter::testing::TEST_F().

## ◆ FlutterDesktopEngineGetTextureRegistrar()

FlutterDesktopTextureRegistrarRef FlutterDesktopEngineGetTextureRegistrar | ( | FlutterDesktopEngineRef | engine | ) |

Definition at line 240 of file flutter_windows.cc.

241 {
242 return HandleForTextureRegistrar(
243 EngineFromHandle(engine)->texture_registrar());
244 }
HandleForTextureRegistrar
static FlutterDesktopTextureRegistrarRef HandleForTextureRegistrar(flutter::FlutterWindowsTextureRegistrar *registrar)
Definition: flutter_windows.cc:70

References EngineFromHandle(), and HandleForTextureRegistrar().

Referenced by flutter::testing::TEST().

## ◆ FlutterDesktopEngineProcessExternalWindowMessage()

bool FlutterDesktopEngineProcessExternalWindowMessage | ( | FlutterDesktopEngineRef | engine,
|  | HWND | hwnd,
|  | UINT | message,
|  | WPARAM | wparam,
|  | LPARAM | lparam,
|  | LRESULT * | result
| ) |  |

Definition at line 273 of file flutter_windows.cc.

279 {
280 std::optional<LRESULT> lresult =
281 EngineFromHandle(engine)->ProcessExternalWindowMessage(hwnd, message,
282 wparam, lparam);
283 if (result && lresult.has_value()) {
284 *result = lresult.value();
285 }
286 return lresult.has_value();
287 }
flutter::FlutterWindowsEngine::ProcessExternalWindowMessage
std::optional< LRESULT > ProcessExternalWindowMessage(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam)
Definition: flutter_windows_engine.cc:1074
message
Win32Message message
Definition: keyboard_unittests.cc:137

References EngineFromHandle(), message, and flutter::FlutterWindowsEngine::ProcessExternalWindowMessage().

Referenced by flutter::FlutterEngine::ProcessExternalWindowMessage().

## ◆ FlutterDesktopEngineProcessMessages()

uint64_t FlutterDesktopEngineProcessMessages | ( | FlutterDesktopEngineRef | engine | ) |

Definition at line 217 of file flutter_windows.cc.

217 {
218 return std::chrono::nanoseconds::max().count();
219 }

Referenced by flutter::FlutterEngine::ProcessMessages().

## ◆ FlutterDesktopEngineRegisterPlatformViewType()

void FlutterDesktopEngineRegisterPlatformViewType | ( | FlutterDesktopEngineRef | engine,
|  | const char * | view_type_name,
|  | FlutterPlatformViewTypeEntry | view_type
| ) |  |

Definition at line 289 of file flutter_windows.cc.

292 {
293 // TODO(schectman): forward to platform view manager.
294 // https://github.com/flutter/flutter/issues/143375
295 }

## ◆ FlutterDesktopEngineReloadSystemFonts()

void FlutterDesktopEngineReloadSystemFonts | ( | FlutterDesktopEngineRef | engine | ) |

Definition at line 221 of file flutter_windows.cc.

221 {
222 EngineFromHandle(engine)->ReloadSystemFonts();
223 }
flutter::FlutterWindowsEngine::ReloadSystemFonts
void ReloadSystemFonts()
Definition: flutter_windows_engine.cc:806

References EngineFromHandle(), and flutter::FlutterWindowsEngine::ReloadSystemFonts().

Referenced by flutter::FlutterEngine::ReloadSystemFonts().

## ◆ FlutterDesktopEngineRun()

bool FlutterDesktopEngineRun | ( | FlutterDesktopEngineRef | engine,
|  | const char * | entry_point
| ) |  |

Definition at line 207 of file flutter_windows.cc.

208 {
209 std::string_view entry_point_view{""};
210 if (entry_point != nullptr) {
211 entry_point_view = entry_point;
212 }
213
214 return EngineFromHandle(engine)->Run(entry_point_view);
215 }
flutter::FlutterWindowsEngine::Run
bool Run()
Definition: flutter_windows_engine.cc:268

References EngineFromHandle(), and flutter::FlutterWindowsEngine::Run().

Referenced by flutter::FlutterEngine::Run(), and flutter::testing::TEST_F().

## ◆ FlutterDesktopEngineSetNextFrameCallback()

void FlutterDesktopEngineSetNextFrameCallback | ( | FlutterDesktopEngineRef | engine,
|  | VoidCallback | callback,
|  | void * | user_data
| ) |  |

Definition at line 246 of file flutter_windows.cc.

248 {
249 EngineFromHandle(engine)->SetNextFrameCallback(
250 [callback, user_data]() { callback(user_data); });
251 }
flutter::FlutterWindowsEngine::SetNextFrameCallback
void SetNextFrameCallback(fml::closure callback)
Definition: flutter_windows_engine.cc:814
user_data
void * user_data
Definition: flutter_windows_view_unittests.cc:53
callback
FlutterDesktopBinaryReply callback
Definition: flutter_windows_view_unittests.cc:52

References callback, EngineFromHandle(), flutter::FlutterWindowsEngine::SetNextFrameCallback(), and user_data.

Referenced by flutter::FlutterEngine::SetNextFrameCallback(), and flutter::testing::TEST_F().

## ◆ FlutterDesktopGetDpiForHWND()

UINT FlutterDesktopGetDpiForHWND | ( | HWND | hwnd | ) |

Definition at line 323 of file flutter_windows.cc.

323 {
324 return flutter::GetDpiForHWND(hwnd);
325 }
flutter::GetDpiForHWND
UINT GetDpiForHWND(HWND hwnd)
Definition: dpi_utils.cc:128

References flutter::GetDpiForHWND().

Referenced by flutter::HostWindow::GetWindowContentSize().

## ◆ FlutterDesktopGetDpiForMonitor()

UINT FlutterDesktopGetDpiForMonitor | ( | HMONITOR | monitor | ) |

Definition at line 327 of file flutter_windows.cc.

327 {
328 return flutter::GetDpiForMonitor(monitor);
329 }
flutter::GetDpiForMonitor
UINT GetDpiForMonitor(HMONITOR monitor)
Definition: dpi_utils.cc:132

References flutter::GetDpiForMonitor().

## ◆ FlutterDesktopMessengerAddRef()

FlutterDesktopMessengerRef FlutterDesktopMessengerAddRef | ( | FlutterDesktopMessengerRef | messenger | ) |

Definition at line 403 of file flutter_windows.cc.

404 {
405 return flutter::FlutterDesktopMessenger::FromRef(messenger)
406 ->AddRef()
407 ->ToRef();
408 }
flutter::FlutterDesktopMessenger::ToRef
FlutterDesktopMessengerRef ToRef()
Convert to FlutterDesktopMessengerRef.
Definition: flutter_desktop_messenger.h:28
flutter::FlutterDesktopMessenger::FromRef
static FlutterDesktopMessenger * FromRef(FlutterDesktopMessengerRef ref)
Convert from FlutterDesktopMessengerRef.
Definition: flutter_desktop_messenger.h:33
flutter::FlutterDesktopMessenger::AddRef
FlutterDesktopMessenger * AddRef()
Definition: flutter_desktop_messenger.h:50

References flutter::FlutterDesktopMessenger::AddRef(), flutter::FlutterDesktopMessenger::FromRef(), and flutter::FlutterDesktopMessenger::ToRef().

## ◆ FlutterDesktopMessengerIsAvailable()

bool FlutterDesktopMessengerIsAvailable | ( | FlutterDesktopMessengerRef | messenger | ) |

Definition at line 414 of file flutter_windows.cc.

414 {
415 return flutter::FlutterDesktopMessenger::FromRef(messenger)->GetEngine() !=
416 nullptr;
417 }
flutter::FlutterDesktopMessenger::GetEngine
flutter::FlutterWindowsEngine * GetEngine() const
Getter for the engine field.
Definition: flutter_desktop_messenger.h:38

References flutter::FlutterDesktopMessenger::FromRef(), and flutter::FlutterDesktopMessenger::GetEngine().

Referenced by FlutterDesktopMessengerSendResponse(), FlutterDesktopMessengerSendWithReply(), and FlutterDesktopMessengerSetCallback().

## ◆ FlutterDesktopMessengerLock()

FlutterDesktopMessengerRef FlutterDesktopMessengerLock | ( | FlutterDesktopMessengerRef | messenger | ) |

Definition at line 419 of file flutter_windows.cc.

420 {
421 flutter::FlutterDesktopMessenger::FromRef(messenger)->GetMutex().lock();
422 return messenger;
423 }
flutter::FlutterDesktopMessenger::GetMutex
std::mutex & GetMutex()
Definition: flutter_desktop_messenger.h:70

References flutter::FlutterDesktopMessenger::FromRef(), and flutter::FlutterDesktopMessenger::GetMutex().

## ◆ FlutterDesktopMessengerRelease()

void FlutterDesktopMessengerRelease | ( | FlutterDesktopMessengerRef | messenger | ) |

Definition at line 410 of file flutter_windows.cc.

410 {
411 flutter::FlutterDesktopMessenger::FromRef(messenger)->Release();
412 }
flutter::FlutterDesktopMessenger::Release
void Release()
Definition: flutter_desktop_messenger.h:59

References flutter::FlutterDesktopMessenger::FromRef(), and flutter::FlutterDesktopMessenger::Release().

## ◆ FlutterDesktopMessengerSend()

bool FlutterDesktopMessengerSend | ( | FlutterDesktopMessengerRef | messenger,
|  | const char * | channel,
|  | const uint8_t * | message,
|  | const size_t | message_size
| ) |  |

Definition at line 369 of file flutter_windows.cc.

372 {
373 return FlutterDesktopMessengerSendWithReply(messenger, channel, message,
374 message_size, nullptr, nullptr);
375 }
FlutterDesktopMessengerSendWithReply
bool FlutterDesktopMessengerSendWithReply(FlutterDesktopMessengerRef messenger, const char *channel, const uint8_t *message, const size_t message_size, const FlutterDesktopBinaryReply reply, void *user_data)
Definition: flutter_windows.cc:355

References FlutterDesktopMessengerSendWithReply(), and message.

Referenced by flutter::BinaryMessengerImpl::Send().

## ◆ FlutterDesktopMessengerSendResponse()

void FlutterDesktopMessengerSendResponse | ( | FlutterDesktopMessengerRef | messenger,
|  | const FlutterDesktopMessageResponseHandle * | handle,
|  | const uint8_t * | data,
|  | size_t | data_length
| ) |  |

Definition at line 377 of file flutter_windows.cc.

381 {
382 FML_DCHECK(FlutterDesktopMessengerIsAvailable(messenger))
383 << "Messenger must reference a running engine to send a response";
384
385 flutter::FlutterDesktopMessenger::FromRef(messenger)
386 ->GetEngine()
387 ->SendPlatformMessageResponse(handle, data, data_length);
388 }
flutter::FlutterWindowsEngine::SendPlatformMessageResponse
void SendPlatformMessageResponse(const FlutterDesktopMessageResponseHandle *handle, const uint8_t *data, size_t data_length)
Definition: flutter_windows_engine.cc:785
FlutterDesktopMessengerIsAvailable
bool FlutterDesktopMessengerIsAvailable(FlutterDesktopMessengerRef messenger)
Definition: flutter_windows.cc:414

References FlutterDesktopMessengerIsAvailable(), flutter::FlutterDesktopMessenger::FromRef(), flutter::FlutterDesktopMessenger::GetEngine(), and flutter::FlutterWindowsEngine::SendPlatformMessageResponse().

Referenced by flutter::IncomingMessageDispatcher::HandleMessage().

## ◆ FlutterDesktopMessengerSendWithReply()

bool FlutterDesktopMessengerSendWithReply | ( | FlutterDesktopMessengerRef | messenger,
|  | const char * | channel,
|  | const uint8_t * | message,
|  | const size_t | message_size,
|  | const FlutterDesktopBinaryReply | reply,
|  | void * | user_data
| ) |  |

Definition at line 355 of file flutter_windows.cc.

360 {
361 FML_DCHECK(FlutterDesktopMessengerIsAvailable(messenger))
362 << "Messenger must reference a running engine to send a message";
363
364 return flutter::FlutterDesktopMessenger::FromRef(messenger)
365 ->GetEngine()
366 ->SendPlatformMessage(channel, message, message_size, reply, user_data);
367 }
flutter::FlutterWindowsEngine::SendPlatformMessage
bool SendPlatformMessage(const char *channel, const uint8_t *message, const size_t message_size, const FlutterDesktopBinaryReply reply, void *user_data)
Definition: flutter_windows_engine.cc:751

References FlutterDesktopMessengerIsAvailable(), flutter::FlutterDesktopMessenger::FromRef(), flutter::FlutterDesktopMessenger::GetEngine(), message, flutter::FlutterWindowsEngine::SendPlatformMessage(), and user_data.

Referenced by FlutterDesktopMessengerSend(), and flutter::BinaryMessengerImpl::Send().

## ◆ FlutterDesktopMessengerSetCallback()

void FlutterDesktopMessengerSetCallback | ( | FlutterDesktopMessengerRef | messenger,
|  | const char * | channel,
|  | FlutterDesktopMessageCallback | callback,
|  | void * | user_data
| ) |  |

Definition at line 390 of file flutter_windows.cc.

393 {
394 FML_DCHECK(FlutterDesktopMessengerIsAvailable(messenger))
395 << "Messenger must reference a running engine to set a callback";
396
397 flutter::FlutterDesktopMessenger::FromRef(messenger)
398 ->GetEngine()
399 ->message_dispatcher()
400 ->SetMessageCallback(channel, callback, user_data);
401 }
flutter::FlutterWindowsEngine::message_dispatcher
IncomingMessageDispatcher * message_dispatcher()
Definition: flutter_windows_engine.h:162
flutter::IncomingMessageDispatcher::SetMessageCallback
void SetMessageCallback(const std::string &channel, FlutterDesktopMessageCallback callback, void *user_data)
Definition: incoming_message_dispatcher.cc:43

References callback, FlutterDesktopMessengerIsAvailable(), flutter::FlutterDesktopMessenger::FromRef(), flutter::FlutterDesktopMessenger::GetEngine(), flutter::FlutterWindowsEngine::message_dispatcher(), flutter::IncomingMessageDispatcher::SetMessageCallback(), and user_data.

Referenced by flutter::BinaryMessengerImpl::SetMessageHandler().

## ◆ FlutterDesktopMessengerUnlock()

void FlutterDesktopMessengerUnlock | ( | FlutterDesktopMessengerRef | messenger | ) |

Definition at line 425 of file flutter_windows.cc.

425 {
426 flutter::FlutterDesktopMessenger::FromRef(messenger)->GetMutex().unlock();
427 }

References flutter::FlutterDesktopMessenger::FromRef(), and flutter::FlutterDesktopMessenger::GetMutex().

## ◆ FlutterDesktopPluginRegistrarGetMessenger()

FlutterDesktopMessengerRef FlutterDesktopPluginRegistrarGetMessenger | ( | FlutterDesktopPluginRegistrarRef | registrar | ) |

Definition at line 344 of file flutter_windows.cc.

345 {
346 return registrar->engine->messenger();
347 }
FlutterDesktopPluginRegistrar::engine
flutter::FlutterWindowsEngine * engine
Definition: window_state.h:25

References FlutterDesktopPluginRegistrar::engine, and flutter::FlutterWindowsEngine::messenger().

## ◆ FlutterDesktopPluginRegistrarGetView()

FlutterDesktopViewRef FlutterDesktopPluginRegistrarGetView | ( | FlutterDesktopPluginRegistrarRef | registrar | ) |

Definition at line 297 of file flutter_windows.cc.

298 {
299 return HandleForView(registrar->engine->view(flutter::kImplicitViewId));
300 }
flutter::FlutterWindowsEngine::view
FlutterWindowsView * view(FlutterViewId view_id) const
Definition: flutter_windows_engine.cc:692
HandleForView
static FlutterDesktopViewRef HandleForView(flutter::FlutterWindowsView *view)
Definition: flutter_windows.cc:59
flutter::kImplicitViewId
constexpr FlutterViewId kImplicitViewId
Definition: flutter_windows_engine.h:56

References FlutterDesktopPluginRegistrar::engine, HandleForView(), flutter::kImplicitViewId, and flutter::FlutterWindowsEngine::view().

Referenced by flutter::PluginRegistrarWindows::PluginRegistrarWindows(), and flutter::testing::TEST_F().

## ◆ FlutterDesktopPluginRegistrarGetViewById()

FlutterDesktopViewRef FlutterDesktopPluginRegistrarGetViewById | ( | FlutterDesktopPluginRegistrarRef | registrar,
|  | FlutterDesktopViewId | view_id
| ) |  |

Definition at line 302 of file flutter_windows.cc.

304 {
305 return HandleForView(registrar->engine->view(view_id));
306 }

References FlutterDesktopPluginRegistrar::engine, HandleForView(), and flutter::FlutterWindowsEngine::view().

Referenced by flutter::PluginRegistrarWindows::GetViewById(), and flutter::testing::TEST_F().

## ◆ FlutterDesktopPluginRegistrarRegisterTopLevelWindowProcDelegate()

void FlutterDesktopPluginRegistrarRegisterTopLevelWindowProcDelegate | ( | FlutterDesktopPluginRegistrarRef | registrar,
|  | FlutterDesktopWindowProcCallback | delegate,
|  | void * | user_data
| ) |  |

Definition at line 308 of file flutter_windows.cc.

311 {
312 registrar->engine->window_proc_delegate_manager()
313 ->RegisterTopLevelWindowProcDelegate(delegate, user_data);
314 }
flutter::FlutterWindowsEngine::window_proc_delegate_manager
WindowProcDelegateManager * window_proc_delegate_manager()
Definition: flutter_windows_engine.h:185
flutter::WindowProcDelegateManager::RegisterTopLevelWindowProcDelegate
void RegisterTopLevelWindowProcDelegate(FlutterDesktopWindowProcCallback callback, void *user_data)
Definition: window_proc_delegate_manager.cc:16

References FlutterDesktopPluginRegistrar::engine, flutter::WindowProcDelegateManager::RegisterTopLevelWindowProcDelegate(), user_data, and flutter::FlutterWindowsEngine::window_proc_delegate_manager().

Referenced by flutter::PluginRegistrarWindows::RegisterTopLevelWindowProcDelegate().

## ◆ FlutterDesktopPluginRegistrarSetDestructionHandler()

void FlutterDesktopPluginRegistrarSetDestructionHandler | ( | FlutterDesktopPluginRegistrarRef | registrar,
|  | FlutterDesktopOnPluginRegistrarDestroyed | callback
| ) |  |

Definition at line 349 of file flutter_windows.cc.

351 {
352 registrar->engine->AddPluginRegistrarDestructionCallback(callback, registrar);
353 }
flutter::FlutterWindowsEngine::AddPluginRegistrarDestructionCallback
void AddPluginRegistrarDestructionCallback(FlutterDesktopOnPluginRegistrarDestroyed callback, FlutterDesktopPluginRegistrarRef registrar)
Definition: flutter_windows_engine.cc:708

References flutter::FlutterWindowsEngine::AddPluginRegistrarDestructionCallback(), callback, and FlutterDesktopPluginRegistrar::engine.

Referenced by flutter::PluginRegistrarManager::GetRegistrar().

## ◆ FlutterDesktopPluginRegistrarUnregisterTopLevelWindowProcDelegate()

void FlutterDesktopPluginRegistrarUnregisterTopLevelWindowProcDelegate | ( | FlutterDesktopPluginRegistrarRef | registrar,
|  | FlutterDesktopWindowProcCallback | delegate
| ) |  |

Definition at line 316 of file flutter_windows.cc.

318 {
319 registrar->engine->window_proc_delegate_manager()
320 ->UnregisterTopLevelWindowProcDelegate(delegate);
321 }
flutter::WindowProcDelegateManager::UnregisterTopLevelWindowProcDelegate
void UnregisterTopLevelWindowProcDelegate(FlutterDesktopWindowProcCallback callback)
Definition: window_proc_delegate_manager.cc:27

References FlutterDesktopPluginRegistrar::engine, flutter::WindowProcDelegateManager::UnregisterTopLevelWindowProcDelegate(), and flutter::FlutterWindowsEngine::window_proc_delegate_manager().

Referenced by flutter::PluginRegistrarWindows::UnregisterTopLevelWindowProcDelegate().

## ◆ FlutterDesktopRegistrarGetTextureRegistrar()

FlutterDesktopTextureRegistrarRef FlutterDesktopRegistrarGetTextureRegistrar | ( | FlutterDesktopPluginRegistrarRef | registrar | ) |

Definition at line 429 of file flutter_windows.cc.

430 {
431 return HandleForTextureRegistrar(registrar->engine->texture_registrar());
432 }
flutter::FlutterWindowsEngine::texture_registrar
FlutterWindowsTextureRegistrar * texture_registrar()
Definition: flutter_windows_engine.h:177

References FlutterDesktopPluginRegistrar::engine, HandleForTextureRegistrar(), and flutter::FlutterWindowsEngine::texture_registrar().

## ◆ FlutterDesktopResyncOutputStreams()

void FlutterDesktopResyncOutputStreams | ( |  | ) |

Definition at line 331 of file flutter_windows.cc.

331 {
332 FILE* unused;
333 if (freopen_s(&unused, "CONOUT$", "w", stdout)) {
334 _dup2(_fileno(stdout), 1);
335 }
336 if (freopen_s(&unused, "CONOUT$", "w", stderr)) {
337 _dup2(_fileno(stdout), 2);
338 }
339 std::ios::sync_with_stdio();
340 }

## ◆ FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable()

bool FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable | ( | FlutterDesktopTextureRegistrarRef | texture_registrar,
|  | int64_t | texture_id
| ) |  |

Definition at line 455 of file flutter_windows.cc.

457 {
458 return TextureRegistrarFromHandle(texture_registrar)
459 ->MarkTextureFrameAvailable(texture_id);
460 }
flutter::FlutterWindowsTextureRegistrar::MarkTextureFrameAvailable
bool MarkTextureFrameAvailable(int64_t texture_id)
Definition: flutter_windows_texture_registrar.cc:103
texture_id
uint32_t texture_id
Definition: compositor_opengl.cc:20
TextureRegistrarFromHandle
static flutter::FlutterWindowsTextureRegistrar * TextureRegistrarFromHandle(FlutterDesktopTextureRegistrarRef ref)
Definition: flutter_windows.cc:64

References flutter::FlutterWindowsTextureRegistrar::MarkTextureFrameAvailable(), texture_id, and TextureRegistrarFromHandle().

Referenced by flutter::TextureRegistrarImpl::MarkTextureFrameAvailable().

## ◆ FlutterDesktopTextureRegistrarRegisterExternalTexture()

int64_t FlutterDesktopTextureRegistrarRegisterExternalTexture | ( | FlutterDesktopTextureRegistrarRef | texture_registrar,
|  | const FlutterDesktopTextureInfo * | texture_info
| ) |  |

Definition at line 434 of file flutter_windows.cc.

436 {
437 return TextureRegistrarFromHandle(texture_registrar)
438 ->RegisterTexture(texture_info);
439 }
flutter::FlutterWindowsTextureRegistrar::RegisterTexture
int64_t RegisterTexture(const FlutterDesktopTextureInfo *texture_info)
Definition: flutter_windows_texture_registrar.cc:26

References flutter::FlutterWindowsTextureRegistrar::RegisterTexture(), and TextureRegistrarFromHandle().

Referenced by flutter::TextureRegistrarImpl::RegisterTexture().

## ◆ FlutterDesktopTextureRegistrarUnregisterExternalTexture()

void FlutterDesktopTextureRegistrarUnregisterExternalTexture | ( | FlutterDesktopTextureRegistrarRef | texture_registrar,
|  | int64_t | texture_id,
|  | void(*)(void *user_data) | callback,
|  | void * | user_data
| ) |  |

Definition at line 441 of file flutter_windows.cc.

445 {
446 auto registrar = TextureRegistrarFromHandle(texture_registrar);
447 if (callback) {
448 registrar->UnregisterTexture(
449 texture_id, [callback, user_data]() { callback(user_data); });
450 return;
451 }
452 registrar->UnregisterTexture(texture_id);
453 }

References callback, texture_id, TextureRegistrarFromHandle(), and user_data.

Referenced by flutter::TextureRegistrarImpl::UnregisterTexture().

## ◆ FlutterDesktopViewControllerCreate()

FlutterDesktopViewControllerRef FlutterDesktopViewControllerCreate | ( | int | width,
|  | int | height,
|  | FlutterDesktopEngineRef | engine
| ) |  |

Definition at line 122 of file flutter_windows.cc.

125 {
126 return CreateViewController(engine, width, height, /*owns_engine=*/true);
127 }

References CreateViewController().

Referenced by flutter::FlutterViewController::FlutterViewController(), and flutter::testing::TEST_F().

## ◆ FlutterDesktopViewControllerDestroy()

void FlutterDesktopViewControllerDestroy | ( | FlutterDesktopViewControllerRef | ref | ) |

Definition at line 136 of file flutter_windows.cc.

136 {
137 auto controller = ViewControllerFromHandle(ref);
138 controller->Destroy();
139 delete controller;
140 }
ViewControllerFromHandle
static flutter::FlutterWindowsViewController * ViewControllerFromHandle(FlutterDesktopViewControllerRef ref)
Definition: flutter_windows.cc:43

References ViewControllerFromHandle().

Referenced by flutter::FlutterViewController::~FlutterViewController().

## ◆ FlutterDesktopViewControllerForceRedraw()

void FlutterDesktopViewControllerForceRedraw | ( | FlutterDesktopViewControllerRef | ref | ) |

Definition at line 160 of file flutter_windows.cc.

161 {
162 auto controller = ViewControllerFromHandle(ref);
163 controller->view()->ForceRedraw();
164 }

References ViewControllerFromHandle().

Referenced by flutter::FlutterViewController::ForceRedraw().

## ◆ FlutterDesktopViewControllerGetEngine()

FlutterDesktopEngineRef FlutterDesktopViewControllerGetEngine | ( | FlutterDesktopViewControllerRef | ref | ) |

Definition at line 148 of file flutter_windows.cc.

149 {
150 auto controller = ViewControllerFromHandle(ref);
151 return HandleForEngine(controller->engine());
152 }

References HandleForEngine(), and ViewControllerFromHandle().

Referenced by flutter::testing::TEST_F().

## ◆ FlutterDesktopViewControllerGetView()

FlutterDesktopViewRef FlutterDesktopViewControllerGetView | ( | FlutterDesktopViewControllerRef | ref | ) |

Definition at line 154 of file flutter_windows.cc.

155 {
156 auto controller = ViewControllerFromHandle(ref);
157 return HandleForView(controller->view());
158 }

References HandleForView(), and ViewControllerFromHandle().

Referenced by flutter::FlutterViewController::FlutterViewController(), and flutter::testing::TEST_F().

## ◆ FlutterDesktopViewControllerGetViewId()

FlutterDesktopViewId FlutterDesktopViewControllerGetViewId | ( | FlutterDesktopViewControllerRef | ref | ) |

Definition at line 142 of file flutter_windows.cc.

143 {
144 auto controller = ViewControllerFromHandle(ref);
145 return static_cast<FlutterDesktopViewId>(controller->view()->view_id());
146 }
FlutterDesktopViewId
int64_t FlutterDesktopViewId
Definition: flutter_windows.h:36

References ViewControllerFromHandle().

Referenced by flutter::testing::TEST_F(), and flutter::FlutterViewController::view_id().

## ◆ FlutterDesktopViewControllerHandleTopLevelWindowProc()

bool FlutterDesktopViewControllerHandleTopLevelWindowProc | ( | FlutterDesktopViewControllerRef | ref,
|  | HWND | hwnd,
|  | UINT | message,
|  | WPARAM | wparam,
|  | LPARAM | lparam,
|  | LRESULT * | result
| ) |  |

Definition at line 166 of file flutter_windows.cc.

172 {
173 auto controller = ViewControllerFromHandle(ref);
174 std::optional<LRESULT> delegate_result =
175 controller->engine()
176 ->window_proc_delegate_manager()
177 ->OnTopLevelWindowProc(hwnd, message, wparam, lparam);
178 if (delegate_result) {
179 *result = *delegate_result;
180 }
181 return delegate_result.has_value();
182 }

References message, and ViewControllerFromHandle().

Referenced by flutter::FlutterViewController::HandleTopLevelWindowProc().

## ◆ FlutterDesktopViewGetGraphicsAdapter()

IDXGIAdapter* FlutterDesktopViewGetGraphicsAdapter | ( | FlutterDesktopViewRef | view | ) |

Definition at line 257 of file flutter_windows.cc.

257 {
258 auto egl_manager = ViewFromHandle(view)->GetEngine()->egl_manager();
259 if (egl_manager) {
260 Microsoft::WRL::ComPtr<ID3D11Device> d3d_device;
261 Microsoft::WRL::ComPtr<IDXGIDevice> dxgi_device;
262 if (egl_manager->GetDevice(d3d_device.GetAddressOf()) &&
263 SUCCEEDED(d3d_device.As(&dxgi_device))) {
264 IDXGIAdapter* adapter;
265 if (SUCCEEDED(dxgi_device->GetAdapter(&adapter))) {
266 return adapter;
267 }
268 }
269 }
270 return nullptr;
271 }
flutter::FlutterWindowsEngine::egl_manager
egl::Manager * egl_manager() const
Definition: flutter_windows_engine.h:183
flutter::FlutterWindowsView::GetEngine
FlutterWindowsEngine * GetEngine() const
Definition: flutter_windows_view.cc:826
ViewFromHandle
static flutter::FlutterWindowsView * ViewFromHandle(FlutterDesktopViewRef ref)
Definition: flutter_windows.cc:54

References flutter::FlutterWindowsEngine::egl_manager(), flutter::FlutterWindowsView::GetEngine(), and ViewFromHandle().

Referenced by flutter::FlutterView::GetGraphicsAdapter(), and flutter::testing::TEST_F().

## ◆ FlutterDesktopViewGetHWND()

HWND FlutterDesktopViewGetHWND | ( | FlutterDesktopViewRef | view | ) |

Definition at line 253 of file flutter_windows.cc.

253 {
254 return ViewFromHandle(view)->GetWindowHandle();
255 }
flutter::FlutterWindowsView::GetWindowHandle
virtual HWND GetWindowHandle() const
Definition: flutter_windows_view.cc:822

References flutter::FlutterWindowsView::GetWindowHandle(), and ViewFromHandle().

Referenced by flutter::FlutterView::GetNativeWindow(), and flutter::testing::TEST_F().

## ◆ HandleForEngine()

static FlutterDesktopEngineRef HandleForEngine | ( | flutter::FlutterWindowsEngine * | engine | ) |
| static

Definition at line 38 of file flutter_windows.cc.

39 {
40 return reinterpret_cast<FlutterDesktopEngineRef>(engine);
41 }
FlutterDesktopEngineRef
struct FlutterDesktopEngine * FlutterDesktopEngineRef
Definition: flutter_windows.h:33

Referenced by FlutterDesktopEngineCreate(), FlutterDesktopEngineForId(), and FlutterDesktopViewControllerGetEngine().

## ◆ HandleForTextureRegistrar()

static FlutterDesktopTextureRegistrarRef HandleForTextureRegistrar | ( | flutter::FlutterWindowsTextureRegistrar * | registrar | ) |
| static

Definition at line 70 of file flutter_windows.cc.

71 {
72 return reinterpret_cast<FlutterDesktopTextureRegistrarRef>(registrar);
73 }
FlutterDesktopTextureRegistrarRef
struct FlutterDesktopTextureRegistrar * FlutterDesktopTextureRegistrarRef
Definition: flutter_texture_registrar.h:19

Referenced by FlutterDesktopEngineGetTextureRegistrar(), and FlutterDesktopRegistrarGetTextureRegistrar().

## ◆ HandleForView()

static FlutterDesktopViewRef HandleForView | ( | flutter::FlutterWindowsView * | view | ) |
| static

Definition at line 59 of file flutter_windows.cc.

59 {
60 return reinterpret_cast<FlutterDesktopViewRef>(view);
61 }
FlutterDesktopViewRef
struct FlutterDesktopView * FlutterDesktopViewRef
Definition: flutter_windows.h:29

Referenced by FlutterDesktopPluginRegistrarGetView(), FlutterDesktopPluginRegistrarGetViewById(), and FlutterDesktopViewControllerGetView().

## ◆ HandleForViewController()

static FlutterDesktopViewControllerRef HandleForViewController | ( | flutter::FlutterWindowsViewController * | view_controller | ) |
| static

Definition at line 48 of file flutter_windows.cc.

49 {
50 return reinterpret_cast<FlutterDesktopViewControllerRef>(view_controller);
51 }
FlutterDesktopViewControllerRef
struct FlutterDesktopViewController * FlutterDesktopViewControllerRef
Definition: flutter_windows.h:25

Referenced by CreateViewController().

## ◆ TextureRegistrarFromHandle()

static flutter::FlutterWindowsTextureRegistrar* TextureRegistrarFromHandle | ( | FlutterDesktopTextureRegistrarRef | ref | ) |
| static

Definition at line 64 of file flutter_windows.cc.

65 {
66 return reinterpret_cast<flutter::FlutterWindowsTextureRegistrar*>(ref);
67 }
flutter::FlutterWindowsTextureRegistrar
Definition: flutter_windows_texture_registrar.h:24

Referenced by FlutterDesktopTextureRegistrarMarkExternalTextureFrameAvailable(), FlutterDesktopTextureRegistrarRegisterExternalTexture(), and FlutterDesktopTextureRegistrarUnregisterExternalTexture().

## ◆ ViewControllerFromHandle()

static flutter::FlutterWindowsViewController* ViewControllerFromHandle | ( | FlutterDesktopViewControllerRef | ref | ) |
| static

Definition at line 43 of file flutter_windows.cc.

44 {
45 return reinterpret_cast<flutter::FlutterWindowsViewController*>(ref);
46 }
flutter::FlutterWindowsViewController
Controls a view that displays Flutter content.
Definition: flutter_windows_view_controller.h:17

Referenced by FlutterDesktopViewControllerDestroy(), FlutterDesktopViewControllerForceRedraw(), FlutterDesktopViewControllerGetEngine(), FlutterDesktopViewControllerGetView(), FlutterDesktopViewControllerGetViewId(), and FlutterDesktopViewControllerHandleTopLevelWindowProc().

## ◆ ViewFromHandle()

static flutter::FlutterWindowsView* ViewFromHandle | ( | FlutterDesktopViewRef | ref | ) |
| static

Definition at line 54 of file flutter_windows.cc.

54 {
55 return reinterpret_cast<flutter::FlutterWindowsView*>(ref);
56 }
flutter::FlutterWindowsView
Definition: flutter_windows_view.h:46

Referenced by FlutterDesktopViewGetGraphicsAdapter(), and FlutterDesktopViewGetHWND().