| // Copyright 2014 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 UI_EVENTS_DEVICES_TOUCHSCREEN_DEVICE_H_ |
| #define UI_EVENTS_DEVICES_TOUCHSCREEN_DEVICE_H_ |
| |
| #include <stdint.h> |
| |
| #include <string> |
| |
| #include "ui/display/types/display_constants.h" |
| #include "ui/events/devices/events_devices_export.h" |
| #include "ui/events/devices/input_device.h" |
| #include "ui/gfx/geometry/size.h" |
| |
| namespace ui { |
| |
| // Represents a Touchscreen device state. |
| struct EVENTS_DEVICES_EXPORT TouchscreenDevice : public InputDevice { |
| // Creates an invalid touchscreen device. |
| TouchscreenDevice(); |
| |
| TouchscreenDevice(int id, |
| InputDeviceType type, |
| const std::string& name, |
| const gfx::Size& size, |
| int touch_points, |
| bool has_stylus = false); |
| |
| TouchscreenDevice(const InputDevice& input_device, |
| const gfx::Size& size, |
| int touch_points, |
| bool has_stylus = false); |
| |
| TouchscreenDevice(const TouchscreenDevice& other); |
| |
| ~TouchscreenDevice() override; |
| |
| gfx::Size size; // Size of the touch screen area. |
| // Number of touch points this device supports (0 if unknown). |
| int touch_points = 0; |
| // True if the specified touchscreen device is stylus capable. |
| bool has_stylus = false; |
| // Id of the display the touch device targets. |
| // NOTE: when obtaining TouchscreenDevice from DeviceDataManager this value |
| // may not have been updated. See |
| // DeviceDataManager::AreTouchscreenTargetDisplaysValid() for details. |
| int64_t target_display_id = display::kInvalidDisplayId; |
| |
| // NOTE: If adding fields please update mojo/input_devices.mojom. |
| }; |
| |
| } // namespace ui |
| |
| #endif // UI_EVENTS_DEVICES_TOUCHSCREEN_DEVICE_H_ |