Upstream version 11.39.266.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / views / frame / scroll_end_effect_controller.h
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.
15 class 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_