1// Copyright 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef UI_GFX_ANDROID_VIEW_CONFIGURATION_H_
6#define UI_GFX_ANDROID_VIEW_CONFIGURATION_H_
7
8#include <jni.h>
9
10#include "ui/gfx/gfx_export.h"
11
12namespace gfx {
13
14// Provides access to Android's ViewConfiguration for gesture-related constants.
15// Note: All methods may be safely called from any thread.
16class GFX_EXPORT ViewConfiguration {
17 public:
18  static int GetDoubleTapTimeoutInMs();
19  static int GetLongPressTimeoutInMs();
20  static int GetTapTimeoutInMs();
21
22  // Dimensionless coefficient of friction.
23  static float GetScrollFriction();
24
25  static int GetMaximumFlingVelocityInPixelsPerSecond();
26  static int GetMinimumFlingVelocityInPixelsPerSecond();
27
28  static int GetTouchSlopInPixels();
29  static int GetDoubleTapSlopInPixels();
30
31  static int GetMinScalingSpanInPixels();
32  static int GetMinScalingTouchMajorInPixels();
33
34  // Registers methods with JNI and returns true if succeeded.
35  static bool RegisterViewConfiguration(JNIEnv* env);
36};
37
38}  // namespace gfx
39
40#endif  // UI_GFX_ANDROID_VIEW_CONFIGURATION_H_
41