@class SCRCTargetSelectorTimer; @protocol SCRCGestureFactoryCallback; @interface SCRCGestureFactory : NSObject { double _stallDistance; double _maxDimension; double _thumbRegion; long long _orientation; long long _directions[7]; struct { double horizontal; double vertical; } _axisFlipper; double _scaledTrackingDistance; BOOL _setTrackingTimer; double _flickVelocityThreshold; double _tapVelocityThreshold; double _echoWaitTime; struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } _tapSpeedRegion; double _tapVelocityThresholdForRegion; long long _tapSpeedFingerCount; BOOL _inTapSpeedRegionForDownEvent; struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } _mainFrame; struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } _gutterFrame; double _lastTime; double _lastDownTime; double _lastGutterDownTime; double _lastDegrees; double _startDegrees; double _startDistance; double _potentialTrackingStartTimestamp; BOOL _requireUp; long long _state; long long _direction; double _directionalSlope; struct SCRCFingerState { unsigned long long identifier; long long xDirection; long long yDirection; struct SCRCMathAverageValue { unsigned int samples; double fifo[50]; int fifoIndex; double sum; double average; double current; } normalizedVelocityPerSample; struct SCRCMathAverageValue { unsigned int samples; double fifo[50]; int fifoIndex; double sum; double average; double current; } deltaXPerSample; struct SCRCMathAverageValue { unsigned int samples; double fifo[50]; int fifoIndex; double sum; double average; double current; } deltaYPerSample; struct SCRCMathAverageValue { unsigned int samples; double fifo[50]; int fifoIndex; double sum; double average; double current; } distancePerSample; double distanceTraveledWithInertiaApplied; BOOL dragStalled; long long type; struct CGPoint { double x; double y; } startTouchPoint; struct CGPoint { double x; double y; } mostRecentTouchPoint; struct CGPoint { double x; double y; } lastDownPoint; double pressure; double altitude; double azimuth; } _finger[2]; unsigned long long _absoluteFingerCount; unsigned short _fingerCount; unsigned short _lastFingerCount; double _distance; unsigned long long _tapCount; struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } _tapFrame; struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } _tapMultiFrame; id _trackDelegate; id _tapDelegate; id _gutterUpDelegate; id _splitTapDelegate; id _canSplitTapDelegate; id _didBeginSplitGestureDelegate; SCRCTargetSelectorTimer *_trackingTimer; struct { BOOL isFingerCurrentlyDown; BOOL dead; BOOL gutterHasBeenTouched; unsigned long long numFingersInCurrentGestureEvent; unsigned long long totalNumFingersInGesture; unsigned long long count; struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } frame; struct CGPoint { double x; double y; } location[8]; struct CGPoint { double x; double y; } locationPerTap[8]; double thisTime; double lastTime; } _tap; SCRCTargetSelectorTimer *_tapTimer; SCRCTargetSelectorTimer *_gutterUpTimer; SCRCGestureFactory *_splitFactory; struct { BOOL isSplitting; BOOL isTapping; BOOL fastTrack; BOOL tapDead; BOOL timedOut; BOOL active; BOOL didNotify; unsigned long long fingerIdentifier; double fingerDownTime; struct CGPoint { double x; double y; } startTapLocation; struct CGPoint { double x; double y; } lastTapLocation; struct CGPoint { double x; double y; } primaryFingerLocation; double tapDistance; long long state; } _split; } @property (nonatomic) BOOL thumbRejectionEnabled; - (void)_handleTap; - (long long)direction; - (void)setOrientation:(long long)a0; - (void)reset; - (void)dealloc; - (struct CGPoint { double x0; double x1; })rawLocation; - (double)velocity; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })mainFrame; - (double)distance; - (unsigned long long)tapCount; - (void).cxx_destruct; - (long long)orientation; - (struct CGPoint { double x0; double x1; })endLocation; - (double)vector; - (struct CGPoint { double x0; double x1; })startLocation; - (unsigned long long)fingerCount; - (long long)gestureState; - (void)_up; - (struct CGPoint { double x0; double x1; })tapPoint; - (struct { long long x0; long long x1; double x2; double x3; double x4; double x5; unsigned long long x6; unsigned long long x7; unsigned long long x8; BOOL x9; struct CGPoint { double x0; double x1; } x10; double x11; double x12; double x13; struct CGPoint { double x0; double x1; } x14; struct CGPoint { double x0; double x1; } x15; struct CGPoint { double x0; double x1; } x16; struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } x17; struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } x18; struct CGPoint { double x0; double x1; } x19; struct CGPoint { double x0; double x1; } x20; double x21; })handleGestureEvent:(id)a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_currentTapRect; - (void)_handleGutterUp; - (BOOL)_handleSplitTap; - (void)_updateTapState; - (void)_down:(id)a0; - (void)_drag:(id)a0; - (void)_enterTrackingMode:(id)a0; - (BOOL)_handleSplitEvent:(id)a0; - (void)_processUpAndPost:(BOOL)a0; - (void)_resetSplit; - (void)_updateMultiTapFrame; - (void)_updateStartWithPoint:(struct CGPoint { double x0; double x1; })a0 time:(double)a1; - (unsigned long long)absoluteFingerCount; - (struct { long long x0; long long x1; double x2; double x3; double x4; double x5; unsigned long long x6; unsigned long long x7; unsigned long long x8; BOOL x9; struct CGPoint { double x0; double x1; } x10; double x11; double x12; double x13; struct CGPoint { double x0; double x1; } x14; struct CGPoint { double x0; double x1; } x15; struct CGPoint { double x0; double x1; } x16; struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } x17; struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } x18; struct CGPoint { double x0; double x1; } x19; struct CGPoint { double x0; double x1; } x20; double x21; })captureCurrentState; - (double)directionalSlope; - (double)firstFingerAltitude; - (double)firstFingerAzimuth; - (double)firstFingerPressure; - (double)flickSpeed; - (id)gestureStateString; - (id)initWithSize:(struct CGSize { double x0; double x1; })a0 delegate:(id)a1; - (id)initWithSize:(struct CGSize { double x0; double x1; })a0 delegate:(id)a1 threadKey:(id)a2; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })multiTapFrame; - (struct CGPoint { double x0; double x1; })rawAverageLocation; - (void)setFlickSpeed:(double)a0; - (void)setTapSpeed:(double)a0; - (void)setTapSpeedTimeThreshold:(double)a0 forRegion:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 fingerCount:(long long)a2; - (struct CGPoint { double x0; double x1; })splitTapPrimaryFingerPoint; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })tapFrame; - (double)tapInterval; - (BOOL)tapIsDown; - (struct CGPoint { double x0; double x1; })tapPointWeightedToSides; - (double)tapSpeed; @end