// 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_RUNTIME_PLATFORM_DATA_H_ #define FLUTTER_RUNTIME_PLATFORM_DATA_H_ #include #include #include #include "flutter/lib/ui/window/viewport_metrics.h" #include "flutter/shell/common/display.h" namespace flutter { //------------------------------------------------------------------------------ /// The struct of platform-specific data used for initializing /// ui.PlatformDispatcher. /// /// The framework may request data from ui.PlatformDispatcher before the /// platform is properly configured. When creating the Shell, the engine sets /// this struct to default values until the platform is ready to send the real /// data. /// /// See also: /// /// * flutter::Shell::Create, which takes a platform_data to initialize the /// ui.PlatformDispatcher attached to it. struct PlatformData { PlatformData(); ~PlatformData(); // A map from view IDs of existing views to their viewport metrics. std::unordered_map viewport_metrics_for_views; std::string language_code; std::string country_code; std::string script_code; std::string variant_code; std::vector locale_data; std::string user_settings_data = "{}"; std::string lifecycle_state; bool semantics_enabled = false; bool assistive_technology_enabled = false; int32_t accessibility_feature_flags_ = 0; std::vector displays; }; } // namespace flutter #endif // FLUTTER_RUNTIME_PLATFORM_DATA_H_