| 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 |