1 /* gtkshortcutsshortcutprivate.h
2  *
3  * Copyright (C) 2015 Christian Hergert <christian@hergert.me>
4  *
5  *  This library is free software; you can redistribute it and/or
6  *  modify it under the terms of the GNU Library General Public License as
7  *  published by the Free Software Foundation; either version 2 of the
8  *  License, or (at your option) any later version.
9  *
10  *  This library is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  *  Library General Public License for more details.
14  *
15  *  You should have received a copy of the GNU Library General Public
16  *  License along with this library. If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 #ifndef GTK_SHORTCUTS_SHORTCUT_H
20 #define GTK_SHORTCUTS_SHORTCUT_H
21 
22 #include <gtk/gtk.h>
23 
24 G_BEGIN_DECLS
25 
26 #define GTK_TYPE_SHORTCUTS_SHORTCUT (gtk_shortcuts_shortcut_get_type())
27 #define GTK_SHORTCUTS_SHORTCUT(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_SHORTCUTS_SHORTCUT, GtkShortcutsShortcut))
28 #define GTK_SHORTCUTS_SHORTCUT_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_SHORTCUTS_SHORTCUT, GtkShortcutsShortcutClass))
29 #define GTK_IS_SHORTCUTS_SHORTCUT(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_SHORTCUTS_SHORTCUT))
30 #define GTK_IS_SHORTCUTS_SHORTCUT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SHORTCUTS_SHORTCUT))
31 #define GTK_SHORTCUTS_SHORTCUT_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SHORTCUTS_SHORTCUT, GtkShortcutsShortcutClass))
32 
33 
34 typedef struct _GtkShortcutsShortcut      GtkShortcutsShortcut;
35 typedef struct _GtkShortcutsShortcutClass GtkShortcutsShortcutClass;
36 
37 /**
38  * GtkShortcutType:
39  * @GTK_SHORTCUT_ACCELERATOR:
40  *   The shortcut is a keyboard accelerator. The #GtkShortcutsShortcut:accelerator
41  *   property will be used.
42  * @GTK_SHORTCUT_GESTURE_PINCH:
43  *   The shortcut is a pinch gesture. GTK+ provides an icon and subtitle.
44  * @GTK_SHORTCUT_GESTURE_STRETCH:
45  *   The shortcut is a stretch gesture. GTK+ provides an icon and subtitle.
46  * @GTK_SHORTCUT_GESTURE_ROTATE_CLOCKWISE:
47  *   The shortcut is a clockwise rotation gesture. GTK+ provides an icon and subtitle.
48  * @GTK_SHORTCUT_GESTURE_ROTATE_COUNTERCLOCKWISE:
49  *   The shortcut is a counterclockwise rotation gesture. GTK+ provides an icon and subtitle.
50  * @GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_LEFT:
51  *   The shortcut is a two-finger swipe gesture. GTK+ provides an icon and subtitle.
52  * @GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_RIGHT:
53  *   The shortcut is a two-finger swipe gesture. GTK+ provides an icon and subtitle.
54  * @GTK_SHORTCUT_GESTURE:
55  *   The shortcut is a gesture. The #GtkShortcutsShortcut:icon property will be
56  *   used.
57  *
58  * GtkShortcutType specifies the kind of shortcut that is being described.
59  * More values may be added to this enumeration over time.
60  *
61  * Since: 3.20
62  */
63 typedef enum {
64   GTK_SHORTCUT_ACCELERATOR,
65   GTK_SHORTCUT_GESTURE_PINCH,
66   GTK_SHORTCUT_GESTURE_STRETCH,
67   GTK_SHORTCUT_GESTURE_ROTATE_CLOCKWISE,
68   GTK_SHORTCUT_GESTURE_ROTATE_COUNTERCLOCKWISE,
69   GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_LEFT,
70   GTK_SHORTCUT_GESTURE_TWO_FINGER_SWIPE_RIGHT,
71   GTK_SHORTCUT_GESTURE
72 } GtkShortcutType;
73 
74 GDK_AVAILABLE_IN_3_20
75 GType        gtk_shortcuts_shortcut_get_type (void) G_GNUC_CONST;
76 
77 G_END_DECLS
78 
79 #endif /* GTK_SHORTCUTS_SHORTCUT_H */
80