1 /* GTK - The GIMP Toolkit
2  * Copyright (C) 2014, Red Hat, Inc.
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(s): Carlos Garnacho <carlosg@gnome.org>
18  */
19 #ifndef __GTK_GESTURE_PRIVATE_H__
20 #define __GTK_GESTURE_PRIVATE_H__
21 
22 #include "gtkeventcontrollerprivate.h"
23 #include "gtkgesture.h"
24 
25 struct _GtkGesture
26 {
27   GtkEventController parent_instance;
28 };
29 
30 struct _GtkGestureClass
31 {
32   GtkEventControllerClass parent_class;
33 
34   gboolean (* check)  (GtkGesture       *gesture);
35 
36   void     (* begin)  (GtkGesture       *gesture,
37                        GdkEventSequence *sequence);
38   void     (* update) (GtkGesture       *gesture,
39                        GdkEventSequence *sequence);
40   void     (* end)    (GtkGesture       *gesture,
41                        GdkEventSequence *sequence);
42 
43   void     (* cancel) (GtkGesture       *gesture,
44                        GdkEventSequence *sequence);
45 
46   void     (* sequence_state_changed) (GtkGesture            *gesture,
47                                        GdkEventSequence      *sequence,
48                                        GtkEventSequenceState  state);
49 
50   /*< private >*/
51   gpointer padding[10];
52 };
53 
54 
55 G_BEGIN_DECLS
56 
57 gboolean _gtk_gesture_check                  (GtkGesture       *gesture);
58 
59 gboolean _gtk_gesture_handled_sequence_press (GtkGesture       *gesture,
60                                               GdkEventSequence *sequence);
61 
62 gboolean _gtk_gesture_get_pointer_emulating_sequence
63                                                 (GtkGesture        *gesture,
64                                                  GdkEventSequence **sequence);
65 
66 gboolean _gtk_gesture_cancel_sequence        (GtkGesture       *gesture,
67                                               GdkEventSequence *sequence);
68 
69 gboolean _gtk_gesture_get_last_update_time   (GtkGesture       *gesture,
70                                               GdkEventSequence *sequence,
71                                               guint32          *evtime);
72 
73 G_END_DECLS
74 
75 #endif /* __GTK_GESTURE_PRIVATE_H__ */
76