OLD | NEW |
| (Empty) |
1 // Copyright 2014 The Chromium 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 CC_OUTPUT_OVERLAY_CANDIDATE_H_ | |
6 #define CC_OUTPUT_OVERLAY_CANDIDATE_H_ | |
7 | |
8 #include <vector> | |
9 | |
10 #include "cc/resources/resource_format.h" | |
11 #include "ui/gfx/geometry/rect.h" | |
12 #include "ui/gfx/overlay_transform.h" | |
13 #include "ui/gfx/transform.h" | |
14 | |
15 namespace cc { | |
16 | |
17 class OverlayCandidate { | |
18 public: | |
19 static gfx::OverlayTransform GetOverlayTransform( | |
20 const gfx::Transform& quad_transform, | |
21 bool flipped); | |
22 // Apply transform |delta| to |in| and return the resulting transform, | |
23 // or OVERLAY_TRANSFORM_INVALID. | |
24 static gfx::OverlayTransform ModifyTransform(gfx::OverlayTransform in, | |
25 gfx::OverlayTransform delta); | |
26 static gfx::Rect GetOverlayRect(const gfx::Transform& quad_transform, | |
27 const gfx::Rect& rect); | |
28 | |
29 OverlayCandidate(); | |
30 ~OverlayCandidate(); | |
31 | |
32 // Transformation to apply to layer during composition. | |
33 gfx::OverlayTransform transform; | |
34 // Format of the buffer to composite. | |
35 ResourceFormat format; | |
36 // Rect on the display to position the overlay to. | |
37 gfx::Rect display_rect; | |
38 // Crop within the buffer to be placed inside |display_rect|. | |
39 gfx::RectF uv_rect; | |
40 // Texture resource to present in an overlay. | |
41 unsigned resource_id; | |
42 // Stacking order of the overlay plane relative to the main surface, | |
43 // which is 0. Signed to allow for "underlays". | |
44 int plane_z_order; | |
45 | |
46 // To be modified by the implementer if this candidate can go into | |
47 // an overlay. | |
48 bool overlay_handled; | |
49 }; | |
50 | |
51 typedef std::vector<OverlayCandidate> OverlayCandidateList; | |
52 | |
53 } // namespace cc | |
54 | |
55 #endif // CC_OUTPUT_OVERLAY_CANDIDATE_H_ | |
OLD | NEW |