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 MOJO_CONVERTERS_SURFACES_SURFACES_TYPE_CONVERTERS_H_ | 5 #ifndef MOJO_CONVERTERS_SURFACES_SURFACES_TYPE_CONVERTERS_H_ |
6 #define MOJO_CONVERTERS_SURFACES_SURFACES_TYPE_CONVERTERS_H_ | 6 #define MOJO_CONVERTERS_SURFACES_SURFACES_TYPE_CONVERTERS_H_ |
7 | 7 |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "cc/resources/returned_resource.h" | 9 #include "cc/resources/returned_resource.h" |
10 #include "cc/resources/transferable_resource.h" | 10 #include "cc/resources/transferable_resource.h" |
11 #include "cc/surfaces/surface_id.h" | 11 #include "cc/surfaces/surface_id.h" |
12 #include "components/view_manager/public/interfaces/compositor_frame.mojom.h" | 12 #include "components/view_manager/public/interfaces/compositor_frame.mojom.h" |
13 #include "components/view_manager/public/interfaces/quads.mojom.h" | 13 #include "components/view_manager/public/interfaces/quads.mojom.h" |
14 #include "components/view_manager/public/interfaces/surface_id.mojom.h" | 14 #include "components/view_manager/public/interfaces/surface_id.mojom.h" |
15 #include "gpu/command_buffer/common/mailbox.h" | 15 #include "gpu/command_buffer/common/mailbox.h" |
16 #include "gpu/command_buffer/common/mailbox_holder.h" | 16 #include "gpu/command_buffer/common/mailbox_holder.h" |
17 #include "mojo/converters/surfaces/mojo_surfaces_export.h" | 17 #include "mojo/converters/surfaces/mojo_surfaces_export.h" |
18 #include "third_party/skia/include/core/SkColor.h" | 18 #include "third_party/skia/include/core/SkColor.h" |
19 | 19 |
20 namespace cc { | 20 namespace cc { |
21 class CompositorFrame; | 21 class CompositorFrame; |
| 22 class CompositorFrameMetadata; |
22 class DrawQuad; | 23 class DrawQuad; |
23 class RenderPass; | 24 class RenderPass; |
24 class RenderPassId; | 25 class RenderPassId; |
25 class SharedQuadState; | 26 class SharedQuadState; |
26 } // namespace cc | 27 } // namespace cc |
27 | 28 |
28 namespace mojo { | 29 namespace mojo { |
29 | 30 |
30 class CustomSurfaceConverter; | 31 class CustomSurfaceConverter; |
31 | 32 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
65 }; | 66 }; |
66 | 67 |
67 template <> | 68 template <> |
68 struct MOJO_SURFACES_EXPORT | 69 struct MOJO_SURFACES_EXPORT |
69 TypeConverter<SharedQuadStatePtr, cc::SharedQuadState> { | 70 TypeConverter<SharedQuadStatePtr, cc::SharedQuadState> { |
70 static SharedQuadStatePtr Convert(const cc::SharedQuadState& input); | 71 static SharedQuadStatePtr Convert(const cc::SharedQuadState& input); |
71 }; | 72 }; |
72 | 73 |
73 scoped_ptr<cc::RenderPass> ConvertToRenderPass( | 74 scoped_ptr<cc::RenderPass> ConvertToRenderPass( |
74 const mojo::PassPtr& input, | 75 const mojo::PassPtr& input, |
| 76 const mojo::CompositorFrameMetadataPtr& metadata, |
75 CustomSurfaceConverter* custom_converter); | 77 CustomSurfaceConverter* custom_converter); |
76 | 78 |
77 template <> | 79 template <> |
78 struct MOJO_SURFACES_EXPORT TypeConverter<PassPtr, cc::RenderPass> { | 80 struct MOJO_SURFACES_EXPORT TypeConverter<PassPtr, cc::RenderPass> { |
79 static PassPtr Convert(const cc::RenderPass& input); | 81 static PassPtr Convert(const cc::RenderPass& input); |
80 }; | 82 }; |
81 | 83 |
82 template <> | 84 template <> |
83 struct MOJO_SURFACES_EXPORT TypeConverter<scoped_ptr<cc::RenderPass>, PassPtr> { | 85 struct MOJO_SURFACES_EXPORT TypeConverter<scoped_ptr<cc::RenderPass>, PassPtr> { |
84 static scoped_ptr<cc::RenderPass> Convert(const PassPtr& input); | 86 static scoped_ptr<cc::RenderPass> Convert(const PassPtr& input); |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
146 static Array<ReturnedResourcePtr> Convert( | 148 static Array<ReturnedResourcePtr> Convert( |
147 const cc::ReturnedResourceArray& input); | 149 const cc::ReturnedResourceArray& input); |
148 }; | 150 }; |
149 template <> | 151 template <> |
150 struct MOJO_SURFACES_EXPORT | 152 struct MOJO_SURFACES_EXPORT |
151 TypeConverter<cc::ReturnedResourceArray, Array<ReturnedResourcePtr>> { | 153 TypeConverter<cc::ReturnedResourceArray, Array<ReturnedResourcePtr>> { |
152 static cc::ReturnedResourceArray Convert( | 154 static cc::ReturnedResourceArray Convert( |
153 const Array<ReturnedResourcePtr>& input); | 155 const Array<ReturnedResourcePtr>& input); |
154 }; | 156 }; |
155 | 157 |
| 158 template <> |
| 159 struct MOJO_SURFACES_EXPORT |
| 160 TypeConverter<CompositorFrameMetadataPtr, cc::CompositorFrameMetadata> { |
| 161 static CompositorFrameMetadataPtr Convert( |
| 162 const cc::CompositorFrameMetadata& input); |
| 163 }; |
| 164 template <> |
| 165 struct MOJO_SURFACES_EXPORT |
| 166 TypeConverter<cc::CompositorFrameMetadata, CompositorFrameMetadataPtr> { |
| 167 static cc::CompositorFrameMetadata Convert( |
| 168 const CompositorFrameMetadataPtr& input); |
| 169 }; |
| 170 |
156 scoped_ptr<cc::CompositorFrame> ConvertToCompositorFrame( | 171 scoped_ptr<cc::CompositorFrame> ConvertToCompositorFrame( |
157 const mojo::CompositorFramePtr& input, | 172 const mojo::CompositorFramePtr& input, |
158 CustomSurfaceConverter* custom_converter); | 173 CustomSurfaceConverter* custom_converter); |
159 | 174 |
160 template <> | 175 template <> |
161 struct MOJO_SURFACES_EXPORT | 176 struct MOJO_SURFACES_EXPORT |
162 TypeConverter<CompositorFramePtr, cc::CompositorFrame> { | 177 TypeConverter<CompositorFramePtr, cc::CompositorFrame> { |
163 static CompositorFramePtr Convert(const cc::CompositorFrame& input); | 178 static CompositorFramePtr Convert(const cc::CompositorFrame& input); |
164 }; | 179 }; |
165 | 180 |
166 template <> | 181 template <> |
167 struct MOJO_SURFACES_EXPORT | 182 struct MOJO_SURFACES_EXPORT |
168 TypeConverter<scoped_ptr<cc::CompositorFrame>, CompositorFramePtr> { | 183 TypeConverter<scoped_ptr<cc::CompositorFrame>, CompositorFramePtr> { |
169 static scoped_ptr<cc::CompositorFrame> Convert( | 184 static scoped_ptr<cc::CompositorFrame> Convert( |
170 const CompositorFramePtr& input); | 185 const CompositorFramePtr& input); |
171 }; | 186 }; |
172 | 187 |
173 } // namespace mojo | 188 } // namespace mojo |
174 | 189 |
175 #endif // MOJO_CONVERTERS_SURFACES_SURFACES_TYPE_CONVERTERS_H_ | 190 #endif // MOJO_CONVERTERS_SURFACES_SURFACES_TYPE_CONVERTERS_H_ |
OLD | NEW |