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: ScrollEndEffectController()17 ScrollEndEffectController() {} ~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