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

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

Issue 2253293002: Mojo C++ bindings: change the first template parameter of StructTraits and UnionTraits. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@91_extra
Patch Set: rebase Created 4 years, 3 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/render_pass_id_struct_traits.h » ('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 #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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 case cc::mojom::DrawQuadState::DataView::Tag::YUV_VIDEO_QUAD_STATE: 43 case cc::mojom::DrawQuadState::DataView::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::DebugBorderQuadState, cc::DrawQuad>::Read( 53 bool StructTraits<cc::mojom::DebugBorderQuadStateDataView, cc::DrawQuad>::Read(
54 cc::mojom::DebugBorderQuadStateDataView data, 54 cc::mojom::DebugBorderQuadStateDataView data,
55 cc::DrawQuad* out) { 55 cc::DrawQuad* out) {
56 cc::DebugBorderDrawQuad* quad = static_cast<cc::DebugBorderDrawQuad*>(out); 56 cc::DebugBorderDrawQuad* quad = static_cast<cc::DebugBorderDrawQuad*>(out);
57 quad->color = data.color(); 57 quad->color = data.color();
58 quad->width = data.width(); 58 quad->width = data.width();
59 return true; 59 return true;
60 } 60 }
61 61
62 // static 62 // static
63 bool StructTraits<cc::mojom::RenderPassQuadState, cc::DrawQuad>::Read( 63 bool StructTraits<cc::mojom::RenderPassQuadStateDataView, cc::DrawQuad>::Read(
64 cc::mojom::RenderPassQuadStateDataView data, 64 cc::mojom::RenderPassQuadStateDataView data,
65 cc::DrawQuad* out) { 65 cc::DrawQuad* out) {
66 cc::RenderPassDrawQuad* quad = static_cast<cc::RenderPassDrawQuad*>(out); 66 cc::RenderPassDrawQuad* quad = static_cast<cc::RenderPassDrawQuad*>(out);
67 quad->resources.ids[cc::RenderPassDrawQuad::kMaskResourceIdIndex] = 67 quad->resources.ids[cc::RenderPassDrawQuad::kMaskResourceIdIndex] =
68 data.mask_resource_id(); 68 data.mask_resource_id();
69 quad->resources.count = data.mask_resource_id() ? 1 : 0; 69 quad->resources.count = data.mask_resource_id() ? 1 : 0;
70 return data.ReadRenderPassId(&quad->render_pass_id) && 70 return data.ReadRenderPassId(&quad->render_pass_id) &&
71 data.ReadMaskUvScale(&quad->mask_uv_scale) && 71 data.ReadMaskUvScale(&quad->mask_uv_scale) &&
72 data.ReadMaskTextureSize(&quad->mask_texture_size) && 72 data.ReadMaskTextureSize(&quad->mask_texture_size) &&
73 data.ReadFilters(&quad->filters) && 73 data.ReadFilters(&quad->filters) &&
74 data.ReadFiltersScale(&quad->filters_scale) && 74 data.ReadFiltersScale(&quad->filters_scale) &&
75 data.ReadBackgroundFilters(&quad->background_filters); 75 data.ReadBackgroundFilters(&quad->background_filters);
76 } 76 }
77 77
78 // static 78 // static
79 bool StructTraits<cc::mojom::SolidColorQuadState, cc::DrawQuad>::Read( 79 bool StructTraits<cc::mojom::SolidColorQuadStateDataView, cc::DrawQuad>::Read(
80 cc::mojom::SolidColorQuadStateDataView data, 80 cc::mojom::SolidColorQuadStateDataView data,
81 cc::DrawQuad* out) { 81 cc::DrawQuad* out) {
82 cc::SolidColorDrawQuad* quad = static_cast<cc::SolidColorDrawQuad*>(out); 82 cc::SolidColorDrawQuad* quad = static_cast<cc::SolidColorDrawQuad*>(out);
83 quad->force_anti_aliasing_off = data.force_anti_aliasing_off(); 83 quad->force_anti_aliasing_off = data.force_anti_aliasing_off();
84 quad->color = data.color(); 84 quad->color = data.color();
85 return true; 85 return true;
86 } 86 }
87 87
88 // static 88 // static
89 bool StructTraits<cc::mojom::StreamVideoQuadState, cc::DrawQuad>::Read( 89 bool StructTraits<cc::mojom::StreamVideoQuadStateDataView, cc::DrawQuad>::Read(
90 cc::mojom::StreamVideoQuadStateDataView data, 90 cc::mojom::StreamVideoQuadStateDataView data,
91 cc::DrawQuad* out) { 91 cc::DrawQuad* out) {
92 cc::StreamVideoDrawQuad* quad = static_cast<cc::StreamVideoDrawQuad*>(out); 92 cc::StreamVideoDrawQuad* quad = static_cast<cc::StreamVideoDrawQuad*>(out);
93 quad->resources.ids[cc::StreamVideoDrawQuad::kResourceIdIndex] = 93 quad->resources.ids[cc::StreamVideoDrawQuad::kResourceIdIndex] =
94 data.resource_id(); 94 data.resource_id();
95 quad->resources.count = 1; 95 quad->resources.count = 1;
96 return data.ReadResourceSizeInPixels( 96 return data.ReadResourceSizeInPixels(
97 &quad->overlay_resources 97 &quad->overlay_resources
98 .size_in_pixels[cc::StreamVideoDrawQuad::kResourceIdIndex]) && 98 .size_in_pixels[cc::StreamVideoDrawQuad::kResourceIdIndex]) &&
99 data.ReadMatrix(&quad->matrix); 99 data.ReadMatrix(&quad->matrix);
100 } 100 }
101 101
102 // static 102 // static
103 bool StructTraits<cc::mojom::SurfaceQuadState, cc::DrawQuad>::Read( 103 bool StructTraits<cc::mojom::SurfaceQuadStateDataView, cc::DrawQuad>::Read(
104 cc::mojom::SurfaceQuadStateDataView data, 104 cc::mojom::SurfaceQuadStateDataView data,
105 cc::DrawQuad* out) { 105 cc::DrawQuad* out) {
106 cc::SurfaceDrawQuad* quad = static_cast<cc::SurfaceDrawQuad*>(out); 106 cc::SurfaceDrawQuad* quad = static_cast<cc::SurfaceDrawQuad*>(out);
107 return data.ReadSurface(&quad->surface_id); 107 return data.ReadSurface(&quad->surface_id);
108 } 108 }
109 109
110 // static 110 // static
111 bool StructTraits<cc::mojom::TextureQuadState, cc::DrawQuad>::Read( 111 bool StructTraits<cc::mojom::TextureQuadStateDataView, cc::DrawQuad>::Read(
112 cc::mojom::TextureQuadStateDataView data, 112 cc::mojom::TextureQuadStateDataView data,
113 cc::DrawQuad* out) { 113 cc::DrawQuad* out) {
114 cc::TextureDrawQuad* quad = static_cast<cc::TextureDrawQuad*>(out); 114 cc::TextureDrawQuad* quad = static_cast<cc::TextureDrawQuad*>(out);
115 quad->resources.ids[cc::TextureDrawQuad::kResourceIdIndex] = 115 quad->resources.ids[cc::TextureDrawQuad::kResourceIdIndex] =
116 data.resource_id(); 116 data.resource_id();
117 quad->resources.count = 1; 117 quad->resources.count = 1;
118 quad->premultiplied_alpha = data.premultiplied_alpha(); 118 quad->premultiplied_alpha = data.premultiplied_alpha();
119 if (!data.ReadUvTopLeft(&quad->uv_top_left) || 119 if (!data.ReadUvTopLeft(&quad->uv_top_left) ||
120 !data.ReadUvBottomRight(&quad->uv_bottom_right)) { 120 !data.ReadUvBottomRight(&quad->uv_bottom_right)) {
121 return false; 121 return false;
122 } 122 }
123 quad->background_color = data.background_color(); 123 quad->background_color = data.background_color();
124 CArray<float> vertex_opacity_array = {4, 4, &quad->vertex_opacity[0]}; 124 CArray<float> vertex_opacity_array = {4, 4, &quad->vertex_opacity[0]};
125 if (!data.ReadVertexOpacity(&vertex_opacity_array)) 125 if (!data.ReadVertexOpacity(&vertex_opacity_array))
126 return false; 126 return false;
127 127
128 quad->y_flipped = data.y_flipped(); 128 quad->y_flipped = data.y_flipped();
129 quad->nearest_neighbor = data.nearest_neighbor(); 129 quad->nearest_neighbor = data.nearest_neighbor();
130 quad->secure_output_only = data.secure_output_only(); 130 quad->secure_output_only = data.secure_output_only();
131 return true; 131 return true;
132 } 132 }
133 133
134 // static 134 // static
135 bool StructTraits<cc::mojom::TileQuadState, cc::DrawQuad>::Read( 135 bool StructTraits<cc::mojom::TileQuadStateDataView, cc::DrawQuad>::Read(
136 cc::mojom::TileQuadStateDataView data, 136 cc::mojom::TileQuadStateDataView data,
137 cc::DrawQuad* out) { 137 cc::DrawQuad* out) {
138 cc::TileDrawQuad* quad = static_cast<cc::TileDrawQuad*>(out); 138 cc::TileDrawQuad* quad = static_cast<cc::TileDrawQuad*>(out);
139 if (!data.ReadTexCoordRect(&quad->tex_coord_rect) || 139 if (!data.ReadTexCoordRect(&quad->tex_coord_rect) ||
140 !data.ReadTextureSize(&quad->texture_size)) { 140 !data.ReadTextureSize(&quad->texture_size)) {
141 return false; 141 return false;
142 } 142 }
143 143
144 quad->swizzle_contents = data.swizzle_contents(); 144 quad->swizzle_contents = data.swizzle_contents();
145 quad->nearest_neighbor = data.nearest_neighbor(); 145 quad->nearest_neighbor = data.nearest_neighbor();
(...skipping 29 matching lines...) Expand all
175 *out = cc::YUVVideoDrawQuad::REC_709; 175 *out = cc::YUVVideoDrawQuad::REC_709;
176 return true; 176 return true;
177 case cc::mojom::YUVColorSpace::JPEG: 177 case cc::mojom::YUVColorSpace::JPEG:
178 *out = cc::YUVVideoDrawQuad::JPEG; 178 *out = cc::YUVVideoDrawQuad::JPEG;
179 return true; 179 return true;
180 } 180 }
181 return false; 181 return false;
182 } 182 }
183 183
184 // static 184 // static
185 bool StructTraits<cc::mojom::YUVVideoQuadState, cc::DrawQuad>::Read( 185 bool StructTraits<cc::mojom::YUVVideoQuadStateDataView, cc::DrawQuad>::Read(
186 cc::mojom::YUVVideoQuadStateDataView data, 186 cc::mojom::YUVVideoQuadStateDataView data,
187 cc::DrawQuad* out) { 187 cc::DrawQuad* out) {
188 cc::YUVVideoDrawQuad* quad = static_cast<cc::YUVVideoDrawQuad*>(out); 188 cc::YUVVideoDrawQuad* quad = static_cast<cc::YUVVideoDrawQuad*>(out);
189 if (!data.ReadYaTexCoordRect(&quad->ya_tex_coord_rect) || 189 if (!data.ReadYaTexCoordRect(&quad->ya_tex_coord_rect) ||
190 !data.ReadUvTexCoordRect(&quad->uv_tex_coord_rect) || 190 !data.ReadUvTexCoordRect(&quad->uv_tex_coord_rect) ||
191 !data.ReadYaTexSize(&quad->ya_tex_size) || 191 !data.ReadYaTexSize(&quad->ya_tex_size) ||
192 !data.ReadUvTexSize(&quad->uv_tex_size)) { 192 !data.ReadUvTexSize(&quad->uv_tex_size)) {
193 return false; 193 return false;
194 } 194 }
195 quad->resources.ids[cc::YUVVideoDrawQuad::kYPlaneResourceIdIndex] = 195 quad->resources.ids[cc::YUVVideoDrawQuad::kYPlaneResourceIdIndex] =
(...skipping 15 matching lines...) Expand all
211 quad->resource_multiplier = data.resource_multiplier(); 211 quad->resource_multiplier = data.resource_multiplier();
212 quad->bits_per_channel = data.bits_per_channel(); 212 quad->bits_per_channel = data.bits_per_channel();
213 if (quad->bits_per_channel < cc::YUVVideoDrawQuad::kMinBitsPerChannel || 213 if (quad->bits_per_channel < cc::YUVVideoDrawQuad::kMinBitsPerChannel ||
214 quad->bits_per_channel > cc::YUVVideoDrawQuad::kMaxBitsPerChannel) { 214 quad->bits_per_channel > cc::YUVVideoDrawQuad::kMaxBitsPerChannel) {
215 return false; 215 return false;
216 } 216 }
217 return true; 217 return true;
218 } 218 }
219 219
220 // static 220 // static
221 bool StructTraits<cc::mojom::DrawQuad, cc::DrawQuad>::Read( 221 bool StructTraits<cc::mojom::DrawQuadDataView, cc::DrawQuad>::Read(
222 cc::mojom::DrawQuadDataView data, 222 cc::mojom::DrawQuadDataView data,
223 cc::DrawQuad* out) { 223 cc::DrawQuad* out) {
224 if (!data.ReadRect(&out->rect) || !data.ReadOpaqueRect(&out->opaque_rect) || 224 if (!data.ReadRect(&out->rect) || !data.ReadOpaqueRect(&out->opaque_rect) ||
225 !data.ReadVisibleRect(&out->visible_rect)) { 225 !data.ReadVisibleRect(&out->visible_rect)) {
226 return false; 226 return false;
227 } 227 }
228 out->needs_blending = data.needs_blending(); 228 out->needs_blending = data.needs_blending();
229 return data.ReadDrawQuadState(out); 229 return data.ReadDrawQuadState(out);
230 } 230 }
231 231
232 } // namespace mojo 232 } // namespace mojo
OLDNEW
« no previous file with comments | « cc/ipc/quads_struct_traits.h ('k') | cc/ipc/render_pass_id_struct_traits.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698