| Index: cc/input/scrollbar_animation_controller_thinning.h
|
| diff --git a/cc/input/scrollbar_animation_controller_thinning.h b/cc/input/scrollbar_animation_controller_thinning.h
|
| index 236e595ea263ec5d9f090d913005b34bfbbcd967..1c53a977a25500ec8962a729151052275e43bc01 100644
|
| --- a/cc/input/scrollbar_animation_controller_thinning.h
|
| +++ b/cc/input/scrollbar_animation_controller_thinning.h
|
| @@ -10,11 +10,17 @@
|
| #include "base/macros.h"
|
| #include "cc/base/cc_export.h"
|
| #include "cc/input/scrollbar_animation_controller.h"
|
| +#include "cc/input/single_scrollbar_animation_controller_thinning.h"
|
|
|
| namespace cc {
|
|
|
| -// Scrollbar animation that partially fades and thins after an idle delay,
|
| -// and reacts to mouse movements.
|
| +// This class fade in scrollbars when scroll and fade out after an idle delay.
|
| +// The fade animations works on both scrollbars and is controlled in this class.
|
| +
|
| +// TODO(chaopeng) clean up the inheritance hierarchy after
|
| +// ScrollbarAnimationControllerLinearFade merge into
|
| +// ScrollbarAnimationControllerThinning so we can remove the empty overrides and
|
| +// NOTREACHED() checks.
|
| class CC_EXPORT ScrollbarAnimationControllerThinning
|
| : public ScrollbarAnimationController {
|
| public:
|
| @@ -28,22 +34,14 @@ class CC_EXPORT ScrollbarAnimationControllerThinning
|
|
|
| ~ScrollbarAnimationControllerThinning() override;
|
|
|
| - void set_mouse_move_distance_for_test(float distance) {
|
| - mouse_move_distance_to_trigger_animation_ = distance;
|
| - }
|
| - bool mouse_is_over_scrollbar() const { return mouse_is_over_scrollbar_; }
|
| - bool mouse_is_near_scrollbar() const { return mouse_is_near_scrollbar_; }
|
| -
|
| void DidScrollUpdate(bool on_resize) override;
|
| void DidScrollEnd() override;
|
| -
|
| - void DidMouseDown() override;
|
| - void DidMouseUp() override;
|
| - void DidMouseLeave() override;
|
| - void DidMouseMoveNear(float distance) override;
|
| bool ScrollbarsHidden() const override;
|
|
|
| protected:
|
| + bool NeedThinningAnimation() const override;
|
| +
|
| + private:
|
| ScrollbarAnimationControllerThinning(
|
| int scroll_layer_id,
|
| ScrollbarAnimationControllerClient* client,
|
| @@ -52,38 +50,12 @@ class CC_EXPORT ScrollbarAnimationControllerThinning
|
| base::TimeDelta fade_duration,
|
| base::TimeDelta thinning_duration);
|
|
|
| + void ApplyOpacityToScrollbars(float opacity) override;
|
| void RunAnimationFrame(float progress) override;
|
| const base::TimeDelta& Duration() override;
|
|
|
| - private:
|
| - // Describes whether the current animation should INCREASE (thicken)
|
| - // a bar or DECREASE it (thin).
|
| - enum AnimationChange { NONE, INCREASE, DECREASE };
|
| - enum AnimatingProperty { OPACITY, THICKNESS };
|
| - float ThumbThicknessScaleAt(float progress);
|
| - float AdjustScale(float new_value,
|
| - float current_value,
|
| - AnimationChange animation_change,
|
| - float min_value,
|
| - float max_value);
|
| - void ApplyOpacity(float opacity);
|
| - void ApplyThumbThicknessScale(float thumb_thickness_scale);
|
| -
|
| - void SetCurrentAnimatingProperty(AnimatingProperty property);
|
| -
|
| float opacity_;
|
| - bool captured_;
|
| - bool mouse_is_over_scrollbar_;
|
| - bool mouse_is_near_scrollbar_;
|
| - // Are we narrowing or thickening the bars.
|
| - AnimationChange thickness_change_;
|
| - // How close should the mouse be to the scrollbar before we thicken it.
|
| - float mouse_move_distance_to_trigger_animation_;
|
| -
|
| base::TimeDelta fade_duration_;
|
| - base::TimeDelta thinning_duration_;
|
| -
|
| - AnimatingProperty current_animating_property_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ScrollbarAnimationControllerThinning);
|
| };
|
|
|