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

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

Issue 2582823002: WIP: Surface Synchronization System
Patch Set: Only create ClientSurfaceEmbedder if window is visible. Trash it otherwise. Created 3 years, 11 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
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 #ifndef CC_IPC_QUADS_STRUCT_TRAITS_H_ 5 #ifndef CC_IPC_QUADS_STRUCT_TRAITS_H_
6 #define CC_IPC_QUADS_STRUCT_TRAITS_H_ 6 #define CC_IPC_QUADS_STRUCT_TRAITS_H_
7 7
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "cc/ipc/filter_operation_struct_traits.h" 9 #include "cc/ipc/filter_operation_struct_traits.h"
10 #include "cc/ipc/filter_operations_struct_traits.h" 10 #include "cc/ipc/filter_operations_struct_traits.h"
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
212 const cc::StreamVideoDrawQuad* quad = 212 const cc::StreamVideoDrawQuad* quad =
213 cc::StreamVideoDrawQuad::MaterialCast(&input); 213 cc::StreamVideoDrawQuad::MaterialCast(&input);
214 return quad->matrix; 214 return quad->matrix;
215 } 215 }
216 216
217 static bool Read(cc::mojom::StreamVideoQuadStateDataView data, 217 static bool Read(cc::mojom::StreamVideoQuadStateDataView data,
218 cc::DrawQuad* out); 218 cc::DrawQuad* out);
219 }; 219 };
220 220
221 template <> 221 template <>
222 struct EnumTraits<cc::mojom::SurfaceDrawQuadType, cc::SurfaceDrawQuadType> {
223 static cc::mojom::SurfaceDrawQuadType ToMojom(
224 cc::SurfaceDrawQuadType surface_draw_quad_type);
225 static bool FromMojom(cc::mojom::SurfaceDrawQuadType input,
226 cc::SurfaceDrawQuadType* out);
227 };
228
229 template <>
222 struct StructTraits<cc::mojom::SurfaceQuadStateDataView, cc::DrawQuad> { 230 struct StructTraits<cc::mojom::SurfaceQuadStateDataView, cc::DrawQuad> {
223 static const cc::SurfaceId& surface(const cc::DrawQuad& input) { 231 static const cc::SurfaceId& surface(const cc::DrawQuad& input) {
224 const cc::SurfaceDrawQuad* quad = cc::SurfaceDrawQuad::MaterialCast(&input); 232 const cc::SurfaceDrawQuad* quad = cc::SurfaceDrawQuad::MaterialCast(&input);
225 return quad->surface_id; 233 return quad->surface_id;
226 } 234 }
227 235
236 static cc::SurfaceDrawQuadType surface_draw_quad_type(
237 const cc::DrawQuad& input) {
238 const cc::SurfaceDrawQuad* quad = cc::SurfaceDrawQuad::MaterialCast(&input);
239 return quad->surface_draw_quad_type;
240 }
241
228 static bool Read(cc::mojom::SurfaceQuadStateDataView data, cc::DrawQuad* out); 242 static bool Read(cc::mojom::SurfaceQuadStateDataView data, cc::DrawQuad* out);
229 }; 243 };
230 244
231 template <> 245 template <>
232 struct StructTraits<cc::mojom::TextureQuadStateDataView, cc::DrawQuad> { 246 struct StructTraits<cc::mojom::TextureQuadStateDataView, cc::DrawQuad> {
233 static uint32_t resource_id(const cc::DrawQuad& input) { 247 static uint32_t resource_id(const cc::DrawQuad& input) {
234 const cc::TextureDrawQuad* quad = cc::TextureDrawQuad::MaterialCast(&input); 248 const cc::TextureDrawQuad* quad = cc::TextureDrawQuad::MaterialCast(&input);
235 return quad->resource_id(); 249 return quad->resource_id();
236 } 250 }
237 251
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
470 dq.shared_quad_state = current_sqs; 484 dq.shared_quad_state = current_sqs;
471 return dq; 485 return dq;
472 } 486 }
473 487
474 static size_t GetSize(const cc::QuadList& input) { return input.size(); } 488 static size_t GetSize(const cc::QuadList& input) { return input.size(); }
475 }; 489 };
476 490
477 } // namespace mojo 491 } // namespace mojo
478 492
479 #endif // CC_IPC_QUADS_STRUCT_TRAITS_H_ 493 #endif // CC_IPC_QUADS_STRUCT_TRAITS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698