Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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 UI_GFX_OZONE_OVERLAY_CANDIDATES_OZONE_H_ | 5 #ifndef CC_OUTPUT_OVERLAY_CANDIDATES_H_ |
| 6 #define UI_GFX_OZONE_OVERLAY_CANDIDATES_OZONE_H_ | 6 #define CC_OUTPUT_OVERLAY_CANDIDATES_H_ |
| 7 | 7 |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| 11 #include "ui/gfx/gfx_export.h" | 11 #include "cc/base/cc_export.h" |
| 12 #include "ui/gfx/ozone/surface_factory_ozone.h" | 12 #include "cc/resources/resource_format.h" |
| 13 #include "ui/gfx/rect_f.h" | 13 #include "ui/gfx/geometry/rect.h" |
| 14 | 14 |
| 15 namespace gfx { | 15 namespace cc { |
| 16 | 16 |
| 17 // This class can be used to answer questions about possible overlay | 17 // This class that can be used to answer questions about possible overlay |
| 18 // configurations for a particular output device. We get an instance of this | 18 // configurations for a particular output device. |
| 19 // class from SurfaceFactoryOzone given an AcceleratedWidget. | 19 class CC_EXPORT OverlayCandidates { |
|
enne (OOO)
2014/03/14 18:13:41
bikeshed: If it answers questions, maybe this is a
alexst (slow to review)
2014/03/14 19:54:22
This name is a result of bikeshedding elsewhere. :
| |
| 20 class GFX_EXPORT OverlayCandidatesOzone { | |
| 21 public: | 20 public: |
| 21 enum OverlayTransform { | |
| 22 NONE, | |
| 23 FLIP_HORIZONTAL, | |
| 24 FLIP_VERTICAL, | |
| 25 ROTATE_90, | |
| 26 ROTATE_180, | |
| 27 ROTATE_270, | |
| 28 }; | |
| 29 | |
| 22 struct OverlaySurfaceCandidate { | 30 struct OverlaySurfaceCandidate { |
|
enne (OOO)
2014/03/14 18:13:41
Move this out to a separate file, to narrow visibi
| |
| 23 OverlaySurfaceCandidate(); | 31 OverlaySurfaceCandidate(); |
| 24 ~OverlaySurfaceCandidate(); | 32 ~OverlaySurfaceCandidate(); |
| 25 | 33 |
| 26 // Transformation to apply to layer during composition. | 34 // Transformation to apply to layer during composition. |
| 27 SurfaceFactoryOzone::OverlayTransform transform; | 35 OverlayTransform transform; |
| 28 // Format of the buffer to composite. | 36 // Format of the buffer to composite. |
| 29 SurfaceFactoryOzone::BufferFormat format; | 37 ResourceFormat format; |
| 30 // Rect on the display to position the overlay to. | 38 // Rect on the display to position the overlay to. |
| 31 gfx::Rect display_rect; | 39 gfx::Rect display_rect; |
| 32 // Crop within the buffer to be placed inside |display_rect|. | 40 // Crop within the buffer to be placed inside |display_rect|. |
|
enne (OOO)
2014/03/14 18:13:41
Can you say that this is in uv space and not in pi
| |
| 33 gfx::RectF crop_rect; | 41 gfx::RectF crop_rect; |
| 42 // Resource id of the buffer to present. | |
| 43 unsigned resource_id; | |
|
piman
2014/03/14 03:42:34
Will we need things like blending mode or somethin
alexst (slow to review)
2014/03/14 19:54:22
Yeah, I was going for a minimal subset and omitted
| |
| 34 | 44 |
| 35 // To be modified by the implementer if this candidate can go into | 45 // To be modified by the implementer if this candidate can go into |
| 36 // an overlay. | 46 // an overlay. |
| 37 bool overlay_handled; | 47 bool overlay_handled; |
| 38 }; | 48 }; |
| 39 | 49 |
| 40 typedef std::vector<OverlaySurfaceCandidate> OverlaySurfaceCandidateList; | 50 typedef std::vector<OverlaySurfaceCandidate> OverlaySurfaceCandidateList; |
| 41 | 51 |
| 42 // A list of possible overlay candidates is presented to this function. | 52 // A list of possible overlay candidates is presented to this function. |
| 43 // The expected result is that those candidates that can be in a separate | 53 // The expected result is that those candidates that can be in a separate |
| 44 // plane are marked with |overlay_handled| set to true, otherwise they are | 54 // plane are marked with |overlay_handled| set to true, otherwise they are |
| 45 // to be tranditionally composited. | 55 // to be tranditionally composited. |
|
enne (OOO)
2014/03/14 18:13:41
typo
alexst (slow to review)
2014/03/14 19:54:22
Done.
| |
| 46 virtual void CheckOverlaySupport(OverlaySurfaceCandidateList* surfaces); | 56 virtual void CheckOverlaySupport(OverlaySurfaceCandidateList* surfaces); |
|
piman
2014/03/14 03:42:34
pure virtual?
alexst (slow to review)
2014/03/14 19:54:22
Done.
| |
| 47 | 57 |
| 48 virtual ~OverlayCandidatesOzone(); | 58 virtual ~OverlayCandidates(); |
| 49 }; | 59 }; |
| 50 | 60 |
| 51 } // namespace gfx | 61 } // namespace cc |
| 52 | 62 |
| 53 #endif // UI_GFX_OZONE_OVERLAY_CANDIDATES_OZONE_H_ | 63 #endif // CC_OUTPUT_OVERLAY_CANDIDATES_H_ |
| OLD | NEW |