blob: d590892d409b2e22c7c2a55dacf73ef47d350998 [file] [log] [blame]
// Copyright 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_COMMON_INPUT_SYNTHETIC_SMOOTH_SCROLL_GESTURE_PARAMS_H_
#define CONTENT_COMMON_INPUT_SYNTHETIC_SMOOTH_SCROLL_GESTURE_PARAMS_H_
#include <vector>
#include "content/common/content_export.h"
#include "content/common/input/synthetic_gesture_params.h"
#include "ui/gfx/geometry/point_f.h"
#include "ui/gfx/geometry/vector2d.h"
namespace content {
struct CONTENT_EXPORT SyntheticSmoothScrollGestureParams
: public SyntheticGestureParams {
public:
SyntheticSmoothScrollGestureParams();
SyntheticSmoothScrollGestureParams(
const SyntheticSmoothScrollGestureParams& other);
~SyntheticSmoothScrollGestureParams() override;
GestureType GetGestureType() const override;
gfx::PointF anchor;
std::vector<gfx::Vector2dF> distances; // Positive X/Y to scroll left/up.
bool prevent_fling; // Defaults to true.
float speed_in_pixels_s;
float fling_velocity_x;
float fling_velocity_y;
bool precise_scrolling_deltas;
bool scroll_by_page;
static const SyntheticSmoothScrollGestureParams* Cast(
const SyntheticGestureParams* gesture_params);
};
} // namespace content
#endif // CONTENT_COMMON_INPUT_SYNTHETIC_SMOOTH_SCROLL_GESTURE_PARAMS_H_