blob: 5669742ece3cd3c4bbee2d5e2e49a008df7c4aa6 [file] [log] [blame]
// Copyright 2012 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 PlatformGestureCurve_h
#define PlatformGestureCurve_h
namespace WebCore {
class PlatformGestureCurveTarget;
// Abstract interface for curves used by ActivePlatformGestureAnimation. A
// PlatformGestureCurve defines the animation parameters as a function of time
// (zero-based), and applies the parameters directly to the target of the
// animation.
class PlatformGestureCurve {
public:
virtual ~PlatformGestureCurve() { }
// Returns a name of the curve for use in debugging.
virtual const char* debugName() const = 0;
// Returns false if curve has finished and can no longer be applied.
virtual bool apply(double time, PlatformGestureCurveTarget*) = 0;
};
} // namespace WebCore
#endif