- add sources.
[platform/framework/web/crosswalk.git] / src / content / renderer / gpu / input_handler_proxy_client.h
1 // Copyright (c) 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 CONTENT_RENDERER_GPU_INPUT_HANDLER_PROXY_CLIENT_H_
6 #define CONTENT_RENDERER_GPU_INPUT_HANDLER_PROXY_CLIENT_H_
7
8 namespace WebKit {
9 class WebGestureCurve;
10 struct WebActiveWheelFlingParameters;
11 struct WebFloatPoint;
12 struct WebSize;
13 }
14
15 namespace content {
16
17 // All callbacks invoked from the compositor thread.
18 class InputHandlerProxyClient {
19  public:
20   // Called just before the InputHandlerProxy shuts down.
21   virtual void WillShutdown() = 0;
22
23   // Transfers an active wheel fling animation initiated by a previously
24   // handled input event out to the client.
25   virtual void TransferActiveWheelFlingAnimation(
26       const WebKit::WebActiveWheelFlingParameters& params) = 0;
27
28   // Creates a new fling animation curve instance for device |device_source|
29   // with |velocity| and already scrolled |cumulative_scroll| pixels.
30   virtual WebKit::WebGestureCurve* CreateFlingAnimationCurve(
31       int device_source,
32       const WebKit::WebFloatPoint& velocity,
33       const WebKit::WebSize& cumulative_scroll) = 0;
34
35   virtual void DidOverscroll(const cc::DidOverscrollParams& params) = 0;
36
37  protected:
38   virtual ~InputHandlerProxyClient() {}
39 };
40
41 }  // namespace content
42
43 #endif  // CONTENT_RENDERER_GPU_INPUT_HANDLER_PROXY_CLIENT_H_