| // 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 <memory> |
| #include <string> |
| #include <vector> |
| |
| #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<int64_t, ViewportMetrics> viewport_metrics_for_views; |
| |
| std::string language_code; |
| std::string country_code; |
| std::string script_code; |
| std::string variant_code; |
| std::vector<std::string> 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<DisplayData> displays; |
| }; |
| |
| } // namespace flutter |
| |
| #endif // FLUTTER_RUNTIME_PLATFORM_DATA_H_ |