| 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 | 7 |
| 7 namespace mojo { | 8 namespace mojo { |
| 8 | 9 |
| 9 namespace { | 10 namespace { |
| 10 | 11 |
| 11 bool ReadDrawQuad(cc::mojom::DrawQuadDataView data, cc::DrawQuad* quad) { | 12 bool ReadDrawQuad(cc::mojom::DrawQuadDataView data, cc::DrawQuad* quad) { |
| 12 cc::DrawQuad::Material material; | 13 cc::DrawQuad::Material material; |
| 13 if (!data.ReadMaterial(&material) || material != quad->material) { | 14 if (!data.ReadMaterial(&material) || material != quad->material) { |
| 14 return false; | 15 return false; |
| 15 } | 16 } |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 159 bool StructTraits<cc::mojom::SolidColorQuadState, cc::DrawQuad>::Read( | 160 bool StructTraits<cc::mojom::SolidColorQuadState, cc::DrawQuad>::Read( |
| 160 cc::mojom::SolidColorQuadStateDataView data, | 161 cc::mojom::SolidColorQuadStateDataView data, |
| 161 cc::DrawQuad* out) { | 162 cc::DrawQuad* out) { |
| 162 cc::SolidColorDrawQuad* quad = static_cast<cc::SolidColorDrawQuad*>(out); | 163 cc::SolidColorDrawQuad* quad = static_cast<cc::SolidColorDrawQuad*>(out); |
| 163 quad->force_anti_aliasing_off = data.force_anti_aliasing_off(); | 164 quad->force_anti_aliasing_off = data.force_anti_aliasing_off(); |
| 164 quad->color = data.color(); | 165 quad->color = data.color(); |
| 165 return true; | 166 return true; |
| 166 } | 167 } |
| 167 | 168 |
| 168 // static | 169 // static |
| 170 bool StructTraits<cc::mojom::StreamVideoQuadState, cc::DrawQuad>::Read( |
| 171 cc::mojom::StreamVideoQuadStateDataView data, |
| 172 cc::DrawQuad* out) { |
| 173 cc::StreamVideoDrawQuad* quad = static_cast<cc::StreamVideoDrawQuad*>(out); |
| 174 quad->resources.ids[cc::StreamVideoDrawQuad::kResourceIdIndex] = |
| 175 data.resource_id(); |
| 176 quad->resources.count = 1; |
| 177 return data.ReadResourceSizeInPixels( |
| 178 &quad->overlay_resources |
| 179 .size_in_pixels[cc::StreamVideoDrawQuad::kResourceIdIndex]) && |
| 180 data.ReadMatrix(&quad->matrix); |
| 181 } |
| 182 |
| 183 // static |
| 169 bool StructTraits<cc::mojom::SurfaceQuadState, cc::DrawQuad>::Read( | 184 bool StructTraits<cc::mojom::SurfaceQuadState, cc::DrawQuad>::Read( |
| 170 cc::mojom::SurfaceQuadStateDataView data, | 185 cc::mojom::SurfaceQuadStateDataView data, |
| 171 cc::DrawQuad* out) { | 186 cc::DrawQuad* out) { |
| 172 cc::SurfaceDrawQuad* quad = static_cast<cc::SurfaceDrawQuad*>(out); | 187 cc::SurfaceDrawQuad* quad = static_cast<cc::SurfaceDrawQuad*>(out); |
| 173 return data.ReadSurface(&quad->surface_id); | 188 return data.ReadSurface(&quad->surface_id); |
| 174 } | 189 } |
| 175 | 190 |
| 176 // static | 191 // static |
| 177 bool StructTraits<cc::mojom::TextureQuadState, cc::DrawQuad>::Read( | 192 bool StructTraits<cc::mojom::TextureQuadState, cc::DrawQuad>::Read( |
| 178 cc::mojom::TextureQuadStateDataView data, | 193 cc::mojom::TextureQuadStateDataView data, |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 291 return data.ReadDebugBorderQuadState(out); | 306 return data.ReadDebugBorderQuadState(out); |
| 292 case cc::mojom::Material::PICTURE_CONTENT: | 307 case cc::mojom::Material::PICTURE_CONTENT: |
| 293 // TODO(fsamuel): Implement PictureDrawQuad | 308 // TODO(fsamuel): Implement PictureDrawQuad |
| 294 // serialization/deserialization. | 309 // serialization/deserialization. |
| 295 break; | 310 break; |
| 296 case cc::mojom::Material::RENDER_PASS: | 311 case cc::mojom::Material::RENDER_PASS: |
| 297 return data.ReadRenderPassQuadState(out); | 312 return data.ReadRenderPassQuadState(out); |
| 298 case cc::mojom::Material::SOLID_COLOR: | 313 case cc::mojom::Material::SOLID_COLOR: |
| 299 return data.ReadSolidColorQuadState(out); | 314 return data.ReadSolidColorQuadState(out); |
| 300 case cc::mojom::Material::STREAM_VIDEO_CONTENT: | 315 case cc::mojom::Material::STREAM_VIDEO_CONTENT: |
| 301 // TODO(fsamuel): Implement StreamVideoContentDrawQuad | 316 return data.ReadStreamVideoQuadState(out); |
| 302 // serialization/deserialization. | |
| 303 break; | |
| 304 case cc::mojom::Material::SURFACE_CONTENT: | 317 case cc::mojom::Material::SURFACE_CONTENT: |
| 305 return data.ReadSurfaceQuadState(out); | 318 return data.ReadSurfaceQuadState(out); |
| 306 case cc::mojom::Material::TEXTURE_CONTENT: | 319 case cc::mojom::Material::TEXTURE_CONTENT: |
| 307 return data.ReadTextureQuadState(out); | 320 return data.ReadTextureQuadState(out); |
| 308 case cc::mojom::Material::TILED_CONTENT: | 321 case cc::mojom::Material::TILED_CONTENT: |
| 309 return data.ReadTileQuadState(out); | 322 return data.ReadTileQuadState(out); |
| 310 case cc::mojom::Material::YUV_VIDEO_CONTENT: | 323 case cc::mojom::Material::YUV_VIDEO_CONTENT: |
| 311 return data.ReadYuvVideoQuadState(out); | 324 return data.ReadYuvVideoQuadState(out); |
| 312 } | 325 } |
| 313 NOTREACHED(); | 326 NOTREACHED(); |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 354 if (!AllocateAndConstruct(materials[i], out)) | 367 if (!AllocateAndConstruct(materials[i], out)) |
| 355 return false; | 368 return false; |
| 356 } | 369 } |
| 357 // The materials array and the quads array are expected to be the same size. | 370 // The materials array and the quads array are expected to be the same size. |
| 358 // If they are not, then deserialization will fail. | 371 // If they are not, then deserialization will fail. |
| 359 QuadListArray quad_list_array = {materials.size(), out}; | 372 QuadListArray quad_list_array = {materials.size(), out}; |
| 360 return data.ReadQuads(&quad_list_array); | 373 return data.ReadQuads(&quad_list_array); |
| 361 } | 374 } |
| 362 | 375 |
| 363 } // namespace mojo | 376 } // namespace mojo |
| OLD | NEW |