xref: /aosp_15_r20/external/perfetto/protos/perfetto/trace/android/view/windowlayoutparams.proto (revision 6dbdd20afdafa5e3ca9b8809fa73465d530080dc)
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
17syntax = "proto2";
18
19import "protos/perfetto/trace/android/graphics/pixelformat.proto";
20import "protos/perfetto/trace/android/view/display.proto";
21import "protos/perfetto/trace/android/typedef.proto";
22
23package perfetto.protos;
24
25// represents WindowManager.LayoutParams
26message WindowLayoutParamsProto {
27  optional int32 type = 1
28      [(.perfetto.protos.typedef) =
29           "android.view.WindowManager.LayoutParams.WindowType"];
30  optional int32 x = 2;
31  optional int32 y = 3;
32  optional int32 width = 4;
33  optional int32 height = 5;
34  optional float horizontal_margin = 6;
35  optional float vertical_margin = 7;
36  optional int32 gravity = 8
37      [(.perfetto.protos.typedef) = "android.view.Gravity.GravityFlags"];
38  optional int32 soft_input_mode = 9
39      [(.perfetto.protos.typedef) =
40           "android.view.WindowManager.LayoutParams.SoftInputModeFlags"];
41  optional PixelFormatProto.Format format = 10;
42  optional int32 window_animations = 11;
43  optional float alpha = 12;
44  optional float screen_brightness = 13;
45  optional float button_brightness = 14;
46
47  enum RotationAnimation {
48    ROTATION_ANIMATION_UNSPECIFIED = -1;
49    ROTATION_ANIMATION_CROSSFADE = 1;
50    ROTATION_ANIMATION_JUMPCUT = 2;
51    ROTATION_ANIMATION_SEAMLESS = 3;
52  }
53  optional RotationAnimation rotation_animation = 15;
54
55  optional float preferred_refresh_rate = 16;
56  optional int32 preferred_display_mode_id = 17;
57  optional bool has_system_ui_listeners = 18;
58  optional uint32 input_feature_flags = 19
59      [(.perfetto.protos.typedef) =
60           "android.view.WindowManager.LayoutParams.InputFeatureFlags"];
61  optional int64 user_activity_timeout = 20;
62
63  optional ViewDisplayProto.ColorMode color_mode = 23;
64  optional uint32 flags = 24
65      [(.perfetto.protos.typedef) =
66           "android.view.WindowManager.LayoutParams.Flags"];
67  optional uint32 private_flags = 26
68      [(.perfetto.protos.typedef) =
69           "android.view.WindowManager.LayoutParams.PrivateFlags"];
70  optional uint32 system_ui_visibility_flags = 27
71      [(.perfetto.protos.typedef) =
72           "android.view.WindowManager.LayoutParams.SystemUiVisibilityFlags"];
73  optional uint32 subtree_system_ui_visibility_flags = 28
74      [(.perfetto.protos.typedef) =
75           "android.view.WindowManager.LayoutParams.SystemUiVisibilityFlags"];
76  optional uint32 appearance = 29
77      [(.perfetto.protos.typedef) =
78           "android.view.WindowInsetsController.Appearance"];
79  optional uint32 behavior = 30
80      [(.perfetto.protos.typedef) =
81           "android.view.WindowInsetsController.Behavior"];
82  optional uint32 fit_insets_types = 31
83      [(.perfetto.protos.typedef) =
84           "android.view.WindowInsets.Type.InsetsType"];
85  optional uint32 fit_insets_sides = 32
86      [(.perfetto.protos.typedef) =
87           "android.view.WindowInsets.Side.InsetsSide"];
88  optional bool fit_ignore_visibility = 33;
89}
90