OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 "ui/compositor/layer.h" | 5 #include "ui/compositor/layer.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 732 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
743 sk_canvas, device_scale_factor_)); | 743 sk_canvas, device_scale_factor_)); |
744 if (delegate_) | 744 if (delegate_) |
745 delegate_->OnPaintLayer(PaintContext(canvas.get(), clip)); | 745 delegate_->OnPaintLayer(PaintContext(canvas.get(), clip)); |
746 } | 746 } |
747 | 747 |
748 void Layer::PaintContentsToDisplayList( | 748 void Layer::PaintContentsToDisplayList( |
749 cc::DisplayItemList* display_list, | 749 cc::DisplayItemList* display_list, |
750 const gfx::Rect& clip, | 750 const gfx::Rect& clip, |
751 ContentLayerClient::PaintingControlSetting painting_control) { | 751 ContentLayerClient::PaintingControlSetting painting_control) { |
752 TRACE_EVENT1("ui", "Layer::PaintContentsToDisplayList", "name", name_); | 752 TRACE_EVENT1("ui", "Layer::PaintContentsToDisplayList", "name", name_); |
753 gfx::Rect invalidation = | |
754 gfx::IntersectRects(damaged_region_.bounds(), bounds()); | |
sky
2015/04/23 16:29:00
Isn't bounds() in the parent coordinate space and
danakj
2015/04/23 16:34:09
Ah, yes, thanks. I wish they said so in their name
| |
755 DCHECK(clip.Contains(invalidation)); | |
753 ClearDamagedRects(); | 756 ClearDamagedRects(); |
754 if (!delegate_) | 757 if (!delegate_) |
755 return; | 758 return; |
756 // TODO(danakj): Save the invalidation on the layer and pass that down | |
757 // instead of the |clip| here. That will break everything until View | |
758 // early-outs emit cached display items instead of nothing. | |
759 gfx::Rect invalidation = clip; | |
760 DCHECK(clip.Contains(invalidation)); | |
761 delegate_->OnPaintLayer( | 759 delegate_->OnPaintLayer( |
762 PaintContext(display_list, device_scale_factor_, clip, invalidation)); | 760 PaintContext(display_list, device_scale_factor_, clip, invalidation)); |
763 } | 761 } |
764 | 762 |
765 bool Layer::FillsBoundsCompletely() const { return fills_bounds_completely_; } | 763 bool Layer::FillsBoundsCompletely() const { return fills_bounds_completely_; } |
766 | 764 |
767 bool Layer::PrepareTextureMailbox( | 765 bool Layer::PrepareTextureMailbox( |
768 cc::TextureMailbox* mailbox, | 766 cc::TextureMailbox* mailbox, |
769 scoped_ptr<cc::SingleReleaseCallback>* release_callback, | 767 scoped_ptr<cc::SingleReleaseCallback>* release_callback, |
770 bool use_shared_memory) { | 768 bool use_shared_memory) { |
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1086 children_.end(), | 1084 children_.end(), |
1087 std::bind2nd(std::mem_fun(&Layer::RemoveAnimatorsInTreeFromCollection), | 1085 std::bind2nd(std::mem_fun(&Layer::RemoveAnimatorsInTreeFromCollection), |
1088 collection)); | 1086 collection)); |
1089 } | 1087 } |
1090 | 1088 |
1091 bool Layer::IsAnimating() const { | 1089 bool Layer::IsAnimating() const { |
1092 return animator_.get() && animator_->is_animating(); | 1090 return animator_.get() && animator_->is_animating(); |
1093 } | 1091 } |
1094 | 1092 |
1095 } // namespace ui | 1093 } // namespace ui |
OLD | NEW |