OLD | NEW |
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 "mojo/examples/surfaces_app/embedder.h" | 5 #include "mojo/examples/surfaces_app/embedder.h" |
6 | 6 |
7 #include "cc/output/compositor_frame.h" | 7 #include "cc/output/compositor_frame.h" |
8 #include "cc/output/delegated_frame_data.h" | 8 #include "cc/output/delegated_frame_data.h" |
9 #include "cc/quads/render_pass.h" | 9 #include "cc/quads/render_pass.h" |
10 #include "cc/quads/solid_color_draw_quad.h" | 10 #include "cc/quads/solid_color_draw_quad.h" |
(...skipping 18 matching lines...) Expand all Loading... |
29 Embedder::Embedder(Surface* surface) : surface_(surface) { | 29 Embedder::Embedder(Surface* surface) : surface_(surface) { |
30 } | 30 } |
31 | 31 |
32 Embedder::~Embedder() { | 32 Embedder::~Embedder() { |
33 } | 33 } |
34 | 34 |
35 void Embedder::ProduceFrame(cc::SurfaceId child_one, | 35 void Embedder::ProduceFrame(cc::SurfaceId child_one, |
36 cc::SurfaceId child_two, | 36 cc::SurfaceId child_two, |
37 const gfx::Size& child_size, | 37 const gfx::Size& child_size, |
38 const gfx::Size& size, | 38 const gfx::Size& size, |
39 int offset) { | 39 double rotation_degrees) { |
40 gfx::Rect rect(size); | 40 gfx::Rect rect(size); |
41 RenderPass::Id pass_id(1, 1); | 41 RenderPass::Id pass_id(1, 1); |
42 scoped_ptr<RenderPass> pass = RenderPass::Create(); | 42 scoped_ptr<RenderPass> pass = RenderPass::Create(); |
43 pass->SetNew(pass_id, rect, rect, gfx::Transform()); | 43 pass->SetNew(pass_id, rect, rect, gfx::Transform()); |
44 | 44 |
45 gfx::Transform one_transform; | 45 gfx::Transform one_transform; |
46 one_transform.Translate(10 + child_size.width() / 2, | 46 one_transform.Translate(10 + child_size.width() / 2, |
47 50 + child_size.height() / 2); | 47 50 + child_size.height() / 2); |
48 one_transform.Translate(0, offset); | 48 one_transform.Rotate(rotation_degrees); |
49 one_transform.Translate(-child_size.width() / 2, -child_size.height() / 2); | 49 one_transform.Translate(-child_size.width() / 2, -child_size.height() / 2); |
50 CreateAndAppendSimpleSharedQuadState(pass.get(), one_transform, size); | 50 CreateAndAppendSimpleSharedQuadState(pass.get(), one_transform, size); |
51 | 51 |
52 SurfaceDrawQuad* surface_one_quad = | 52 SurfaceDrawQuad* surface_one_quad = |
53 pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>(); | 53 pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>(); |
54 gfx::Rect one_rect(child_size); | 54 gfx::Rect one_rect(child_size); |
55 surface_one_quad->SetNew( | 55 surface_one_quad->SetNew( |
56 pass->shared_quad_state_list.back(), one_rect, one_rect, child_one); | 56 pass->shared_quad_state_list.back(), one_rect, one_rect, child_one); |
57 | 57 |
58 gfx::Transform two_transform; | 58 gfx::Transform two_transform; |
59 two_transform.Translate(10 + size.width() / 2 + child_size.width() / 2, | 59 two_transform.Translate(10 + size.width() / 2 + child_size.width() / 2, |
60 50 + child_size.height() / 2); | 60 50 + child_size.height() / 2); |
61 two_transform.Translate(0, 200 - offset); | 61 two_transform.Rotate(-rotation_degrees * 0.76); |
62 two_transform.Translate(-child_size.width() / 2, -child_size.height() / 2); | 62 two_transform.Translate(-child_size.width() / 2, -child_size.height() / 2); |
63 CreateAndAppendSimpleSharedQuadState(pass.get(), two_transform, size); | 63 CreateAndAppendSimpleSharedQuadState(pass.get(), two_transform, size); |
64 | 64 |
65 SurfaceDrawQuad* surface_two_quad = | 65 SurfaceDrawQuad* surface_two_quad = |
66 pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>(); | 66 pass->CreateAndAppendDrawQuad<SurfaceDrawQuad>(); |
67 gfx::Rect two_rect(child_size); | 67 gfx::Rect two_rect(child_size); |
68 surface_two_quad->SetNew( | 68 surface_two_quad->SetNew( |
69 pass->shared_quad_state_list.back(), two_rect, two_rect, child_two); | 69 pass->shared_quad_state_list.back(), two_rect, two_rect, child_two); |
70 | 70 |
71 CreateAndAppendSimpleSharedQuadState(pass.get(), gfx::Transform(), size); | 71 CreateAndAppendSimpleSharedQuadState(pass.get(), gfx::Transform(), size); |
(...skipping 11 matching lines...) Expand all Loading... |
83 | 83 |
84 scoped_ptr<CompositorFrame> frame(new CompositorFrame); | 84 scoped_ptr<CompositorFrame> frame(new CompositorFrame); |
85 frame->delegated_frame_data = delegated_frame_data.Pass(); | 85 frame->delegated_frame_data = delegated_frame_data.Pass(); |
86 | 86 |
87 surface_->SubmitFrame(mojo::SurfaceId::From(id_), | 87 surface_->SubmitFrame(mojo::SurfaceId::From(id_), |
88 mojo::Frame::From(*frame)); | 88 mojo::Frame::From(*frame)); |
89 } | 89 } |
90 | 90 |
91 } // namespace examples | 91 } // namespace examples |
92 } // namespace mojo | 92 } // namespace mojo |
OLD | NEW |