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

Side by Side Diff: ui/compositor/layer.cc

Issue 12517003: cc: Chromify the Animation and LayerAnimationController classes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 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 | Annotate | Revision Log
OLDNEW
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/command_line.h" 9 #include "base/command_line.h"
10 #include "base/debug/trace_event.h" 10 #include "base/debug/trace_event.h"
(...skipping 794 matching lines...) Expand 10 before | Expand all | Expand 10 after
805 // been configured as LAYER_SOLID_COLOR. 805 // been configured as LAYER_SOLID_COLOR.
806 return solid_color_layer_.get() ? 806 return solid_color_layer_.get() ?
807 solid_color_layer_->backgroundColor() : SK_ColorBLACK; 807 solid_color_layer_->backgroundColor() : SK_ColorBLACK;
808 } 808 }
809 809
810 void Layer::AddThreadedAnimation(scoped_ptr<cc::Animation> animation) { 810 void Layer::AddThreadedAnimation(scoped_ptr<cc::Animation> animation) {
811 DCHECK(cc_layer_); 811 DCHECK(cc_layer_);
812 // Until this layer has a compositor (and hence cc_layer_ has a 812 // Until this layer has a compositor (and hence cc_layer_ has a
813 // LayerTreeHost), addAnimation will fail. 813 // LayerTreeHost), addAnimation will fail.
814 if (GetCompositor()) 814 if (GetCompositor())
815 cc_layer_->addAnimation(animation.Pass()); 815 cc_layer_->AddAnimation(animation.Pass());
816 else 816 else
817 pending_threaded_animations_.push_back(animation.Pass()); 817 pending_threaded_animations_.push_back(animation.Pass());
818 } 818 }
819 819
820 namespace{ 820 namespace{
821 821
822 struct HasAnimationId { 822 struct HasAnimationId {
823 HasAnimationId(int id): id_(id) { 823 HasAnimationId(int id): id_(id) {
824 } 824 }
825 825
826 bool operator()(cc::Animation* animation) const { 826 bool operator()(cc::Animation* animation) const {
827 return animation->id() == id_; 827 return animation->id() == id_;
828 } 828 }
829 829
830 private: 830 private:
831 int id_; 831 int id_;
832 }; 832 };
833 833
834 } 834 }
835 835
836 void Layer::RemoveThreadedAnimation(int animation_id) { 836 void Layer::RemoveThreadedAnimation(int animation_id) {
837 DCHECK(cc_layer_); 837 DCHECK(cc_layer_);
838 if (pending_threaded_animations_.size() == 0) { 838 if (pending_threaded_animations_.size() == 0) {
839 cc_layer_->removeAnimation(animation_id); 839 cc_layer_->RemoveAnimation(animation_id);
840 return; 840 return;
841 } 841 }
842 842
843 pending_threaded_animations_.erase( 843 pending_threaded_animations_.erase(
844 cc::remove_if(pending_threaded_animations_, 844 cc::remove_if(pending_threaded_animations_,
845 pending_threaded_animations_.begin(), 845 pending_threaded_animations_.begin(),
846 pending_threaded_animations_.end(), 846 pending_threaded_animations_.end(),
847 HasAnimationId(animation_id)), 847 HasAnimationId(animation_id)),
848 pending_threaded_animations_.end()); 848 pending_threaded_animations_.end());
849 } 849 }
850 850
851 void Layer::SendPendingThreadedAnimations() { 851 void Layer::SendPendingThreadedAnimations() {
852 for (cc::ScopedPtrVector<cc::Animation>::iterator it = 852 for (cc::ScopedPtrVector<cc::Animation>::iterator it =
853 pending_threaded_animations_.begin(); 853 pending_threaded_animations_.begin();
854 it != pending_threaded_animations_.end(); 854 it != pending_threaded_animations_.end();
855 ++it) 855 ++it)
856 cc_layer_->addAnimation(pending_threaded_animations_.take(it)); 856 cc_layer_->AddAnimation(pending_threaded_animations_.take(it));
857 857
858 pending_threaded_animations_.clear(); 858 pending_threaded_animations_.clear();
859 859
860 for (size_t i = 0; i < children_.size(); ++i) 860 for (size_t i = 0; i < children_.size(); ++i)
861 children_[i]->SendPendingThreadedAnimations(); 861 children_[i]->SendPendingThreadedAnimations();
862 } 862 }
863 863
864 void Layer::CreateWebLayer() { 864 void Layer::CreateWebLayer() {
865 if (type_ == LAYER_SOLID_COLOR) { 865 if (type_ == LAYER_SOLID_COLOR) {
866 solid_color_layer_ = cc::SolidColorLayer::Create(); 866 solid_color_layer_ = cc::SolidColorLayer::Create();
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
911 texture_layer_->setUV(uv_top_left, uv_bottom_right); 911 texture_layer_->setUV(uv_top_left, uv_bottom_right);
912 } else if (delegated_renderer_layer_.get()) { 912 } else if (delegated_renderer_layer_.get()) {
913 delegated_renderer_layer_->SetDisplaySize( 913 delegated_renderer_layer_->SetDisplaySize(
914 ConvertSizeToPixel(this, delegated_frame_size_in_dip_)); 914 ConvertSizeToPixel(this, delegated_frame_size_in_dip_));
915 size.ClampToMax(delegated_frame_size_in_dip_); 915 size.ClampToMax(delegated_frame_size_in_dip_);
916 } 916 }
917 cc_layer_->setBounds(ConvertSizeToPixel(this, size)); 917 cc_layer_->setBounds(ConvertSizeToPixel(this, size));
918 } 918 }
919 919
920 } // namespace ui 920 } // namespace ui
OLDNEW
« no previous file with comments | « ui/compositor/float_animation_curve_adapter.cc ('k') | ui/compositor/layer_animation_element.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698