OLD | NEW |
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/layer_impl.h" | 5 #include "cc/layers/layer_impl.h" |
6 | 6 |
7 #include "base/debug/trace_event.h" | 7 #include "base/debug/trace_event.h" |
8 #include "base/debug/trace_event_argument.h" | 8 #include "base/debug/trace_event_argument.h" |
9 #include "base/json/json_reader.h" | 9 #include "base/json/json_reader.h" |
10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
(...skipping 604 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
615 delta_from_scroll.Scale(1.f / scale); | 615 delta_from_scroll.Scale(1.f / scale); |
616 | 616 |
617 // The delta-from-pinch component requires some explanation: A viewport of | 617 // The delta-from-pinch component requires some explanation: A viewport of |
618 // size (w,h) will appear to be size (w/s,h/s) under scale s in the content | 618 // size (w,h) will appear to be size (w/s,h/s) under scale s in the content |
619 // space. If s -> s' on the impl thread, where s' = s * ds, then the apparent | 619 // space. If s -> s' on the impl thread, where s' = s * ds, then the apparent |
620 // viewport size change in the content space due to ds is: | 620 // viewport size change in the content space due to ds is: |
621 // | 621 // |
622 // (w/s',h/s') - (w/s,h/s) = (w,h)(1/s' - 1/s) = (w,h)(1 - ds)/(s ds) | 622 // (w/s',h/s') - (w/s,h/s) = (w,h)(1/s' - 1/s) = (w,h)(1 - ds)/(s ds) |
623 // | 623 // |
624 gfx::Vector2dF delta_from_pinch = | 624 gfx::Vector2dF delta_from_pinch = |
625 gfx::RectF(scroll_clip_layer_->bounds()).bottom_right() - gfx::PointF(); | 625 gfx::Rect(scroll_clip_layer_->bounds()).bottom_right() - gfx::PointF(); |
626 delta_from_pinch.Scale((1.f - scale_delta) / (scale * scale_delta)); | 626 delta_from_pinch.Scale((1.f - scale_delta) / (scale * scale_delta)); |
627 | 627 |
628 return delta_from_scroll + delta_from_pinch; | 628 return delta_from_scroll + delta_from_pinch; |
629 } | 629 } |
630 | 630 |
631 base::DictionaryValue* LayerImpl::LayerTreeAsJson() const { | 631 base::DictionaryValue* LayerImpl::LayerTreeAsJson() const { |
632 base::DictionaryValue* result = new base::DictionaryValue; | 632 base::DictionaryValue* result = new base::DictionaryValue; |
633 result->SetString("LayerType", LayerTypeAsString()); | 633 result->SetString("LayerType", LayerTypeAsString()); |
634 | 634 |
635 base::ListValue* list = new base::ListValue; | 635 base::ListValue* list = new base::ListValue; |
636 list->AppendDouble(bounds().width()); | 636 list->AppendInteger(bounds().width()); |
637 list->AppendDouble(bounds().height()); | 637 list->AppendInteger(bounds().height()); |
638 result->Set("Bounds", list); | 638 result->Set("Bounds", list); |
639 | 639 |
640 list = new base::ListValue; | 640 list = new base::ListValue; |
641 list->AppendDouble(position_.x()); | 641 list->AppendDouble(position_.x()); |
642 list->AppendDouble(position_.y()); | 642 list->AppendDouble(position_.y()); |
643 result->Set("Position", list); | 643 result->Set("Position", list); |
644 | 644 |
645 const gfx::Transform& gfx_transform = draw_properties_.target_space_transform; | 645 const gfx::Transform& gfx_transform = draw_properties_.target_space_transform; |
646 double transform[16]; | 646 double transform[16]; |
647 gfx_transform.matrix().asColMajord(transform); | 647 gfx_transform.matrix().asColMajord(transform); |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
764 | 764 |
765 layer_tree_impl_->DidAnimateScrollOffset(); | 765 layer_tree_impl_->DidAnimateScrollOffset(); |
766 } | 766 } |
767 | 767 |
768 void LayerImpl::OnAnimationWaitingForDeletion() {} | 768 void LayerImpl::OnAnimationWaitingForDeletion() {} |
769 | 769 |
770 bool LayerImpl::IsActive() const { | 770 bool LayerImpl::IsActive() const { |
771 return layer_tree_impl_->IsActiveTree(); | 771 return layer_tree_impl_->IsActiveTree(); |
772 } | 772 } |
773 | 773 |
774 gfx::SizeF LayerImpl::bounds() const { | 774 // TODO(aelias): Convert so that bounds returns SizeF. |
| 775 gfx::Size LayerImpl::bounds() const { |
775 return gfx::ToCeiledSize(gfx::SizeF(bounds_.width() + bounds_delta_.x(), | 776 return gfx::ToCeiledSize(gfx::SizeF(bounds_.width() + bounds_delta_.x(), |
776 bounds_.height() + bounds_delta_.y())); | 777 bounds_.height() + bounds_delta_.y())); |
777 } | 778 } |
778 | 779 |
779 void LayerImpl::SetBounds(const gfx::Size& bounds) { | 780 void LayerImpl::SetBounds(const gfx::Size& bounds) { |
780 if (bounds_ == bounds) | 781 if (bounds_ == bounds) |
781 return; | 782 return; |
782 | 783 |
783 bounds_ = bounds; | 784 bounds_ = bounds; |
784 | 785 |
(...skipping 770 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1555 } | 1556 } |
1556 | 1557 |
1557 void LayerImpl::NotifyAnimationFinished( | 1558 void LayerImpl::NotifyAnimationFinished( |
1558 base::TimeTicks monotonic_time, | 1559 base::TimeTicks monotonic_time, |
1559 Animation::TargetProperty target_property) { | 1560 Animation::TargetProperty target_property) { |
1560 if (target_property == Animation::ScrollOffset) | 1561 if (target_property == Animation::ScrollOffset) |
1561 layer_tree_impl_->InputScrollAnimationFinished(); | 1562 layer_tree_impl_->InputScrollAnimationFinished(); |
1562 } | 1563 } |
1563 | 1564 |
1564 } // namespace cc | 1565 } // namespace cc |
OLD | NEW |