blob: f869a697c49d3d4d09a02a8236db6eb400275408 [file] [log] [blame]
// Copyright 2015 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 InputDeviceCapabilities_h
#define InputDeviceCapabilities_h
#include "bindings/core/v8/ScriptWrappable.h"
#include "core/CoreExport.h"
#include "core/input/InputDeviceCapabilitiesInit.h"
namespace blink {
class CORE_EXPORT InputDeviceCapabilities final
: public GarbageCollected<InputDeviceCapabilities>,
public ScriptWrappable {
DEFINE_WRAPPERTYPEINFO();
public:
// This return a static local InputDeviceCapabilities pointer which has
// firesTouchEvents set to be true.
static InputDeviceCapabilities* firesTouchEventsSourceCapabilities();
// This return a static local InputDeviceCapabilities pointer which has
// firesTouchEvents set to be false.
static InputDeviceCapabilities* doesntFireTouchEventsSourceCapabilities();
static InputDeviceCapabilities* create(bool firesTouchEvents) {
return new InputDeviceCapabilities(firesTouchEvents);
}
static InputDeviceCapabilities* create(
const InputDeviceCapabilitiesInit& initializer) {
return new InputDeviceCapabilities(initializer);
}
bool firesTouchEvents() const { return m_firesTouchEvents; }
DEFINE_INLINE_TRACE() {}
private:
InputDeviceCapabilities(bool firesTouchEvents);
InputDeviceCapabilities(const InputDeviceCapabilitiesInit&);
// Whether this device dispatches touch events. This mainly lets developers
// avoid handling both touch and mouse events dispatched for a single user
// action.
bool m_firesTouchEvents;
};
} // namespace blink
#endif // InputDeviceCapabilities_h