Index: cc/output/overlay_candidate.h |
diff --git a/cc/output/overlay_candidate.h b/cc/output/overlay_candidate.h |
index c53013630d66aacb0462799b84c0c1eee324b256..e6883ccc3520a34bffd92de4bd9727beb63796a3 100644 |
--- a/cc/output/overlay_candidate.h |
+++ b/cc/output/overlay_candidate.h |
@@ -11,11 +11,14 @@ |
#include "cc/base/cc_export.h" |
#include "cc/resources/resource_format.h" |
#include "ui/gfx/geometry/rect.h" |
+#include "ui/gfx/transform.h" |
namespace cc { |
-struct CC_EXPORT OverlayCandidate { |
+class CC_EXPORT OverlayCandidate { |
+ public: |
enum OverlayTransform { |
+ INVALID, |
NONE, |
FLIP_HORIZONTAL, |
FLIP_VERTICAL, |
@@ -24,6 +27,12 @@ struct CC_EXPORT OverlayCandidate { |
ROTATE_270, |
}; |
+ static OverlayTransform GetOverlayTransform( |
+ const gfx::Transform& quad_transform, |
+ bool flipped); |
+ static gfx::Rect GetOverlayRect(const gfx::Transform& quad_transform, |
+ const gfx::Rect& rect); |
+ |
OverlayCandidate(); |
~OverlayCandidate(); |
@@ -35,12 +44,19 @@ struct CC_EXPORT OverlayCandidate { |
gfx::Rect display_rect; |
// Crop within the buffer to be placed inside |display_rect|. |
gfx::RectF uv_rect; |
+ // Texture resource to present in an overlay. |
+ unsigned resource_id; |
+ // Stacking order of the overlay plane relative to the main surface, |
+ // which is 0. Signed to allow for "underlays". |
+ int plane_z_order; |
// To be modified by the implementer if this candidate can go into |
// an overlay. |
bool overlay_handled; |
}; |
+typedef std::vector<OverlayCandidate> OverlayCandidateList; |
+ |
} // namespace cc |
#endif // CC_OUTPUT_OVERLAY_CANDIDATE_H_ |