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

Side by Side Diff: cc/layers/delegated_renderer_layer_impl.cc

Issue 1314943008: cc: Remove implicit conversions from Rect to RectF in src/cc/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rectfconvert-cc: rebase-and-sandwich-strategy Created 5 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/layers/delegated_renderer_layer_impl.h ('k') | cc/layers/layer_impl.cc » ('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 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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/layers/delegated_renderer_layer_impl.h" 5 #include "cc/layers/delegated_renderer_layer_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
80 if (child_id_) 80 if (child_id_)
81 return; 81 return;
82 82
83 ResourceProvider* resource_provider = layer_tree_impl()->resource_provider(); 83 ResourceProvider* resource_provider = layer_tree_impl()->resource_provider();
84 child_id_ = resource_provider->CreateChild(return_callback); 84 child_id_ = resource_provider->CreateChild(return_callback);
85 own_child_id_ = true; 85 own_child_id_ = true;
86 } 86 }
87 87
88 void DelegatedRendererLayerImpl::SetFrameData( 88 void DelegatedRendererLayerImpl::SetFrameData(
89 const DelegatedFrameData* frame_data, 89 const DelegatedFrameData* frame_data,
90 const gfx::RectF& damage_in_frame) { 90 const gfx::Rect& damage_in_frame) {
91 DCHECK(child_id_) << "CreateChildIdIfNeeded must be called first."; 91 DCHECK(child_id_) << "CreateChildIdIfNeeded must be called first.";
92 DCHECK(frame_data); 92 DCHECK(frame_data);
93 DCHECK(!frame_data->render_pass_list.empty()); 93 DCHECK(!frame_data->render_pass_list.empty());
94 // A frame with an empty root render pass is invalid. 94 // A frame with an empty root render pass is invalid.
95 DCHECK(!frame_data->render_pass_list.back()->output_rect.IsEmpty()); 95 DCHECK(!frame_data->render_pass_list.back()->output_rect.IsEmpty());
96 96
97 ResourceProvider* resource_provider = layer_tree_impl()->resource_provider(); 97 ResourceProvider* resource_provider = layer_tree_impl()->resource_provider();
98 const ResourceProvider::ResourceIdMap& resource_map = 98 const ResourceProvider::ResourceIdMap& resource_map =
99 resource_provider->GetChildToParentMap(child_id_); 99 resource_provider->GetChildToParentMap(child_id_);
100 100
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 // used and we don't want to return them early. 146 // used and we don't want to return them early.
147 resources_.swap(resources_in_frame); 147 resources_.swap(resources_in_frame);
148 TakeOwnershipOfResourcesIfOnActiveTree(resources_); 148 TakeOwnershipOfResourcesIfOnActiveTree(resources_);
149 149
150 inverse_device_scale_factor_ = 1.0f / frame_data->device_scale_factor; 150 inverse_device_scale_factor_ = 1.0f / frame_data->device_scale_factor;
151 // Display size is already set so we can compute what the damage rect 151 // Display size is already set so we can compute what the damage rect
152 // will be in layer space. The damage may exceed the visible portion of 152 // will be in layer space. The damage may exceed the visible portion of
153 // the frame, so intersect the damage to the layer's bounds. 153 // the frame, so intersect the damage to the layer's bounds.
154 RenderPass* new_root_pass = render_pass_list.back(); 154 RenderPass* new_root_pass = render_pass_list.back();
155 gfx::Size frame_size = new_root_pass->output_rect.size(); 155 gfx::Size frame_size = new_root_pass->output_rect.size();
156 gfx::RectF damage_in_layer = damage_in_frame; 156 gfx::Rect damage_in_layer =
157 damage_in_layer.Scale(inverse_device_scale_factor_); 157 gfx::ScaleToEnclosingRect(damage_in_frame, inverse_device_scale_factor_);
158 SetUpdateRect(gfx::IntersectRects( 158 SetUpdateRect(gfx::IntersectRects(
159 gfx::UnionRects(update_rect(), gfx::ToEnclosingRect(damage_in_layer)), 159 gfx::UnionRects(update_rect(), damage_in_layer), gfx::Rect(bounds())));
160 gfx::Rect(bounds())));
161 160
162 SetRenderPasses(&render_pass_list); 161 SetRenderPasses(&render_pass_list);
163 have_render_passes_to_push_ = true; 162 have_render_passes_to_push_ = true;
164 } 163 }
165 164
166 void DelegatedRendererLayerImpl::TakeOwnershipOfResourcesIfOnActiveTree( 165 void DelegatedRendererLayerImpl::TakeOwnershipOfResourcesIfOnActiveTree(
167 const ResourceProvider::ResourceIdSet& resources) { 166 const ResourceProvider::ResourceIdSet& resources) {
168 DCHECK(child_id_); 167 DCHECK(child_id_);
169 if (!layer_tree_impl()->IsActiveTree()) 168 if (!layer_tree_impl()->IsActiveTree())
170 return; 169 return;
(...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after
515 if (own_child_id_) { 514 if (own_child_id_) {
516 ResourceProvider* provider = layer_tree_impl()->resource_provider(); 515 ResourceProvider* provider = layer_tree_impl()->resource_provider();
517 provider->DestroyChild(child_id_); 516 provider->DestroyChild(child_id_);
518 } 517 }
519 518
520 resources_.clear(); 519 resources_.clear();
521 child_id_ = 0; 520 child_id_ = 0;
522 } 521 }
523 522
524 } // namespace cc 523 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/delegated_renderer_layer_impl.h ('k') | cc/layers/layer_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698