| Flutter Windows Embedder |

Public Member Functions | List of all members
flutter::PlatformViewManager Class Referenceabstract

`#include <platform_view_manager.h>`

Inheritance diagram for flutter::PlatformViewManager:

## Public Member Functions
| PlatformViewManager (BinaryMessenger *binary_messenger)
virtual | ~PlatformViewManager ()
virtual bool | AddPlatformView (PlatformViewId id, std::string_view type_name)=0
virtual bool | FocusPlatformView (PlatformViewId id, FocusChangeDirection direction, bool focus)=0

## Detailed Description

Definition at line 27 of file platform_view_manager.h.

## Constructor & Destructor Documentation

## ◆ PlatformViewManager()

flutter::PlatformViewManager::PlatformViewManager | ( | BinaryMessenger * | binary_messenger | ) |

Definition at line 21 of file platform_view_manager.cc.

22 : channel_(std::make_unique<MethodChannel<EncodableValue>>(
23 binary_messenger,
24 kChannelName,
25 &StandardMethodCodec::GetInstance())) {
26 channel_->SetMethodCallHandler(
27 [this](const MethodCall<EncodableValue>& call,
28 std::unique_ptr<MethodResult<EncodableValue>> result) {
29 const auto& args = std::get<EncodableMap>(*call.arguments());
30 if (call.method_name() == kCreateMethod) {
31 const auto& type_itr = args.find(EncodableValue(kViewTypeParameter));
32 const auto& id_itr = args.find(EncodableValue(kIdParameter));
33 if (type_itr == args.end()) {
34 result->Error("AddPlatformView", "Parameter viewType is required");
35 return;
36 }
37 if (id_itr == args.end()) {
38 result->Error("AddPlatformView", "Parameter id is required");
39 return;
40 }
41 const auto& type = std::get<std::string>(type_itr->second);
42 const auto& id = std::get<std::int32_t>(id_itr->second);
43 if (AddPlatformView(id, type)) {
44 result->Success();
45 } else {
46 result->Error("AddPlatformView", "Failed to add platform view");
47 }
48 return;
49 } else if (call.method_name() == kFocusMethod) {
50 const auto& id_itr = args.find(EncodableValue(kIdParameter));
51 const auto& direction_itr =
52 args.find(EncodableValue(kDirectionParameter));
53 const auto& focus_itr = args.find(EncodableValue(kFocusParameter));
54 if (id_itr == args.end()) {
55 result->Error("FocusPlatformView", "Parameter id is required");
56 return;
57 }
58 if (direction_itr == args.end()) {
59 result->Error("FocusPlatformView",
60 "Parameter direction is required");
61 return;
62 }
63 if (focus_itr == args.end()) {
64 result->Error("FocusPlatformView", "Parameter focus is required");
65 return;
66 }
67 const auto& id = std::get<std::int32_t>(id_itr->second);
68 const auto& direction = std::get<std::int32_t>(direction_itr->second);
69 const auto& focus = std::get<bool>(focus_itr->second);
70 if (FocusPlatformView(
71 id, static_cast<FocusChangeDirection>(direction), focus)) {
72 result->Success();
73 } else {
74 result->Error("FocusPlatformView", "Failed to focus platform view");
75 }
76 return;
77 }
78 result->NotImplemented();
79 });
80 }

References AddPlatformView(), flutter::MethodCall< T >::arguments(), FocusPlatformView(), flutter::MethodCall< T >::method_name(), and type.

## ◆ ~PlatformViewManager()

flutter::PlatformViewManager::~PlatformViewManager | ( |  | ) |
| virtual

Definition at line 82 of file platform_view_manager.cc.

82 {}

## Member Function Documentation

## ◆ AddPlatformView()

virtual bool flutter::PlatformViewManager::AddPlatformView | ( | PlatformViewId | id,
|  | std::string_view | type_name
| ) |  |
| pure virtual

Implemented in flutter::PlatformViewPlugin.

Referenced by PlatformViewManager().

## ◆ FocusPlatformView()

virtual bool flutter::PlatformViewManager::FocusPlatformView | ( | PlatformViewId | id,
|  | FocusChangeDirection | direction,
|  | bool | focus
| ) |  |
| pure virtual

Implemented in flutter::PlatformViewPlugin.

Referenced by PlatformViewManager().

The documentation for this class was generated from the following files:

- shell/platform/windows/platform_view_manager.h
- shell/platform/windows/platform_view_manager.cc

flutter::PlatformViewManager::AddPlatformView
virtual bool AddPlatformView(PlatformViewId id, std::string_view type_name)=0
flutter::FocusChangeDirection
FocusChangeDirection
Definition: platform_view_manager.h:17
type
enum flutter::testing::@88::KeyboardChange::Type type
kChannelName
static constexpr char kChannelName[]
Definition: cursor_handler.cc:13
flutter::PlatformViewManager::FocusPlatformView
virtual bool FocusPlatformView(PlatformViewId id, FocusChangeDirection direction, bool focus)=0
flutter::StandardMethodCodec::GetInstance
static const StandardMethodCodec & GetInstance(const StandardCodecSerializer *serializer=nullptr)
Definition: standard_codec.cc:340