OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CC_SURFACES_SURFACE_INFO_H_ | 5 #ifndef CC_SURFACES_SURFACE_INFO_H_ |
6 #define CC_SURFACES_SURFACE_INFO_H_ | 6 #define CC_SURFACES_SURFACE_INFO_H_ |
7 | 7 |
8 #include "cc/surfaces/surface_id.h" | 8 #include "cc/surfaces/surface_id.h" |
9 #include "ui/gfx/geometry/size.h" | 9 #include "ui/gfx/geometry/size.h" |
10 | 10 |
11 namespace cc { | 11 namespace cc { |
| 12 namespace mojom { |
| 13 class SurfaceInfoDataView; |
| 14 } |
12 | 15 |
13 // This class contains information about the surface that is being embedded. | 16 // This class contains information about the surface that is being embedded. |
14 class SurfaceInfo { | 17 class SurfaceInfo { |
15 public: | 18 public: |
16 SurfaceInfo() = default; | 19 SurfaceInfo() = default; |
17 SurfaceInfo(const SurfaceId& id, | 20 SurfaceInfo(const SurfaceId& id, |
18 float device_scale_factor, | 21 float device_scale_factor, |
19 const gfx::Size& size_in_pixels) | 22 const gfx::Size& size_in_pixels) |
20 : id_(id), | 23 : id_(id), |
21 device_scale_factor_(device_scale_factor), | 24 device_scale_factor_(device_scale_factor), |
22 size_in_pixels_(size_in_pixels) {} | 25 size_in_pixels_(size_in_pixels) {} |
23 | 26 |
24 bool operator==(const SurfaceInfo& info) const { | 27 bool operator==(const SurfaceInfo& info) const { |
25 return id_ == info.id() && | 28 return id_ == info.id() && |
26 device_scale_factor_ == info.device_scale_factor() && | 29 device_scale_factor_ == info.device_scale_factor() && |
27 size_in_pixels_ == info.size_in_pixels(); | 30 size_in_pixels_ == info.size_in_pixels(); |
28 } | 31 } |
29 | 32 |
30 bool operator!=(const SurfaceInfo& info) const { return !(*this == info); } | 33 bool operator!=(const SurfaceInfo& info) const { return !(*this == info); } |
31 | 34 |
32 const SurfaceId& id() const { return id_; } | 35 const SurfaceId& id() const { return id_; } |
33 float device_scale_factor() const { return device_scale_factor_; } | 36 float device_scale_factor() const { return device_scale_factor_; } |
34 const gfx::Size& size_in_pixels() const { return size_in_pixels_; } | 37 const gfx::Size& size_in_pixels() const { return size_in_pixels_; } |
35 | 38 |
36 private: | 39 private: |
| 40 friend struct mojo::StructTraits<mojom::SurfaceInfoDataView, SurfaceInfo>; |
| 41 |
37 SurfaceId id_; | 42 SurfaceId id_; |
38 float device_scale_factor_ = 1.f; | 43 float device_scale_factor_ = 1.f; |
39 gfx::Size size_in_pixels_; | 44 gfx::Size size_in_pixels_; |
40 }; | 45 }; |
41 | 46 |
42 } // namespace cc | 47 } // namespace cc |
43 | 48 |
44 #endif // CC_SURFACES_SURFACE_INFO_H_ | 49 #endif // CC_SURFACES_SURFACE_INFO_H_ |
OLD | NEW |