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 (GDK_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  * Since: 3.22
52  */
53 typedef enum {
54   GDK_DEVICE_TOOL_TYPE_UNKNOWN,
55   GDK_DEVICE_TOOL_TYPE_PEN,
56   GDK_DEVICE_TOOL_TYPE_ERASER,
57   GDK_DEVICE_TOOL_TYPE_BRUSH,
58   GDK_DEVICE_TOOL_TYPE_PENCIL,
59   GDK_DEVICE_TOOL_TYPE_AIRBRUSH,
60   GDK_DEVICE_TOOL_TYPE_MOUSE,
61   GDK_DEVICE_TOOL_TYPE_LENS,
62 } GdkDeviceToolType;
63 
64 GDK_AVAILABLE_IN_3_22
65 GType gdk_device_tool_get_type (void) G_GNUC_CONST;
66 
67 GDK_AVAILABLE_IN_3_22
68 guint64 gdk_device_tool_get_serial (GdkDeviceTool *tool);
69 
70 GDK_AVAILABLE_IN_3_22
71 guint64 gdk_device_tool_get_hardware_id (GdkDeviceTool *tool);
72 
73 GDK_AVAILABLE_IN_3_22
74 GdkDeviceToolType gdk_device_tool_get_tool_type (GdkDeviceTool *tool);
75 
76 G_END_DECLS
77 
78 #endif /* __GDK_DEVICE_TOOL_H__ */
79