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
29G_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
35typedef 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 */
53typedef 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
64GDK_AVAILABLE_IN_3_22
65GType gdk_device_tool_get_type (void) G_GNUC_CONST;
66
67GDK_AVAILABLE_IN_3_22
68guint64 gdk_device_tool_get_serial (GdkDeviceTool *tool);
69
70GDK_AVAILABLE_IN_3_22
71guint64 gdk_device_tool_get_hardware_id (GdkDeviceTool *tool);
72
73GDK_AVAILABLE_IN_3_22
74GdkDeviceToolType gdk_device_tool_get_tool_type (GdkDeviceTool *tool);
75
76G_END_DECLS
77
78#endif /* __GDK_DEVICE_TOOL_H__ */
79