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

Side by Side Diff: components/mus/public/cpp/surfaces/surfaces_type_converters.cc

Issue 2014233002: Implement cc::SurfaceId StructTraits (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 4 years, 6 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "components/mus/public/cpp/surfaces/surfaces_type_converters.h" 5 #include "components/mus/public/cpp/surfaces/surfaces_type_converters.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <utility> 10 #include <utility>
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 using mus::mojom::RenderPassIdPtr; 44 using mus::mojom::RenderPassIdPtr;
45 using mus::mojom::RenderPassQuadState; 45 using mus::mojom::RenderPassQuadState;
46 using mus::mojom::RenderPassQuadStatePtr; 46 using mus::mojom::RenderPassQuadStatePtr;
47 using mus::mojom::ResourceFormat; 47 using mus::mojom::ResourceFormat;
48 using mus::mojom::ReturnedResource; 48 using mus::mojom::ReturnedResource;
49 using mus::mojom::ReturnedResourcePtr; 49 using mus::mojom::ReturnedResourcePtr;
50 using mus::mojom::SharedQuadState; 50 using mus::mojom::SharedQuadState;
51 using mus::mojom::SharedQuadStatePtr; 51 using mus::mojom::SharedQuadStatePtr;
52 using mus::mojom::SolidColorQuadState; 52 using mus::mojom::SolidColorQuadState;
53 using mus::mojom::SolidColorQuadStatePtr; 53 using mus::mojom::SolidColorQuadStatePtr;
54 using mus::mojom::SurfaceId;
55 using mus::mojom::SurfaceIdPtr;
56 using mus::mojom::SurfaceQuadState; 54 using mus::mojom::SurfaceQuadState;
57 using mus::mojom::SurfaceQuadStatePtr; 55 using mus::mojom::SurfaceQuadStatePtr;
58 using mus::mojom::TextureQuadState; 56 using mus::mojom::TextureQuadState;
59 using mus::mojom::TextureQuadStatePtr; 57 using mus::mojom::TextureQuadStatePtr;
60 using mus::mojom::TileQuadState; 58 using mus::mojom::TileQuadState;
61 using mus::mojom::TileQuadStatePtr; 59 using mus::mojom::TileQuadStatePtr;
62 using mus::mojom::TransferableResource; 60 using mus::mojom::TransferableResource;
63 using mus::mojom::TransferableResourcePtr; 61 using mus::mojom::TransferableResourcePtr;
64 using mus::mojom::YUVColorSpace; 62 using mus::mojom::YUVColorSpace;
65 using mus::mojom::YUVVideoQuadState; 63 using mus::mojom::YUVVideoQuadState;
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 if (input->surface_quad_state.is_null()) 165 if (input->surface_quad_state.is_null())
168 return false; 166 return false;
169 167
170 if (custom_converter) { 168 if (custom_converter) {
171 return custom_converter->ConvertSurfaceDrawQuad(input, metadata, sqs, 169 return custom_converter->ConvertSurfaceDrawQuad(input, metadata, sqs,
172 render_pass); 170 render_pass);
173 } 171 }
174 cc::SurfaceDrawQuad* surface_quad = 172 cc::SurfaceDrawQuad* surface_quad =
175 render_pass->CreateAndAppendDrawQuad<cc::SurfaceDrawQuad>(); 173 render_pass->CreateAndAppendDrawQuad<cc::SurfaceDrawQuad>();
176 surface_quad->SetAll( 174 surface_quad->SetAll(
177 sqs, 175 sqs, input->rect.To<gfx::Rect>(), input->opaque_rect.To<gfx::Rect>(),
178 input->rect.To<gfx::Rect>(), 176 input->visible_rect.To<gfx::Rect>(), input->needs_blending,
179 input->opaque_rect.To<gfx::Rect>(), 177 input->surface_quad_state->surface);
180 input->visible_rect.To<gfx::Rect>(),
181 input->needs_blending,
182 input->surface_quad_state->surface.To<cc::SurfaceId>());
183 break; 178 break;
184 } 179 }
185 case mus::mojom::Material::TEXTURE_CONTENT: { 180 case mus::mojom::Material::TEXTURE_CONTENT: {
186 TextureQuadStatePtr& texture_quad_state = 181 TextureQuadStatePtr& texture_quad_state =
187 input->texture_quad_state; 182 input->texture_quad_state;
188 if (texture_quad_state.is_null() || 183 if (texture_quad_state.is_null() ||
189 texture_quad_state->vertex_opacity.is_null() || 184 texture_quad_state->vertex_opacity.is_null() ||
190 texture_quad_state->background_color.is_null()) 185 texture_quad_state->background_color.is_null())
191 return false; 186 return false;
192 cc::TextureDrawQuad* texture_quad = 187 cc::TextureDrawQuad* texture_quad =
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
246 default: 241 default:
247 NOTREACHED() << "Unsupported material " << input->material; 242 NOTREACHED() << "Unsupported material " << input->material;
248 return false; 243 return false;
249 } 244 }
250 return true; 245 return true;
251 } 246 }
252 247
253 } // namespace 248 } // namespace
254 249
255 // static 250 // static
256 SurfaceIdPtr TypeConverter<SurfaceIdPtr, cc::SurfaceId>::Convert(
257 const cc::SurfaceId& input) {
258 SurfaceIdPtr id(SurfaceId::New());
259 id->id_namespace = input.id_namespace();
260 id->local_id = input.local_id();
261 id->nonce = input.nonce();
262 return id;
263 }
264
265 // static
266 cc::SurfaceId TypeConverter<cc::SurfaceId, SurfaceIdPtr>::Convert(
267 const SurfaceIdPtr& input) {
268 return cc::SurfaceId(input->id_namespace, input->local_id, input->nonce);
269 }
270
271 // static
272 ColorPtr TypeConverter<ColorPtr, SkColor>::Convert(const SkColor& input) { 251 ColorPtr TypeConverter<ColorPtr, SkColor>::Convert(const SkColor& input) {
273 ColorPtr color(Color::New()); 252 ColorPtr color(Color::New());
274 color->rgba = input; 253 color->rgba = input;
275 return color; 254 return color;
276 } 255 }
277 256
278 // static 257 // static
279 SkColor TypeConverter<SkColor, ColorPtr>::Convert(const ColorPtr& input) { 258 SkColor TypeConverter<SkColor, ColorPtr>::Convert(const ColorPtr& input) {
280 return input->rgba; 259 return input->rgba;
281 } 260 }
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
347 color_state->force_anti_aliasing_off = 326 color_state->force_anti_aliasing_off =
348 color_quad->force_anti_aliasing_off; 327 color_quad->force_anti_aliasing_off;
349 quad->solid_color_quad_state = std::move(color_state); 328 quad->solid_color_quad_state = std::move(color_state);
350 break; 329 break;
351 } 330 }
352 case cc::DrawQuad::SURFACE_CONTENT: { 331 case cc::DrawQuad::SURFACE_CONTENT: {
353 const cc::SurfaceDrawQuad* surface_quad = 332 const cc::SurfaceDrawQuad* surface_quad =
354 cc::SurfaceDrawQuad::MaterialCast(&input); 333 cc::SurfaceDrawQuad::MaterialCast(&input);
355 SurfaceQuadStatePtr surface_state = 334 SurfaceQuadStatePtr surface_state =
356 SurfaceQuadState::New(); 335 SurfaceQuadState::New();
357 surface_state->surface = SurfaceId::From(surface_quad->surface_id); 336 surface_state->surface = surface_quad->surface_id;
358 quad->surface_quad_state = std::move(surface_state); 337 quad->surface_quad_state = std::move(surface_state);
359 break; 338 break;
360 } 339 }
361 case cc::DrawQuad::TEXTURE_CONTENT: { 340 case cc::DrawQuad::TEXTURE_CONTENT: {
362 const cc::TextureDrawQuad* texture_quad = 341 const cc::TextureDrawQuad* texture_quad =
363 cc::TextureDrawQuad::MaterialCast(&input); 342 cc::TextureDrawQuad::MaterialCast(&input);
364 TextureQuadStatePtr texture_state = TextureQuadState::New(); 343 TextureQuadStatePtr texture_state = TextureQuadState::New();
365 texture_state->resource_id = texture_quad->resource_id(); 344 texture_state->resource_id = texture_quad->resource_id();
366 texture_state->premultiplied_alpha = texture_quad->premultiplied_alpha; 345 texture_state->premultiplied_alpha = texture_quad->premultiplied_alpha;
367 texture_state->uv_top_left = PointF::From(texture_quad->uv_top_left); 346 texture_state->uv_top_left = PointF::From(texture_quad->uv_top_left);
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
626 } 605 }
627 606
628 // static 607 // static
629 std::unique_ptr<cc::CompositorFrame> 608 std::unique_ptr<cc::CompositorFrame>
630 TypeConverter<std::unique_ptr<cc::CompositorFrame>, 609 TypeConverter<std::unique_ptr<cc::CompositorFrame>,
631 CompositorFramePtr>::Convert(const CompositorFramePtr& input) { 610 CompositorFramePtr>::Convert(const CompositorFramePtr& input) {
632 return ConvertToCompositorFrame(input, nullptr); 611 return ConvertToCompositorFrame(input, nullptr);
633 } 612 }
634 613
635 } // namespace mojo 614 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698