Flutter Engine
The Flutter Engine
embedder_frozen.h
Go to the documentation of this file.
1// Copyright 2013 The Flutter Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef FLUTTER_SHELL_PLATFORM_EMBEDDER_TESTS_EMBEDDER_FROZEN_H_
6#define FLUTTER_SHELL_PLATFORM_EMBEDDER_TESTS_EMBEDDER_FROZEN_H_
7
8#include "flutter/shell/platform/embedder/embedder.h"
9
10// NO CHANGES ARE PERMITTED TO THE STRUCTS IN THIS FILE.
11//
12// This file contains the subset of the embedder API that is "frozen".
13// "Frozen" APIs are locked and must not be modified to guarantee
14// forward and backward ABI compatibility. The order, type, and size
15// of the struct members below must remain the same, and members must
16// not be added nor removed.
17//
18// This file serves as a "golden test" for structs in embedder.h
19// and contains a snapshot of the expected "frozen" API. Tests
20// then verify that these structs match the actual embedder API.
21
22namespace flutter {
23namespace testing {
24
25// New members must not be added to `FlutterTransformation`
26// as it would break the ABI of `FlutterSemanticsNode`.
27// See: https://github.com/flutter/flutter/issues/121176
28typedef struct {
29 double scaleX;
30 double skewX;
31 double transX;
32 double skewY;
33 double scaleY;
34 double transY;
35 double pers0;
36 double pers1;
37 double pers2;
39
40// New members must not be added to `FlutterRect` as it would
41// break the ABI of `FlutterSemanticsNode` and `FlutterDamage`.
42// See: https://github.com/flutter/flutter/issues/121176
43// See: https://github.com/flutter/flutter/issues/121347
44typedef struct {
45 double left;
46 double top;
47 double right;
48 double bottom;
50
51// New members must not be added to `FlutterPoint` as it would
52// break the ABI of `FlutterLayer`.
53typedef struct {
54 double x;
55 double y;
57
58// New members must not be added to `FlutterDamage` as it would
59// break the ABI of `FlutterPresentInfo`.
60typedef struct {
62 size_t num_rects;
65
66// New members must not be added to `FlutterSemanticsNode`
67// as it would break the ABI of `FlutterSemanticsUpdate`.
68// See: https://github.com/flutter/flutter/issues/121176
69typedef struct {
71 int32_t id;
77 int32_t scroll_index;
81 double elevation;
82 double thickness;
83 const char* label;
84 const char* hint;
85 const char* value;
86 const char* increased_value;
87 const char* decreased_value;
97 const char* tooltip;
99
100// New members must not be added to `FlutterSemanticsCustomAction`
101// as it would break the ABI of `FlutterSemanticsUpdate`.
102// See: https://github.com/flutter/flutter/issues/121176
103typedef struct {
105 int32_t id;
107 const char* label;
108 const char* hint;
110
111} // namespace testing
112} // namespace flutter
113
114#endif // FLUTTER_SHELL_PLATFORM_EMBEDDER_TESTS_EMBEDDER_FROZEN_H_
int64_t FlutterPlatformViewIdentifier
Definition: embedder.h:1188
FlutterSemanticsAction
Definition: embedder.h:113
FlutterTextDirection
Definition: embedder.h:248
FlutterSemanticsFlag
Definition: embedder.h:172
FlutterPlatformViewIdentifier platform_view_id