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 cc::DrawQuad* AllocateAndConstruct( | 10 cc::DrawQuad* AllocateAndConstruct( |
(...skipping 26 matching lines...) Expand all Loading... |
37 quad->material = cc::DrawQuad::TEXTURE_CONTENT; | 37 quad->material = cc::DrawQuad::TEXTURE_CONTENT; |
38 return quad; | 38 return quad; |
39 case cc::mojom::DrawQuadStateDataView::Tag::TILE_QUAD_STATE: | 39 case cc::mojom::DrawQuadStateDataView::Tag::TILE_QUAD_STATE: |
40 quad = list->AllocateAndConstruct<cc::TileDrawQuad>(); | 40 quad = list->AllocateAndConstruct<cc::TileDrawQuad>(); |
41 quad->material = cc::DrawQuad::TILED_CONTENT; | 41 quad->material = cc::DrawQuad::TILED_CONTENT; |
42 return quad; | 42 return quad; |
43 case cc::mojom::DrawQuadStateDataView::Tag::YUV_VIDEO_QUAD_STATE: | 43 case cc::mojom::DrawQuadStateDataView::Tag::YUV_VIDEO_QUAD_STATE: |
44 quad = list->AllocateAndConstruct<cc::YUVVideoDrawQuad>(); | 44 quad = list->AllocateAndConstruct<cc::YUVVideoDrawQuad>(); |
45 quad->material = cc::DrawQuad::YUV_VIDEO_CONTENT; | 45 quad->material = cc::DrawQuad::YUV_VIDEO_CONTENT; |
46 return quad; | 46 return quad; |
| 47 case cc::mojom::DrawQuadStateDataView::Tag::Y_VIDEO_QUAD_STATE: |
| 48 quad = list->AllocateAndConstruct<cc::YVideoDrawQuad>(); |
| 49 quad->material = cc::DrawQuad::Y_VIDEO_CONTENT; |
| 50 return quad; |
47 } | 51 } |
48 NOTREACHED(); | 52 NOTREACHED(); |
49 return nullptr; | 53 return nullptr; |
50 } | 54 } |
51 | 55 |
52 // static | 56 // static |
53 bool StructTraits<cc::mojom::DebugBorderQuadStateDataView, cc::DrawQuad>::Read( | 57 bool StructTraits<cc::mojom::DebugBorderQuadStateDataView, cc::DrawQuad>::Read( |
54 cc::mojom::DebugBorderQuadStateDataView data, | 58 cc::mojom::DebugBorderQuadStateDataView data, |
55 cc::DrawQuad* out) { | 59 cc::DrawQuad* out) { |
56 cc::DebugBorderDrawQuad* quad = static_cast<cc::DebugBorderDrawQuad*>(out); | 60 cc::DebugBorderDrawQuad* quad = static_cast<cc::DebugBorderDrawQuad*>(out); |
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
223 cc::mojom::DrawQuadDataView data, | 227 cc::mojom::DrawQuadDataView data, |
224 cc::DrawQuad* out) { | 228 cc::DrawQuad* out) { |
225 if (!data.ReadRect(&out->rect) || !data.ReadOpaqueRect(&out->opaque_rect) || | 229 if (!data.ReadRect(&out->rect) || !data.ReadOpaqueRect(&out->opaque_rect) || |
226 !data.ReadVisibleRect(&out->visible_rect)) { | 230 !data.ReadVisibleRect(&out->visible_rect)) { |
227 return false; | 231 return false; |
228 } | 232 } |
229 out->needs_blending = data.needs_blending(); | 233 out->needs_blending = data.needs_blending(); |
230 return data.ReadDrawQuadState(out); | 234 return data.ReadDrawQuadState(out); |
231 } | 235 } |
232 | 236 |
| 237 // static |
| 238 bool StructTraits<cc::mojom::YVideoQuadStateDataView, cc::DrawQuad>::Read( |
| 239 cc::mojom::YVideoQuadStateDataView data, |
| 240 cc::DrawQuad* out) { |
| 241 cc::YVideoDrawQuad* quad = static_cast<cc::YVideoDrawQuad*>(out); |
| 242 quad->resources.ids[cc::YVideoDrawQuad::kResourceIdIndex] = |
| 243 data.resource_id(); |
| 244 quad->resources.count = 1; |
| 245 if (!data.ReadUvTopLeft(&quad->uv_top_left) || |
| 246 !data.ReadUvBottomRight(&quad->uv_bottom_right)) { |
| 247 return false; |
| 248 } |
| 249 return true; |
| 250 } |
| 251 |
233 } // namespace mojo | 252 } // namespace mojo |
OLD | NEW |