Open Inventor Release 2024.2.1
 
Loading...
Searching...
No Matches
SoDoubleTapGestureRecognizer.h
1/*=======================================================================
2 * Copyright 1991-1996, Silicon Graphics, Inc.
3 * ALL RIGHTS RESERVED
4 *
5 * UNPUBLISHED -- Rights reserved under the copyright laws of the United
6 * States. Use of a copyright notice is precautionary only and does not
7 * imply publication or disclosure.
8 *
9 * U.S. GOVERNMENT RESTRICTED RIGHTS LEGEND:
10 * Use, duplication or disclosure by the Government is subject to restrictions
11 * as set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights
12 * in Technical Data and Computer Software clause at DFARS 252.227-7013 and/or
13 * in similar or successor clauses in the FAR, or the DOD or NASA FAR
14 * Supplement. Contractor/manufacturer is Silicon Graphics, Inc.,
15 * 2011 N. Shoreline Blvd. Mountain View, CA 94039-7311.
16 *
17 * THE CONTENT OF THIS WORK CONTAINS CONFIDENTIAL AND PROPRIETARY
18 * INFORMATION OF SILICON GRAPHICS, INC. ANY DUPLICATION, MODIFICATION,
19 * DISTRIBUTION, OR DISCLOSURE IN ANY FORM, IN WHOLE, OR IN PART, IS STRICTLY
20 * PROHIBITED WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SILICON
21 * GRAPHICS, INC.
22**=======================================================================*/
23/*=======================================================================
24** Author : ... (MMM yyyy)
25** Modified by : ... (MMM yyyy)
26**=======================================================================*/
27/*=======================================================================
28 *** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
29 *** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
30 *** ***
31 *** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
32 *** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
33 *** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
34 *** ***
35 *** RESTRICTED RIGHTS LEGEND ***
36 *** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
37 *** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
38 *** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
39 *** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
40 *** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
41 *** ***
42 *** COPYRIGHT (C) 1996-2024 BY FEI S.A.S, ***
43 *** BORDEAUX, FRANCE ***
44 *** ALL RIGHTS RESERVED ***
45**=======================================================================*/
46/*=======================================================================
47** Modified by : VSG (MMM YYYY)
48**=======================================================================*/
49
50#ifndef _SO_DOUBLE_TAP_GESTURE_RECOGNIZER_
51#define _SO_DOUBLE_TAP_GESTURE_RECOGNIZER_
52
53#include <Inventor/SbBasic.h>
54#include <Inventor/events/SoSubEvent.h>
55#include <Inventor/gestures/recognizers/SoGestureRecognizer.h>
56#include <Inventor/gestures/events/SoDoubleTapGestureEvent.h>
57#include <Inventor/touch/SoTouchManager.h>
58
87public :
88
93
98
104 SoEvent* recognize(SoEvent* touchEvent);
105
110
116
121 int getSpatialRestriction(void) const;
122
127
133
139
140private:
141
142 SbTime m_maximumDurationBetweenTap;
143 SbTime m_maximumTapDuration;
144
145 SbVec2f m_firstTapPosition;
146
147 int m_spatialRestriction;
148 SbTime m_lastTap;
149 unsigned long m_id;
150
151 bool m_inProgress;
152 bool m_secondTapInProgress;
153 bool m_firstTapDone;
154
155 SoDoubleTapGestureEvent m_returnedEvent;
156};
157
158#endif /* _SO_DOUBLE_TAP_GESTURE_RECOGNIZER_ */
159
Class for representation of a time.
Definition SbTime.h:91
2D vector class.
Definition SbVec.h:76
Class for double-tap gesture events.
Double tap gesture recognizer.
SoEvent * recognize(SoEvent *touchEvent)
If a double tap gesture is recognized, returns an SoDoubleTapGestureEvent, else returns null.
void setSpatialRestriction(int c)
Sets the radius of limitation circle in which the finger has to stay throughout the gesture.
void setMaximumDurationBetweenTap(SbTime t)
Sets the maximum time that can elapse between the two taps of a double tap.
SbTime getMaximumTapDuration() const
Gets tap maximum duration (1.0 seconds by default).
int getSpatialRestriction(void) const
Gets the radius of limitation circle in which the finger has to stay throughout the gesture (60 pixel...
SbTime getMaximumDurationBetweenTap() const
Gets the maximum time that can elapse between the two taps of a double tap.
void setMaximumTapDuration(SbTime time)
Sets tap maximum duration (1.0 seconds by default).
virtual ~SoDoubleTapGestureRecognizer()
Destructor.
SoDoubleTapGestureRecognizer()
Constructor.
Base class for all events.
Definition SoEvent.h:116
Base class for all gesture recognizers.