update to 1.10.4
[profile/ivi/clutter.git] / clutter / x11 / clutter-input-device-core-x11.h
1 /*
2  * Clutter.
3  *
4  * An OpenGL based 'interactive canvas' library.
5  *
6  * Copyright © 2010, 2011  Intel Corp.
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with this library. If not, see <http://www.gnu.org/licenses/>.
20  *
21  * Author: Emmanuele Bassi <ebassi@linux.intel.com>
22  */
23
24 #ifndef __CLUTTER_INPUT_DEVICE_X11_H__
25 #define __CLUTTER_INPUT_DEVICE_X11_H__
26
27 #include <clutter/clutter-input-device.h>
28 #include <X11/Xlib.h>
29
30 #include "clutter-stage-x11.h"
31
32 G_BEGIN_DECLS
33
34 #define CLUTTER_TYPE_INPUT_DEVICE_X11           (_clutter_input_device_x11_get_type ())
35 #define CLUTTER_INPUT_DEVICE_X11(obj)           (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_INPUT_DEVICE_X11, ClutterInputDeviceX11))
36 #define CLUTTER_IS_INPUT_DEVICE_X11(obj)        (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_INPUT_DEVICE_X11))
37
38 typedef struct _ClutterInputDeviceX11           ClutterInputDeviceX11;
39
40 GType _clutter_input_device_x11_get_type (void) G_GNUC_CONST;
41
42 void _clutter_input_device_x11_set_keycodes (ClutterInputDeviceX11 *device_x11,
43                                              int                    min_keycode,
44                                              int                    max_keycode);
45 int _clutter_input_device_x11_get_min_keycode (ClutterInputDeviceX11 *device_x11);
46 int _clutter_input_device_x11_get_max_keycode (ClutterInputDeviceX11 *device_x11);
47
48 gboolean _clutter_input_device_x11_translate_xi_event (ClutterInputDeviceX11 *device_x11,
49                                                        ClutterStageX11       *stage_x11,
50                                                        XEvent                *xevent,
51                                                        ClutterEvent          *event);
52
53 G_END_DECLS
54
55 #endif /* __CLUTTER_INPUT_DEVICE_X11_H__ */