blob: 6ef000c098f44087187d81f50e4f519825931a0f [file] [log] [blame]
// Copyright (c) 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CONTENT_RENDERER_GPU_INPUT_HANDLER_PROXY_CLIENT_H_
#define CONTENT_RENDERER_GPU_INPUT_HANDLER_PROXY_CLIENT_H_
namespace WebKit {
class WebGestureCurve;
struct WebActiveWheelFlingParameters;
struct WebFloatPoint;
struct WebSize;
}
namespace content {
// All callbacks invoked from the compositor thread.
class InputHandlerProxyClient {
public:
// Called just before the InputHandlerProxy shuts down.
virtual void WillShutdown() = 0;
// Transfers an active wheel fling animation initiated by a previously
// handled input event out to the client.
virtual void TransferActiveWheelFlingAnimation(
const WebKit::WebActiveWheelFlingParameters& params) = 0;
// Creates a new fling animation curve instance for device |device_source|
// with |velocity| and already scrolled |cumulative_scroll| pixels.
virtual WebKit::WebGestureCurve* CreateFlingAnimationCurve(
int device_source,
const WebKit::WebFloatPoint& velocity,
const WebKit::WebSize& cumulative_scroll) = 0;
virtual void DidOverscroll(const cc::DidOverscrollParams& params) = 0;
protected:
virtual ~InputHandlerProxyClient() {}
};
} // namespace content
#endif // CONTENT_RENDERER_GPU_INPUT_HANDLER_PROXY_CLIENT_H_