xref: /aosp_15_r20/frameworks/native/include/gui/WindowInfosUpdate.h (revision 38e8c45f13ce32b0dcecb25141ffecaf386fa17f)
1 /*
2  * Copyright 2023 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 
17 #pragma once
18 
19 #include <binder/Parcelable.h>
20 #include <gui/DisplayInfo.h>
21 #include <gui/WindowInfo.h>
22 
23 namespace android::gui {
24 
25 struct WindowInfosUpdate : public Parcelable {
WindowInfosUpdateWindowInfosUpdate26     WindowInfosUpdate() {}
27 
WindowInfosUpdateWindowInfosUpdate28     WindowInfosUpdate(std::vector<WindowInfo> windowInfos, std::vector<DisplayInfo> displayInfos,
29                       int64_t vsyncId, int64_t timestamp)
30           : windowInfos(std::move(windowInfos)),
31             displayInfos(std::move(displayInfos)),
32             vsyncId(vsyncId),
33             timestamp(timestamp) {}
34 
35     std::vector<WindowInfo> windowInfos;
36     std::vector<DisplayInfo> displayInfos;
37     int64_t vsyncId;
38     int64_t timestamp;
39 
40     status_t writeToParcel(android::Parcel*) const override;
41     status_t readFromParcel(const android::Parcel*) override;
42 };
43 
44 } // namespace android::gui
45