| 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 #include "ui/gfx/mojo/transform_struct_traits.h" | 6 #include "ui/gfx/mojo/transform_struct_traits.h" |
| 7 | 7 |
| 8 namespace mojo { | 8 namespace mojo { |
| 9 | 9 |
| 10 namespace { | 10 namespace { |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 47 break; | 47 break; |
| 48 case cc::DrawQuad::TEXTURE_CONTENT: | 48 case cc::DrawQuad::TEXTURE_CONTENT: |
| 49 quad = list->AllocateAndConstruct<cc::TextureDrawQuad>(); | 49 quad = list->AllocateAndConstruct<cc::TextureDrawQuad>(); |
| 50 break; | 50 break; |
| 51 case cc::DrawQuad::TILED_CONTENT: | 51 case cc::DrawQuad::TILED_CONTENT: |
| 52 quad = list->AllocateAndConstruct<cc::TileDrawQuad>(); | 52 quad = list->AllocateAndConstruct<cc::TileDrawQuad>(); |
| 53 break; | 53 break; |
| 54 case cc::DrawQuad::YUV_VIDEO_CONTENT: | 54 case cc::DrawQuad::YUV_VIDEO_CONTENT: |
| 55 quad = list->AllocateAndConstruct<cc::YUVVideoDrawQuad>(); | 55 quad = list->AllocateAndConstruct<cc::YUVVideoDrawQuad>(); |
| 56 break; | 56 break; |
| 57 case cc::DrawQuad::Y_VIDEO_CONTENT: |
| 58 quad = list->AllocateAndConstruct<cc::YVideoDrawQuad>(); |
| 59 break; |
| 57 } | 60 } |
| 58 if (quad) | 61 if (quad) |
| 59 quad->material = material; | 62 quad->material = material; |
| 60 return quad != nullptr; | 63 return quad != nullptr; |
| 61 } | 64 } |
| 62 | 65 |
| 63 } // namespace | 66 } // namespace |
| 64 | 67 |
| 65 // static | 68 // static |
| 66 cc::mojom::Material | 69 cc::mojom::Material |
| (...skipping 13 matching lines...) Expand all Loading... |
| 80 case cc::DrawQuad::STREAM_VIDEO_CONTENT: | 83 case cc::DrawQuad::STREAM_VIDEO_CONTENT: |
| 81 return cc::mojom::Material::STREAM_VIDEO_CONTENT; | 84 return cc::mojom::Material::STREAM_VIDEO_CONTENT; |
| 82 case cc::DrawQuad::SURFACE_CONTENT: | 85 case cc::DrawQuad::SURFACE_CONTENT: |
| 83 return cc::mojom::Material::SURFACE_CONTENT; | 86 return cc::mojom::Material::SURFACE_CONTENT; |
| 84 case cc::DrawQuad::TEXTURE_CONTENT: | 87 case cc::DrawQuad::TEXTURE_CONTENT: |
| 85 return cc::mojom::Material::TEXTURE_CONTENT; | 88 return cc::mojom::Material::TEXTURE_CONTENT; |
| 86 case cc::DrawQuad::TILED_CONTENT: | 89 case cc::DrawQuad::TILED_CONTENT: |
| 87 return cc::mojom::Material::TILED_CONTENT; | 90 return cc::mojom::Material::TILED_CONTENT; |
| 88 case cc::DrawQuad::YUV_VIDEO_CONTENT: | 91 case cc::DrawQuad::YUV_VIDEO_CONTENT: |
| 89 return cc::mojom::Material::YUV_VIDEO_CONTENT; | 92 return cc::mojom::Material::YUV_VIDEO_CONTENT; |
| 93 case cc::DrawQuad::Y_VIDEO_CONTENT: |
| 94 return cc::mojom::Material::Y_VIDEO_CONTENT; |
| 90 } | 95 } |
| 91 return cc::mojom::Material::INVALID; | 96 return cc::mojom::Material::INVALID; |
| 92 } | 97 } |
| 93 | 98 |
| 94 // static | 99 // static |
| 95 bool EnumTraits<cc::mojom::Material, cc::DrawQuad::Material>::FromMojom( | 100 bool EnumTraits<cc::mojom::Material, cc::DrawQuad::Material>::FromMojom( |
| 96 cc::mojom::Material input, | 101 cc::mojom::Material input, |
| 97 cc::DrawQuad::Material* out) { | 102 cc::DrawQuad::Material* out) { |
| 98 switch (input) { | 103 switch (input) { |
| 99 case cc::mojom::Material::INVALID: | 104 case cc::mojom::Material::INVALID: |
| (...skipping 19 matching lines...) Expand all Loading... |
| 119 return true; | 124 return true; |
| 120 case cc::mojom::Material::TEXTURE_CONTENT: | 125 case cc::mojom::Material::TEXTURE_CONTENT: |
| 121 *out = cc::DrawQuad::TEXTURE_CONTENT; | 126 *out = cc::DrawQuad::TEXTURE_CONTENT; |
| 122 return true; | 127 return true; |
| 123 case cc::mojom::Material::TILED_CONTENT: | 128 case cc::mojom::Material::TILED_CONTENT: |
| 124 *out = cc::DrawQuad::TILED_CONTENT; | 129 *out = cc::DrawQuad::TILED_CONTENT; |
| 125 return true; | 130 return true; |
| 126 case cc::mojom::Material::YUV_VIDEO_CONTENT: | 131 case cc::mojom::Material::YUV_VIDEO_CONTENT: |
| 127 *out = cc::DrawQuad::YUV_VIDEO_CONTENT; | 132 *out = cc::DrawQuad::YUV_VIDEO_CONTENT; |
| 128 return true; | 133 return true; |
| 134 case cc::mojom::Material::Y_VIDEO_CONTENT: |
| 135 *out = cc::DrawQuad::Y_VIDEO_CONTENT; |
| 136 return true; |
| 129 } | 137 } |
| 130 return false; | 138 return false; |
| 131 } | 139 } |
| 132 | 140 |
| 133 // static | 141 // static |
| 134 bool StructTraits<cc::mojom::DebugBorderQuadState, cc::DrawQuad>::Read( | 142 bool StructTraits<cc::mojom::DebugBorderQuadState, cc::DrawQuad>::Read( |
| 135 cc::mojom::DebugBorderQuadStateDataView data, | 143 cc::mojom::DebugBorderQuadStateDataView data, |
| 136 cc::DrawQuad* out) { | 144 cc::DrawQuad* out) { |
| 137 cc::DebugBorderDrawQuad* quad = static_cast<cc::DebugBorderDrawQuad*>(out); | 145 cc::DebugBorderDrawQuad* quad = static_cast<cc::DebugBorderDrawQuad*>(out); |
| 138 quad->color = data.color(); | 146 quad->color = data.color(); |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 315 case cc::mojom::Material::STREAM_VIDEO_CONTENT: | 323 case cc::mojom::Material::STREAM_VIDEO_CONTENT: |
| 316 return data.ReadStreamVideoQuadState(out); | 324 return data.ReadStreamVideoQuadState(out); |
| 317 case cc::mojom::Material::SURFACE_CONTENT: | 325 case cc::mojom::Material::SURFACE_CONTENT: |
| 318 return data.ReadSurfaceQuadState(out); | 326 return data.ReadSurfaceQuadState(out); |
| 319 case cc::mojom::Material::TEXTURE_CONTENT: | 327 case cc::mojom::Material::TEXTURE_CONTENT: |
| 320 return data.ReadTextureQuadState(out); | 328 return data.ReadTextureQuadState(out); |
| 321 case cc::mojom::Material::TILED_CONTENT: | 329 case cc::mojom::Material::TILED_CONTENT: |
| 322 return data.ReadTileQuadState(out); | 330 return data.ReadTileQuadState(out); |
| 323 case cc::mojom::Material::YUV_VIDEO_CONTENT: | 331 case cc::mojom::Material::YUV_VIDEO_CONTENT: |
| 324 return data.ReadYuvVideoQuadState(out); | 332 return data.ReadYuvVideoQuadState(out); |
| 333 case cc::mojom::Material::Y_VIDEO_CONTENT: |
| 334 // TODO(astojilj): Implement YVideoDrawQuad |
| 335 // serialization/deserialization. |
| 336 break; |
| 325 } | 337 } |
| 326 NOTREACHED(); | 338 NOTREACHED(); |
| 327 return false; | 339 return false; |
| 328 } | 340 } |
| 329 | 341 |
| 330 // static | 342 // static |
| 331 void* StructTraits<cc::mojom::QuadList, cc::QuadList>::SetUpContext( | 343 void* StructTraits<cc::mojom::QuadList, cc::QuadList>::SetUpContext( |
| 332 const cc::QuadList& quad_list) { | 344 const cc::QuadList& quad_list) { |
| 333 mojo::Array<cc::DrawQuad::Material>* materials = | 345 mojo::Array<cc::DrawQuad::Material>* materials = |
| 334 new mojo::Array<cc::DrawQuad::Material>(quad_list.size()); | 346 new mojo::Array<cc::DrawQuad::Material>(quad_list.size()); |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 367 if (!AllocateAndConstruct(materials[i], out)) | 379 if (!AllocateAndConstruct(materials[i], out)) |
| 368 return false; | 380 return false; |
| 369 } | 381 } |
| 370 // The materials array and the quads array are expected to be the same size. | 382 // The materials array and the quads array are expected to be the same size. |
| 371 // If they are not, then deserialization will fail. | 383 // If they are not, then deserialization will fail. |
| 372 QuadListArray quad_list_array = {materials.size(), out}; | 384 QuadListArray quad_list_array = {materials.size(), out}; |
| 373 return data.ReadQuads(&quad_list_array); | 385 return data.ReadQuads(&quad_list_array); |
| 374 } | 386 } |
| 375 | 387 |
| 376 } // namespace mojo | 388 } // namespace mojo |
| OLD | NEW |