#include "ui/events/gestures/blink/web_gesture_curve_impl.h"
#include <limits.h>
#include <utility>
#include "base/metrics/histogram_macros.h"
#include "build/build_config.h"
#include "ui/base/ui_base_features.h"
#include "ui/events/gestures/fixed_velocity_curve.h"
#include "ui/events/gestures/fling_curve.h"
#include "ui/events/gestures/physics_based_fling_curve.h"
#include "ui/events/mobile_scroller.h"
WebGestureCurve;
namespace ui {
namespace {
std::unique_ptr<GestureCurve> CreateDefaultPlatformCurve(
blink::WebGestureDevice device_source,
const gfx::Vector2dF& initial_velocity,
bool use_mobile_fling_curve,
const gfx::Vector2dF& pixels_per_inch,
const float boost_multiplier,
const gfx::Size& bounding_size) { … }
}
std::unique_ptr<WebGestureCurve>
WebGestureCurveImpl::CreateFromDefaultPlatformCurve(
blink::WebGestureDevice device_source,
const gfx::Vector2dF& initial_velocity,
const gfx::Vector2dF& initial_offset,
bool on_main_thread,
bool use_mobile_fling_curve,
const gfx::Vector2dF& pixels_per_inch,
const float boost_multiplier,
const gfx::Size& viewport_size) { … }
std::unique_ptr<WebGestureCurve>
WebGestureCurveImpl::CreateFromUICurveForTesting(
std::unique_ptr<GestureCurve> curve,
const gfx::Vector2dF& initial_offset) { … }
WebGestureCurveImpl::WebGestureCurveImpl(std::unique_ptr<GestureCurve> curve,
const gfx::Vector2dF& initial_offset,
ThreadType animating_thread_type)
: … { … }
WebGestureCurveImpl::~WebGestureCurveImpl() { … }
bool WebGestureCurveImpl::Advance(double time,
gfx::Vector2dF& out_current_velocity,
gfx::Vector2dF& out_delta_to_scroll) { … }
}