1/*
2 * Copyright (C) 2024 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17import {PropertyTreeNode} from 'trace/tree_node/property_tree_node';
18
19export interface SfLayerSummary {
20  layerId: string;
21  nodeId: string;
22  name: string;
23}
24
25export interface SfSummaryProperty {
26  key: string;
27  simpleValue?: string;
28  layerValues?: SfLayerSummary[];
29}
30
31export interface SfCuratedProperties {
32  summary: SfSummaryProperty[];
33  flags: string;
34  calcTransform: PropertyTreeNode | undefined;
35  calcCrop: string;
36  finalBounds: string;
37  reqTransform: PropertyTreeNode | undefined;
38  reqCrop: string;
39  bufferSize: string;
40  frameNumber: string;
41  bufferTransformType: string;
42  destinationFrame: string;
43  z: string;
44  relativeParent: string;
45  calcColor: string;
46  calcShadowRadius: string;
47  calcCornerRadius: string;
48  calcCornerRadiusCrop: string;
49  backgroundBlurRadius: string;
50  reqColor: string;
51  reqCornerRadius: string;
52  inputTransform: PropertyTreeNode | undefined;
53  inputRegion: string | undefined;
54  focusable: string;
55  cropTouchRegionWithItem: string;
56  replaceTouchRegionWithCrop: string;
57  inputConfig: string;
58  ignoreDestinationFrame: boolean;
59  hasInputChannel: boolean;
60}
61
62export interface VcCuratedProperties {
63  className: string;
64  hashcode: string;
65  left: string;
66  top: string;
67  elevation: string;
68  height: string;
69  width: string;
70  translationX: string;
71  translationY: string;
72  scrollX: string;
73  scrollY: string;
74  scaleX: string;
75  scaleY: string;
76  visibility: string;
77  alpha: string;
78  willNotDraw: string;
79  clipChildren: string;
80}
81
82export type CuratedProperties = SfCuratedProperties | VcCuratedProperties;
83