1d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
2d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)// found in the LICENSE file.
4d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)
5d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#ifndef WebScrollbarBehavior_h
6d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#define WebScrollbarBehavior_h
7d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)
8d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)namespace blink {
9d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)
10d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)struct WebPoint;
11d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)struct WebRect;
12d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)
13d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)class WebScrollbarBehavior {
14d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)public:
15d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)    enum Button {
16d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)        ButtonNone = -1,
17d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)        ButtonLeft,
18d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)        ButtonMiddle,
19d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)        ButtonRight
20d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)    };
21d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)    virtual ~WebScrollbarBehavior() { }
22d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)    virtual bool shouldCenterOnThumb(Button, bool shiftKeyPressed, bool altKeyPressed) { return false; }
23d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)    virtual bool shouldSnapBackToDragOrigin(const WebPoint& eventPoint, const WebRect& scrollbarRect, bool isHorizontal) { return false; }
24d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)};
25d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)
26d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)} // namespace blink
27d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)
28d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#endif
29