| // Copyright 2013 The Flutter Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef FLUTTER_SHELL_PLATFORM_WINDOWS_FLUTTER_WINDOWS_INTERNAL_H_ |
| #define FLUTTER_SHELL_PLATFORM_WINDOWS_FLUTTER_WINDOWS_INTERNAL_H_ |
| |
| #include "flutter/shell/platform/windows/public/flutter_windows.h" |
| |
| #if defined(__cplusplus) |
| extern "C" { |
| #endif |
| |
| // Declare functions that are currently in-progress and shall be exposed to the |
| // public facing API upon completion. |
| |
| typedef int64_t PlatformViewId; |
| |
| typedef struct { |
| size_t struct_size; |
| HWND parent_window; |
| const char* platform_view_type; |
| // user_data may hold any necessary additional information for creating a new |
| // platform view. For example, an instance of FlutterWindow. |
| void* user_data; |
| PlatformViewId platform_view_id; |
| } FlutterPlatformViewCreationParameters; |
| |
| typedef HWND (*FlutterPlatformViewFactory)( |
| const FlutterPlatformViewCreationParameters*); |
| |
| typedef struct { |
| size_t struct_size; |
| FlutterPlatformViewFactory factory; |
| void* user_data; // Arbitrary user data supplied to the creation struct. |
| } FlutterPlatformViewTypeEntry; |
| |
| FLUTTER_EXPORT void FlutterDesktopEngineRegisterPlatformViewType( |
| FlutterDesktopEngineRef engine, |
| const char* view_type_name, |
| FlutterPlatformViewTypeEntry view_type); |
| |
| #if defined(__cplusplus) |
| } |
| #endif |
| |
| #endif // FLUTTER_SHELL_PLATFORM_WINDOWS_FLUTTER_WINDOWS_INTERNAL_H_ |