xref: /haiku/src/add-ons/input_server/devices/easypen/EasyPenInputDevice.h (revision ade5efae046d479bf87aaa37df14ec2a16dd515f)
1*ade5efaeSJérôme Duval /*
2*ade5efaeSJérôme Duval  * Copyright 2006, Haiku.
3*ade5efaeSJérôme Duval  * Distributed under the terms of the MIT License.
4*ade5efaeSJérôme Duval  *
5*ade5efaeSJérôme Duval  * Authors:
6*ade5efaeSJérôme Duval  *		Jérôme Duval
7*ade5efaeSJérôme Duval  *
8*ade5efaeSJérôme Duval  * References:
9*ade5efaeSJérôme Duval  *   Google search "technic doc genius" , http://www.bebits.com/app/2152
10*ade5efaeSJérôme Duval  */
11*ade5efaeSJérôme Duval 
12*ade5efaeSJérôme Duval #ifndef __EASYPENINPUTDEVICE_H
13*ade5efaeSJérôme Duval #define __EASYPENINPUTDEVICE_H
14*ade5efaeSJérôme Duval 
15*ade5efaeSJérôme Duval #include <InputServerDevice.h>
16*ade5efaeSJérôme Duval #include <List.h>
17*ade5efaeSJérôme Duval #include <stdio.h>
18*ade5efaeSJérôme Duval 
19*ade5efaeSJérôme Duval struct tablet_device;
20*ade5efaeSJérôme Duval 
21*ade5efaeSJérôme Duval class EasyPenInputDevice : public BInputServerDevice {
22*ade5efaeSJérôme Duval public:
23*ade5efaeSJérôme Duval 	EasyPenInputDevice();
24*ade5efaeSJérôme Duval 	~EasyPenInputDevice();
25*ade5efaeSJérôme Duval 
26*ade5efaeSJérôme Duval 	virtual status_t InitCheck();
27*ade5efaeSJérôme Duval 
28*ade5efaeSJérôme Duval 	virtual status_t Start(const char *name, void *cookie);
29*ade5efaeSJérôme Duval 	virtual status_t Stop(const char *name, void *cookie);
30*ade5efaeSJérôme Duval 
31*ade5efaeSJérôme Duval 	virtual status_t Control(const char *name, void *cookie,
32*ade5efaeSJérôme Duval 							 uint32 command, BMessage *message);
33*ade5efaeSJérôme Duval private:
34*ade5efaeSJérôme Duval 	static int32 DeviceWatcher(void *arg);
35*ade5efaeSJérôme Duval 
36*ade5efaeSJérôme Duval 	BList fDevices;
37*ade5efaeSJérôme Duval 	bigtime_t fClickSpeed;
38*ade5efaeSJérôme Duval #ifdef DEBUG
39*ade5efaeSJérôme Duval public:
40*ade5efaeSJérôme Duval 	static FILE *sLogFile;
41*ade5efaeSJérôme Duval #endif
42*ade5efaeSJérôme Duval };
43*ade5efaeSJérôme Duval 
44*ade5efaeSJérôme Duval extern "C" BInputServerDevice *instantiate_input_device();
45*ade5efaeSJérôme Duval 
46*ade5efaeSJérôme Duval #endif
47*ade5efaeSJérôme Duval 
48