Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(366)

Side by Side Diff: cc/ipc/quads_struct_traits.cc

Issue 2101543002: Implement StreamVideoDrawQuad StructTraits (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/ipc/quads_struct_traits.h ('k') | cc/ipc/struct_traits_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
OLDNEW
« no previous file with comments | « cc/ipc/quads_struct_traits.h ('k') | cc/ipc/struct_traits_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698