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( |
11 cc::mojom::DrawQuadState::DataView::Tag material, | 11 cc::mojom::DrawQuadStateDataView::Tag material, |
12 cc::QuadList* list) { | 12 cc::QuadList* list) { |
13 cc::DrawQuad* quad = nullptr; | 13 cc::DrawQuad* quad = nullptr; |
14 switch (material) { | 14 switch (material) { |
15 case cc::mojom::DrawQuadState::DataView::Tag::DEBUG_BORDER_QUAD_STATE: | 15 case cc::mojom::DrawQuadStateDataView::Tag::DEBUG_BORDER_QUAD_STATE: |
16 quad = list->AllocateAndConstruct<cc::DebugBorderDrawQuad>(); | 16 quad = list->AllocateAndConstruct<cc::DebugBorderDrawQuad>(); |
17 quad->material = cc::DrawQuad::DEBUG_BORDER; | 17 quad->material = cc::DrawQuad::DEBUG_BORDER; |
18 return quad; | 18 return quad; |
19 case cc::mojom::DrawQuadState::DataView::Tag::RENDER_PASS_QUAD_STATE: | 19 case cc::mojom::DrawQuadStateDataView::Tag::RENDER_PASS_QUAD_STATE: |
20 quad = list->AllocateAndConstruct<cc::RenderPassDrawQuad>(); | 20 quad = list->AllocateAndConstruct<cc::RenderPassDrawQuad>(); |
21 quad->material = cc::DrawQuad::RENDER_PASS; | 21 quad->material = cc::DrawQuad::RENDER_PASS; |
22 return quad; | 22 return quad; |
23 case cc::mojom::DrawQuadState::DataView::Tag::SOLID_COLOR_QUAD_STATE: | 23 case cc::mojom::DrawQuadStateDataView::Tag::SOLID_COLOR_QUAD_STATE: |
24 quad = list->AllocateAndConstruct<cc::SolidColorDrawQuad>(); | 24 quad = list->AllocateAndConstruct<cc::SolidColorDrawQuad>(); |
25 quad->material = cc::DrawQuad::SOLID_COLOR; | 25 quad->material = cc::DrawQuad::SOLID_COLOR; |
26 return quad; | 26 return quad; |
27 case cc::mojom::DrawQuadState::DataView::Tag::STREAM_VIDEO_QUAD_STATE: | 27 case cc::mojom::DrawQuadStateDataView::Tag::STREAM_VIDEO_QUAD_STATE: |
28 quad = list->AllocateAndConstruct<cc::StreamVideoDrawQuad>(); | 28 quad = list->AllocateAndConstruct<cc::StreamVideoDrawQuad>(); |
29 quad->material = cc::DrawQuad::STREAM_VIDEO_CONTENT; | 29 quad->material = cc::DrawQuad::STREAM_VIDEO_CONTENT; |
30 return quad; | 30 return quad; |
31 case cc::mojom::DrawQuadState::DataView::Tag::SURFACE_QUAD_STATE: | 31 case cc::mojom::DrawQuadStateDataView::Tag::SURFACE_QUAD_STATE: |
32 quad = list->AllocateAndConstruct<cc::SurfaceDrawQuad>(); | 32 quad = list->AllocateAndConstruct<cc::SurfaceDrawQuad>(); |
33 quad->material = cc::DrawQuad::SURFACE_CONTENT; | 33 quad->material = cc::DrawQuad::SURFACE_CONTENT; |
34 return quad; | 34 return quad; |
35 case cc::mojom::DrawQuadState::DataView::Tag::TEXTURE_QUAD_STATE: | 35 case cc::mojom::DrawQuadStateDataView::Tag::TEXTURE_QUAD_STATE: |
36 quad = list->AllocateAndConstruct<cc::TextureDrawQuad>(); | 36 quad = list->AllocateAndConstruct<cc::TextureDrawQuad>(); |
37 quad->material = cc::DrawQuad::TEXTURE_CONTENT; | 37 quad->material = cc::DrawQuad::TEXTURE_CONTENT; |
38 return quad; | 38 return quad; |
39 case cc::mojom::DrawQuadState::DataView::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::DrawQuadState::DataView::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 } | 47 } |
48 NOTREACHED(); | 48 NOTREACHED(); |
49 return nullptr; | 49 return nullptr; |
50 } | 50 } |
51 | 51 |
52 // static | 52 // static |
53 bool StructTraits<cc::mojom::DebugBorderQuadStateDataView, cc::DrawQuad>::Read( | 53 bool StructTraits<cc::mojom::DebugBorderQuadStateDataView, cc::DrawQuad>::Read( |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
224 cc::DrawQuad* out) { | 224 cc::DrawQuad* out) { |
225 if (!data.ReadRect(&out->rect) || !data.ReadOpaqueRect(&out->opaque_rect) || | 225 if (!data.ReadRect(&out->rect) || !data.ReadOpaqueRect(&out->opaque_rect) || |
226 !data.ReadVisibleRect(&out->visible_rect)) { | 226 !data.ReadVisibleRect(&out->visible_rect)) { |
227 return false; | 227 return false; |
228 } | 228 } |
229 out->needs_blending = data.needs_blending(); | 229 out->needs_blending = data.needs_blending(); |
230 return data.ReadDrawQuadState(out); | 230 return data.ReadDrawQuadState(out); |
231 } | 231 } |
232 | 232 |
233 } // namespace mojo | 233 } // namespace mojo |
OLD | NEW |