1 /* GDK - The GIMP Drawing Kit 2 * Copyright (C) 2016 Red Hat 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 * Author: Carlos Garnacho <carlosg@gnome.org> 18 */ 19 20 #ifndef __GDK_DEVICE_PAD_H__ 21 #define __GDK_DEVICE_PAD_H__ 22 23 #if !defined (__GDK_H_INSIDE__) && !defined (GTK_COMPILATION) 24 #error "Only <gdk/gdk.h> can be included directly." 25 #endif 26 27 #include <gdk/gdkversionmacros.h> 28 #include <gdk/gdktypes.h> 29 30 G_BEGIN_DECLS 31 32 #define GDK_TYPE_DEVICE_PAD (gdk_device_pad_get_type ()) 33 #define GDK_DEVICE_PAD(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_DEVICE_PAD, GdkDevicePad)) 34 #define GDK_IS_DEVICE_PAD(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_DEVICE_PAD)) 35 36 typedef struct _GdkDevicePad GdkDevicePad; 37 typedef struct _GdkDevicePadInterface GdkDevicePadInterface; 38 39 /** 40 * GdkDevicePadFeature: 41 * @GDK_DEVICE_PAD_FEATURE_BUTTON: a button 42 * @GDK_DEVICE_PAD_FEATURE_RING: a ring-shaped interactive area 43 * @GDK_DEVICE_PAD_FEATURE_STRIP: a straight interactive area 44 * 45 * A pad feature. 46 */ 47 typedef enum { 48 GDK_DEVICE_PAD_FEATURE_BUTTON, 49 GDK_DEVICE_PAD_FEATURE_RING, 50 GDK_DEVICE_PAD_FEATURE_STRIP 51 } GdkDevicePadFeature; 52 53 GDK_AVAILABLE_IN_ALL 54 GType gdk_device_pad_get_type (void) G_GNUC_CONST; 55 56 GDK_AVAILABLE_IN_ALL 57 int gdk_device_pad_get_n_groups (GdkDevicePad *pad); 58 59 GDK_AVAILABLE_IN_ALL 60 int gdk_device_pad_get_group_n_modes (GdkDevicePad *pad, 61 int group_idx); 62 63 GDK_AVAILABLE_IN_ALL 64 int gdk_device_pad_get_n_features (GdkDevicePad *pad, 65 GdkDevicePadFeature feature); 66 67 GDK_AVAILABLE_IN_ALL 68 int gdk_device_pad_get_feature_group (GdkDevicePad *pad, 69 GdkDevicePadFeature feature, 70 int feature_idx); 71 72 G_END_DECLS 73 74 #endif /* __GDK_DEVICE_PAD_H__ */ 75