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 |