blob: 26a47e2abc2d25fcdd3719af558ac27a6f43eaaa [file] [log] [blame]
// Copyright 2018 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.
#include "third_party/blink/renderer/core/scroll/scroll_customization.h"
namespace blink {
namespace scroll_customization {
ScrollDirection GetScrollDirectionFromDeltas(double delta_x, double delta_y) {
// TODO(ekaramad, tdresser): Find out the right value for kEpsilon here (see
// https://crbug.com/510550).
const double kEpsilon = 0.1f;
ScrollDirection direction = kScrollDirectionNone;
if (delta_x > kEpsilon)
direction |= kScrollDirectionPanRight;
if (delta_x < -kEpsilon)
direction |= kScrollDirectionPanLeft;
if (delta_y > kEpsilon)
direction |= kScrollDirectionPanDown;
if (delta_y < -kEpsilon)
direction |= kScrollDirectionPanUp;
if (!direction) {
// TODO(ekaramad, sahel): Remove this and perhaps replace with a DCHECK when
// issue https://crbug.com/728214 is fixed.
return kScrollDirectionAuto;
}
return direction;
}
} // namespace scroll_customization
} // namespace blink