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 #include "cc/ipc/quads_struct_traits.h" | 5 #include "cc/ipc/quads_struct_traits.h" |
6 | 6 |
7 namespace mojo { | 7 namespace mojo { |
8 | 8 |
9 namespace { | 9 namespace { |
10 | 10 |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 break; | 46 break; |
47 case cc::DrawQuad::TEXTURE_CONTENT: | 47 case cc::DrawQuad::TEXTURE_CONTENT: |
48 quad = list->AllocateAndConstruct<cc::TextureDrawQuad>(); | 48 quad = list->AllocateAndConstruct<cc::TextureDrawQuad>(); |
49 break; | 49 break; |
50 case cc::DrawQuad::TILED_CONTENT: | 50 case cc::DrawQuad::TILED_CONTENT: |
51 quad = list->AllocateAndConstruct<cc::TileDrawQuad>(); | 51 quad = list->AllocateAndConstruct<cc::TileDrawQuad>(); |
52 break; | 52 break; |
53 case cc::DrawQuad::YUV_VIDEO_CONTENT: | 53 case cc::DrawQuad::YUV_VIDEO_CONTENT: |
54 quad = list->AllocateAndConstruct<cc::YUVVideoDrawQuad>(); | 54 quad = list->AllocateAndConstruct<cc::YUVVideoDrawQuad>(); |
55 break; | 55 break; |
| 56 case cc::DrawQuad::Y_VIDEO_CONTENT: |
| 57 quad = list->AllocateAndConstruct<cc::YVideoDrawQuad>(); |
| 58 break; |
56 } | 59 } |
57 if (quad) | 60 if (quad) |
58 quad->material = material; | 61 quad->material = material; |
59 return quad != nullptr; | 62 return quad != nullptr; |
60 } | 63 } |
61 | 64 |
62 } // namespace | 65 } // namespace |
63 | 66 |
64 // static | 67 // static |
65 cc::mojom::Material | 68 cc::mojom::Material |
(...skipping 13 matching lines...) Expand all Loading... |
79 case cc::DrawQuad::STREAM_VIDEO_CONTENT: | 82 case cc::DrawQuad::STREAM_VIDEO_CONTENT: |
80 return cc::mojom::Material::STREAM_VIDEO_CONTENT; | 83 return cc::mojom::Material::STREAM_VIDEO_CONTENT; |
81 case cc::DrawQuad::SURFACE_CONTENT: | 84 case cc::DrawQuad::SURFACE_CONTENT: |
82 return cc::mojom::Material::SURFACE_CONTENT; | 85 return cc::mojom::Material::SURFACE_CONTENT; |
83 case cc::DrawQuad::TEXTURE_CONTENT: | 86 case cc::DrawQuad::TEXTURE_CONTENT: |
84 return cc::mojom::Material::TEXTURE_CONTENT; | 87 return cc::mojom::Material::TEXTURE_CONTENT; |
85 case cc::DrawQuad::TILED_CONTENT: | 88 case cc::DrawQuad::TILED_CONTENT: |
86 return cc::mojom::Material::TILED_CONTENT; | 89 return cc::mojom::Material::TILED_CONTENT; |
87 case cc::DrawQuad::YUV_VIDEO_CONTENT: | 90 case cc::DrawQuad::YUV_VIDEO_CONTENT: |
88 return cc::mojom::Material::YUV_VIDEO_CONTENT; | 91 return cc::mojom::Material::YUV_VIDEO_CONTENT; |
| 92 case cc::DrawQuad::Y_VIDEO_CONTENT: |
| 93 return cc::mojom::Material::Y_VIDEO_CONTENT; |
89 } | 94 } |
90 return cc::mojom::Material::INVALID; | 95 return cc::mojom::Material::INVALID; |
91 } | 96 } |
92 | 97 |
93 // static | 98 // static |
94 bool EnumTraits<cc::mojom::Material, cc::DrawQuad::Material>::FromMojom( | 99 bool EnumTraits<cc::mojom::Material, cc::DrawQuad::Material>::FromMojom( |
95 cc::mojom::Material input, | 100 cc::mojom::Material input, |
96 cc::DrawQuad::Material* out) { | 101 cc::DrawQuad::Material* out) { |
97 switch (input) { | 102 switch (input) { |
98 case cc::mojom::Material::INVALID: | 103 case cc::mojom::Material::INVALID: |
(...skipping 19 matching lines...) Expand all Loading... |
118 return true; | 123 return true; |
119 case cc::mojom::Material::TEXTURE_CONTENT: | 124 case cc::mojom::Material::TEXTURE_CONTENT: |
120 *out = cc::DrawQuad::TEXTURE_CONTENT; | 125 *out = cc::DrawQuad::TEXTURE_CONTENT; |
121 return true; | 126 return true; |
122 case cc::mojom::Material::TILED_CONTENT: | 127 case cc::mojom::Material::TILED_CONTENT: |
123 *out = cc::DrawQuad::TILED_CONTENT; | 128 *out = cc::DrawQuad::TILED_CONTENT; |
124 return true; | 129 return true; |
125 case cc::mojom::Material::YUV_VIDEO_CONTENT: | 130 case cc::mojom::Material::YUV_VIDEO_CONTENT: |
126 *out = cc::DrawQuad::YUV_VIDEO_CONTENT; | 131 *out = cc::DrawQuad::YUV_VIDEO_CONTENT; |
127 return true; | 132 return true; |
| 133 case cc::mojom::Material::Y_VIDEO_CONTENT: |
| 134 *out = cc::DrawQuad::Y_VIDEO_CONTENT; |
| 135 return true; |
128 } | 136 } |
129 return false; | 137 return false; |
130 } | 138 } |
131 | 139 |
132 // static | 140 // static |
133 bool StructTraits<cc::mojom::DebugBorderQuadState, cc::DrawQuad>::Read( | 141 bool StructTraits<cc::mojom::DebugBorderQuadState, cc::DrawQuad>::Read( |
134 cc::mojom::DebugBorderQuadStateDataView data, | 142 cc::mojom::DebugBorderQuadStateDataView data, |
135 cc::DrawQuad* out) { | 143 cc::DrawQuad* out) { |
136 cc::DebugBorderDrawQuad* quad = static_cast<cc::DebugBorderDrawQuad*>(out); | 144 cc::DebugBorderDrawQuad* quad = static_cast<cc::DebugBorderDrawQuad*>(out); |
137 quad->color = data.color(); | 145 quad->color = data.color(); |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
294 // serialization/deserialization. | 302 // serialization/deserialization. |
295 break; | 303 break; |
296 case cc::mojom::Material::SURFACE_CONTENT: | 304 case cc::mojom::Material::SURFACE_CONTENT: |
297 return data.ReadSurfaceQuadState(out); | 305 return data.ReadSurfaceQuadState(out); |
298 case cc::mojom::Material::TEXTURE_CONTENT: | 306 case cc::mojom::Material::TEXTURE_CONTENT: |
299 return data.ReadTextureQuadState(out); | 307 return data.ReadTextureQuadState(out); |
300 case cc::mojom::Material::TILED_CONTENT: | 308 case cc::mojom::Material::TILED_CONTENT: |
301 return data.ReadTileQuadState(out); | 309 return data.ReadTileQuadState(out); |
302 case cc::mojom::Material::YUV_VIDEO_CONTENT: | 310 case cc::mojom::Material::YUV_VIDEO_CONTENT: |
303 return data.ReadYuvVideoQuadState(out); | 311 return data.ReadYuvVideoQuadState(out); |
| 312 case cc::mojom::Material::Y_VIDEO_CONTENT: |
| 313 // TODO(astojilj): Implement YVideoDrawQuad |
| 314 // serialization/deserialization. |
| 315 break; |
304 } | 316 } |
305 NOTREACHED(); | 317 NOTREACHED(); |
306 return false; | 318 return false; |
307 } | 319 } |
308 | 320 |
309 // static | 321 // static |
310 void* StructTraits<cc::mojom::QuadList, cc::QuadList>::SetUpContext( | 322 void* StructTraits<cc::mojom::QuadList, cc::QuadList>::SetUpContext( |
311 const cc::QuadList& quad_list) { | 323 const cc::QuadList& quad_list) { |
312 mojo::Array<cc::DrawQuad::Material>* materials = | 324 mojo::Array<cc::DrawQuad::Material>* materials = |
313 new mojo::Array<cc::DrawQuad::Material>(quad_list.size()); | 325 new mojo::Array<cc::DrawQuad::Material>(quad_list.size()); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
346 if (!AllocateAndConstruct(materials[i], out)) | 358 if (!AllocateAndConstruct(materials[i], out)) |
347 return false; | 359 return false; |
348 } | 360 } |
349 // The materials array and the quads array are expected to be the same size. | 361 // The materials array and the quads array are expected to be the same size. |
350 // If they are not, then deserialization will fail. | 362 // If they are not, then deserialization will fail. |
351 QuadListArray quad_list_array = {materials.size(), out}; | 363 QuadListArray quad_list_array = {materials.size(), out}; |
352 return data.ReadQuads(&quad_list_array); | 364 return data.ReadQuads(&quad_list_array); |
353 } | 365 } |
354 | 366 |
355 } // namespace mojo | 367 } // namespace mojo |
OLD | NEW |