blob: fe66e2b58f62d8881777df0b02f84e8a42e183b0 [file] [log] [blame]
Thomas Gleixnerd2912cb2019-06-04 10:11:33 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Sebastian Reichelb98abe52014-05-28 23:51:53 -07002/*
3 * Copyright (c) 2014 Sebastian Reichel <sre@kernel.org>
Sebastian Reichelb98abe52014-05-28 23:51:53 -07004 */
5
6#ifndef _TOUCHSCREEN_H
7#define _TOUCHSCREEN_H
8
Dmitry Torokhov4200e832015-07-06 15:18:24 -07009struct input_dev;
Hans de Goedeed7c9872016-07-15 14:05:29 -070010struct input_mt_pos;
Sebastian Reichelb98abe52014-05-28 23:51:53 -070011
Hans de Goedeed7c9872016-07-15 14:05:29 -070012struct 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
20void touchscreen_parse_properties(struct input_dev *input, bool multitouch,
21 struct touchscreen_properties *prop);
22
23void touchscreen_set_mt_pos(struct input_mt_pos *pos,
24 const struct touchscreen_properties *prop,
25 unsigned int x, unsigned int y);
26
27void touchscreen_report_pos(struct input_dev *input,
28 const struct touchscreen_properties *prop,
29 unsigned int x, unsigned int y,
30 bool multitouch);
Sebastian Reichelb98abe52014-05-28 23:51:53 -070031
32#endif