1 /* GDK - The GIMP Drawing Kit
2  * Copyright (C) 2009 Carlos Garnacho <carlosg@gnome.org>
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 #ifndef __GDK_DEVICE_TOOL_H__
19 #define __GDK_DEVICE_TOOL_H__
20 
21 #if !defined (__GDK_H_INSIDE__) && !defined (GTK_COMPILATION)
22 #error "Only <gdk/gdk.h> can be included directly."
23 #endif
24 
25 #include <gdk/gdkversionmacros.h>
26 #include <gdk/gdktypes.h>
27 
28 
29 G_BEGIN_DECLS
30 
31 #define GDK_TYPE_DEVICE_TOOL    (gdk_device_tool_get_type ())
32 #define GDK_DEVICE_TOOL(o)      (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_DEVICE_TOOL, GdkDeviceTool))
33 #define GDK_IS_DEVICE_TOOL(o)   (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_DEVICE_TOOL))
34 
35 typedef struct _GdkDeviceTool GdkDeviceTool;
36 
37 /**
38  * GdkDeviceToolType:
39  * @GDK_DEVICE_TOOL_TYPE_UNKNOWN: Tool is of an unknown type.
40  * @GDK_DEVICE_TOOL_TYPE_PEN: Tool is a standard tablet stylus.
41  * @GDK_DEVICE_TOOL_TYPE_ERASER: Tool is standard tablet eraser.
42  * @GDK_DEVICE_TOOL_TYPE_BRUSH: Tool is a brush stylus.
43  * @GDK_DEVICE_TOOL_TYPE_PENCIL: Tool is a pencil stylus.
44  * @GDK_DEVICE_TOOL_TYPE_AIRBRUSH: Tool is an airbrush stylus.
45  * @GDK_DEVICE_TOOL_TYPE_MOUSE: Tool is a mouse.
46  * @GDK_DEVICE_TOOL_TYPE_LENS: Tool is a lens cursor.
47  *
48  * Indicates the specific type of tool being used being a tablet. Such as an
49  * airbrush, pencil, etc.
50  */
51 typedef enum {
52   GDK_DEVICE_TOOL_TYPE_UNKNOWN,
53   GDK_DEVICE_TOOL_TYPE_PEN,
54   GDK_DEVICE_TOOL_TYPE_ERASER,
55   GDK_DEVICE_TOOL_TYPE_BRUSH,
56   GDK_DEVICE_TOOL_TYPE_PENCIL,
57   GDK_DEVICE_TOOL_TYPE_AIRBRUSH,
58   GDK_DEVICE_TOOL_TYPE_MOUSE,
59   GDK_DEVICE_TOOL_TYPE_LENS,
60 } GdkDeviceToolType;
61 
62 GDK_AVAILABLE_IN_ALL
63 GType               gdk_device_tool_get_type        (void) G_GNUC_CONST;
64 
65 GDK_AVAILABLE_IN_ALL
66 guint64             gdk_device_tool_get_serial      (GdkDeviceTool *tool);
67 
68 GDK_AVAILABLE_IN_ALL
69 guint64             gdk_device_tool_get_hardware_id (GdkDeviceTool *tool);
70 
71 GDK_AVAILABLE_IN_ALL
72 GdkDeviceToolType   gdk_device_tool_get_tool_type   (GdkDeviceTool *tool);
73 
74 GDK_AVAILABLE_IN_ALL
75 GdkAxisFlags        gdk_device_tool_get_axes        (GdkDeviceTool *tool);
76 
77 G_END_DECLS
78 
79 #endif /* __GDK_DEVICE_TOOL_H__ */
80