800b0714d4582e59314838d3c5fb3a660342f68c
[apps/livebox/data-provider-master.git] / include / event.h
1 /*
2  * Copyright 2013  Samsung Electronics Co., Ltd
3  *
4  * Licensed under the Flora License, Version 1.1 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://floralicense.org/license/
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 struct event_data {
18         int x;
19         int y;
20         unsigned int keycode;
21         int device;
22         int slot;
23         struct {
24                 int major;
25                 int minor;
26         } touch;
27         struct {
28                 int major;
29                 int minor;
30         } width;
31         int distance;   /* Hovering */
32 #if defined(_USE_ECORE_TIME_GET)
33         double tv;
34 #else
35         struct timeval tv;
36 #endif
37 };
38
39 enum event_state {
40         EVENT_STATE_DEACTIVATED,
41         EVENT_STATE_ACTIVATE,
42         EVENT_STATE_ACTIVATED,
43         EVENT_STATE_DEACTIVATE,
44         EVENT_STATE_ERROR
45 };
46
47 extern int event_init(void);
48 extern int event_fini(void);
49 extern int event_activate(int x, int y, int (*event_cb)(enum event_state state, struct event_data *event, void *data), void *data);
50 extern int event_deactivate(int (*event_cb)(enum event_state state, struct event_data *event, void *data), void *data);
51 extern int event_is_activated(void);
52
53 /* End of a file */