| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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/trees/layer_tree_host_impl.h" | 5 #include "cc/trees/layer_tree_host_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| (...skipping 1327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1338 } | 1338 } |
| 1339 | 1339 |
| 1340 if (needs_commit) | 1340 if (needs_commit) |
| 1341 client_->SetNeedsCommitOnImplThread(); | 1341 client_->SetNeedsCommitOnImplThread(); |
| 1342 } | 1342 } |
| 1343 | 1343 |
| 1344 void LayerTreeHostImpl::SetExternalDrawConstraints( | 1344 void LayerTreeHostImpl::SetExternalDrawConstraints( |
| 1345 const gfx::Transform& transform, | 1345 const gfx::Transform& transform, |
| 1346 const gfx::Rect& viewport, | 1346 const gfx::Rect& viewport, |
| 1347 const gfx::Rect& clip, | 1347 const gfx::Rect& clip, |
| 1348 const gfx::Rect& external_tiling_rect, |
| 1349 const gfx::Transform& external_tiling_transform, |
| 1348 bool resourceless_software_draw) { | 1350 bool resourceless_software_draw) { |
| 1349 if (external_transform_ != transform || external_viewport_ != viewport || | 1351 if (external_transform_ != transform || external_viewport_ != viewport || |
| 1350 resourceless_software_draw_ != resourceless_software_draw) { | 1352 resourceless_software_draw_ != resourceless_software_draw) { |
| 1351 active_tree_->set_needs_update_draw_properties(); | 1353 active_tree_->set_needs_update_draw_properties(); |
| 1352 } | 1354 } |
| 1353 | 1355 |
| 1354 external_transform_ = transform; | 1356 external_transform_ = transform; |
| 1355 external_viewport_ = viewport; | 1357 external_viewport_ = viewport; |
| 1356 external_clip_ = clip; | 1358 external_clip_ = clip; |
| 1357 resourceless_software_draw_ = resourceless_software_draw; | 1359 resourceless_software_draw_ = resourceless_software_draw; |
| 1360 |
| 1361 if (!resourceless_software_draw_) { |
| 1362 external_tiling_rect_ = external_tiling_rect; |
| 1363 external_tiling_transform_ = external_tiling_transform; |
| 1364 } |
| 1358 } | 1365 } |
| 1359 | 1366 |
| 1360 void LayerTreeHostImpl::SetNeedsRedrawRect(const gfx::Rect& damage_rect) { | 1367 void LayerTreeHostImpl::SetNeedsRedrawRect(const gfx::Rect& damage_rect) { |
| 1361 if (damage_rect.IsEmpty()) | 1368 if (damage_rect.IsEmpty()) |
| 1362 return; | 1369 return; |
| 1363 NotifySwapPromiseMonitorsOfSetNeedsRedraw(); | 1370 NotifySwapPromiseMonitorsOfSetNeedsRedraw(); |
| 1364 client_->SetNeedsRedrawRectOnImplThread(damage_rect); | 1371 client_->SetNeedsRedrawRectOnImplThread(damage_rect); |
| 1365 } | 1372 } |
| 1366 | 1373 |
| 1367 void LayerTreeHostImpl::BeginFrame(const BeginFrameArgs& args) { | 1374 void LayerTreeHostImpl::BeginFrame(const BeginFrameArgs& args) { |
| (...skipping 791 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2159 device_scale_factor_ = device_scale_factor; | 2166 device_scale_factor_ = device_scale_factor; |
| 2160 | 2167 |
| 2161 UpdateInnerViewportContainerSize(); | 2168 UpdateInnerViewportContainerSize(); |
| 2162 SetFullRootLayerDamage(); | 2169 SetFullRootLayerDamage(); |
| 2163 } | 2170 } |
| 2164 | 2171 |
| 2165 gfx::Size LayerTreeHostImpl::DrawViewportSize() const { | 2172 gfx::Size LayerTreeHostImpl::DrawViewportSize() const { |
| 2166 return DeviceViewport().size(); | 2173 return DeviceViewport().size(); |
| 2167 } | 2174 } |
| 2168 | 2175 |
| 2176 gfx::Rect LayerTreeHostImpl::ExternalTilingRect() const { |
| 2177 gfx::Rect empty; |
| 2178 if (empty == external_tiling_rect_) |
| 2179 return gfx::Rect(DrawViewportSize()); |
| 2180 |
| 2181 return external_tiling_rect_; |
| 2182 } |
| 2183 |
| 2184 const gfx::Transform& LayerTreeHostImpl::ExternalTilingTransform() const { |
| 2185 return external_tiling_transform_; |
| 2186 } |
| 2187 |
| 2169 gfx::Rect LayerTreeHostImpl::DeviceViewport() const { | 2188 gfx::Rect LayerTreeHostImpl::DeviceViewport() const { |
| 2170 if (external_viewport_.IsEmpty()) | 2189 if (external_viewport_.IsEmpty()) |
| 2171 return gfx::Rect(device_viewport_size_); | 2190 return gfx::Rect(device_viewport_size_); |
| 2172 | 2191 |
| 2173 return external_viewport_; | 2192 return external_viewport_; |
| 2174 } | 2193 } |
| 2175 | 2194 |
| 2176 gfx::Rect LayerTreeHostImpl::DeviceClip() const { | 2195 gfx::Rect LayerTreeHostImpl::DeviceClip() const { |
| 2177 if (external_clip_.IsEmpty()) | 2196 if (external_clip_.IsEmpty()) |
| 2178 return DeviceViewport(); | 2197 return DeviceViewport(); |
| (...skipping 1086 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3265 } | 3284 } |
| 3266 | 3285 |
| 3267 void LayerTreeHostImpl::UnregisterPictureLayerImpl(PictureLayerImpl* layer) { | 3286 void LayerTreeHostImpl::UnregisterPictureLayerImpl(PictureLayerImpl* layer) { |
| 3268 std::vector<PictureLayerImpl*>::iterator it = | 3287 std::vector<PictureLayerImpl*>::iterator it = |
| 3269 std::find(picture_layers_.begin(), picture_layers_.end(), layer); | 3288 std::find(picture_layers_.begin(), picture_layers_.end(), layer); |
| 3270 DCHECK(it != picture_layers_.end()); | 3289 DCHECK(it != picture_layers_.end()); |
| 3271 picture_layers_.erase(it); | 3290 picture_layers_.erase(it); |
| 3272 } | 3291 } |
| 3273 | 3292 |
| 3274 } // namespace cc | 3293 } // namespace cc |
| OLD | NEW |