// Copyright 2016 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CC_ANIMATION_SCROLL_OFFSET_ANIMATIONS_IMPL_H_ #define CC_ANIMATION_SCROLL_OFFSET_ANIMATIONS_IMPL_H_ #include <memory> #include "base/memory/raw_ptr.h" #include "base/memory/ref_counted.h" #include "cc/animation/animation_delegate.h" #include "cc/animation/scroll_offset_animation_curve.h" #include "cc/trees/mutator_host_client.h" #include "ui/gfx/geometry/vector2d_f.h" namespace cc { class Animation; class AnimationHost; class AnimationTimeline; // This class represents a scroll offset animation that is managed by only the // impl thread, i.e. an impl-only scroll animation. It contains an // AnimationTimeline and owns the (impl-only) scroll offset Animation running // on a particular CC Layer. It exists only on the compositor thread. class CC_ANIMATION_EXPORT ScrollOffsetAnimationImpl : public AnimationDelegate { … }; // Contains an ScrollOffsetAnimationImpl which encapsulates the scroll offset // animation running on a particular CC Layer. // We have just one animation for impl-only scroll offset animations. I.e. only // one element can have an impl-only scroll offset animation at any given time. // To support multiple elements having impl-only scroll offset animations, this // class will need to have a set (or map) of ScrollOffsetAnimations rather // than just one. // Note that this class only exists on the compositor thread. class CC_ANIMATION_EXPORT ScrollOffsetAnimationsImpl { … }; } // namespace cc #endif // CC_ANIMATION_SCROLL_OFFSET_ANIMATIONS_IMPL_H_