1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_UI_VIEWS_FRAME_SCROLL_END_EFFECT_CONTROLLER_H_
6#define CHROME_BROWSER_UI_VIEWS_FRAME_SCROLL_END_EFFECT_CONTROLLER_H_
7
8#include "base/basictypes.h"
9
10// The controller receives the raw y-deltas generated by the overscroll
11// controller and is resonsible for converting them in to the scroll end
12// effect. This effect occurs in the vertical overscroll case and is used to
13// visually indicate to the user that they have reached the end of the content
14// that they are scrolling.
15class ScrollEndEffectController {
16 public:
17  ScrollEndEffectController() {}
18  virtual ~ScrollEndEffectController() {}
19
20  static ScrollEndEffectController* Create();
21
22  // Interface that allows vertical overscroll activies to be communicated to
23  // the controller.
24  virtual void OverscrollUpdate(int delta_y) = 0;
25
26 private:
27  DISALLOW_COPY_AND_ASSIGN(ScrollEndEffectController);
28};
29
30#endif  // CHROME_BROWSER_UI_VIEWS_FRAME_SCROLL_END_EFFECT_CONTROLLER_H_
31