~ubuntu-branches/ubuntu/trusty/xf86-input-mtrack-lts-utopic/trusty-proposed

« back to all changes in this revision

Viewing changes to include/mtstate.h

  • Committer: Package Import Robot
  • Author(s): Maarten Lankhorst
  • Date: 2015-01-22 10:02:01 UTC
  • Revision ID: package-import@ubuntu.com-20150122100201-9lz7tgip6vq5k2pm
Tags: upstream-0.3.0
ImportĀ upstreamĀ versionĀ 0.3.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/***************************************************************************
 
2
 *
 
3
 * Multitouch X driver
 
4
 * Copyright (C) 2008 Henrik Rydberg <rydberg@euromail.se>
 
5
 * Copyright (C) 2011 Ryan Bourgeois <bluedragonx@gmail.com>
 
6
 *
 
7
 * This program is free software; you can redistribute it and/or modify
 
8
 * it under the terms of the GNU General Public License as published by
 
9
 * the Free Software Foundation; either version 2 of the License, or
 
10
 * (at your option) any later version.
 
11
 *
 
12
 * This program is distributed in the hope that it will be useful,
 
13
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
14
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 
15
 * GNU General Public License for more details.
 
16
 *
 
17
 * You should have received a copy of the GNU General Public License
 
18
 * along with this program; if not, write to the Free Software
 
19
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
20
 *
 
21
 **************************************************************************/
 
22
 
 
23
#ifndef MTSTATE_H
 
24
#define MTSTATE_H
 
25
 
 
26
#include "common.h"
 
27
#include "mconfig.h"
 
28
#include "hwstate.h"
 
29
#include "capabilities.h"
 
30
 
 
31
#define MT_NEW 0
 
32
#define MT_RELEASED 1
 
33
#define MT_INVALID 2
 
34
#define MT_THUMB 3
 
35
#define MT_PALM 4
 
36
#define MT_BOTTOM_EDGE 5
 
37
 
 
38
struct Touch {
 
39
        bitmask_t state;
 
40
        bitmask_t flags;
 
41
        double direction;
 
42
        int tracking_id;
 
43
        int x, y, dx, dy;
 
44
        int total_dx, total_dy;
 
45
        struct timeval down;
 
46
};
 
47
 
 
48
struct MTState {
 
49
        bitmask_t state;
 
50
        struct Touch touch[DIM_TOUCHES];
 
51
        bitmask_t touch_used;
 
52
};
 
53
 
 
54
/* Initialize an MTState struct.
 
55
 */
 
56
void mtstate_init(struct MTState* ms);
 
57
 
 
58
/* Extract the MTState from the current hardware state.
 
59
 */
 
60
void mtstate_extract(struct MTState* ms,
 
61
                        const struct MConfig* cfg,
 
62
                        const struct HWState* hs,
 
63
                        const struct Capabilities* caps);
 
64
 
 
65
#endif
 
66