Thomas Gleixner | d2912cb | 2019-06-04 10:11:33 +0200 | [diff] [blame^] | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
Sebastian Reichel | b98abe5 | 2014-05-28 23:51:53 -0700 | [diff] [blame] | 2 | /* |
| 3 | * Copyright (c) 2014 Sebastian Reichel <sre@kernel.org> |
Sebastian Reichel | b98abe5 | 2014-05-28 23:51:53 -0700 | [diff] [blame] | 4 | */ |
| 5 | |
| 6 | #ifndef _TOUCHSCREEN_H |
| 7 | #define _TOUCHSCREEN_H |
| 8 | |
Dmitry Torokhov | 4200e83 | 2015-07-06 15:18:24 -0700 | [diff] [blame] | 9 | struct input_dev; |
Hans de Goede | ed7c987 | 2016-07-15 14:05:29 -0700 | [diff] [blame] | 10 | struct input_mt_pos; |
Sebastian Reichel | b98abe5 | 2014-05-28 23:51:53 -0700 | [diff] [blame] | 11 | |
Hans de Goede | ed7c987 | 2016-07-15 14:05:29 -0700 | [diff] [blame] | 12 | struct touchscreen_properties { |
| 13 | unsigned int max_x; |
| 14 | unsigned int max_y; |
| 15 | bool invert_x; |
| 16 | bool invert_y; |
| 17 | bool swap_x_y; |
| 18 | }; |
| 19 | |
| 20 | void touchscreen_parse_properties(struct input_dev *input, bool multitouch, |
| 21 | struct touchscreen_properties *prop); |
| 22 | |
| 23 | void touchscreen_set_mt_pos(struct input_mt_pos *pos, |
| 24 | const struct touchscreen_properties *prop, |
| 25 | unsigned int x, unsigned int y); |
| 26 | |
| 27 | void touchscreen_report_pos(struct input_dev *input, |
| 28 | const struct touchscreen_properties *prop, |
| 29 | unsigned int x, unsigned int y, |
| 30 | bool multitouch); |
Sebastian Reichel | b98abe5 | 2014-05-28 23:51:53 -0700 | [diff] [blame] | 31 | |
| 32 | #endif |