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

Side by Side Diff: services/ui/ws/frame_generator.cc

Issue 2190633002: Add flag to launch two displays for mus+ash. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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 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 "services/ui/ws/frame_generator.h" 5 #include "services/ui/ws/frame_generator.h"
6 6
7 #include "base/containers/adapters.h" 7 #include "base/containers/adapters.h"
8 #include "cc/output/compositor_frame.h" 8 #include "cc/output/compositor_frame.h"
9 #include "cc/quads/render_pass.h" 9 #include "cc/quads/render_pass.h"
10 #include "cc/quads/render_pass_draw_quad.h" 10 #include "cc/quads/render_pass_draw_quad.h"
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 void FrameGenerator::DidDraw() { 86 void FrameGenerator::DidDraw() {
87 frame_pending_ = false; 87 frame_pending_ = false;
88 delegate_->OnCompositorFrameDrawn(); 88 delegate_->OnCompositorFrameDrawn();
89 if (!dirty_rect_.IsEmpty()) 89 if (!dirty_rect_.IsEmpty())
90 WantToDraw(); 90 WantToDraw();
91 } 91 }
92 92
93 cc::CompositorFrame FrameGenerator::GenerateCompositorFrame() { 93 cc::CompositorFrame FrameGenerator::GenerateCompositorFrame() {
94 const ViewportMetrics& metrics = delegate_->GetViewportMetrics(); 94 const ViewportMetrics& metrics = delegate_->GetViewportMetrics();
95 std::unique_ptr<cc::RenderPass> render_pass = cc::RenderPass::Create(); 95 std::unique_ptr<cc::RenderPass> render_pass = cc::RenderPass::Create();
96 gfx::Rect output_rect(metrics.size_in_pixels); 96 gfx::Rect output_rect = metrics.bounds;
97 dirty_rect_.Intersect(output_rect); 97 dirty_rect_.Intersect(output_rect);
98 const cc::RenderPassId render_pass_id(1, 1); 98 const cc::RenderPassId render_pass_id(1, 1);
99 render_pass->SetNew(render_pass_id, output_rect, dirty_rect_, 99 render_pass->SetNew(render_pass_id, output_rect, dirty_rect_,
100 gfx::Transform()); 100 gfx::Transform());
101 101
102 DrawWindowTree(render_pass.get(), delegate_->GetRootWindow(), gfx::Vector2d(), 102 DrawWindowTree(render_pass.get(), delegate_->GetRootWindow(), gfx::Vector2d(),
103 1.0f); 103 1.0f);
104 104
105 std::unique_ptr<cc::DelegatedFrameData> frame_data( 105 std::unique_ptr<cc::DelegatedFrameData> frame_data(
106 new cc::DelegatedFrameData); 106 new cc::DelegatedFrameData);
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 quad->SetAll(sqs, bounds_at_origin /* rect */, 200 quad->SetAll(sqs, bounds_at_origin /* rect */,
201 gfx::Rect() /* opaque_rect */, 201 gfx::Rect() /* opaque_rect */,
202 bounds_at_origin /* visible_rect */, true /* needs_blending*/, 202 bounds_at_origin /* visible_rect */, true /* needs_blending*/,
203 underlay_surface->id()); 203 underlay_surface->id());
204 } 204 }
205 } 205 }
206 206
207 } // namespace ws 207 } // namespace ws
208 208
209 } // namespace ui 209 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698