System/Library/Frameworks/PencilKit.framework
PKHoverController.h
@class PKInputPointWeightedAverageFilter, PKInputPointAltitudeAndAzimuthEdgeFilter, PKInputPointAltitudeAndAzimuthBucketingFilter, PKInputPointExtraLatencyFilter, UIView, NSString, UIHoverGestureRecognizer, PKInputPointAltitudeAndAzimuthZLimitFilter, NSTimer, PKInputPointPredictionFilter, NSAttributedString, NSArray, PKInputPointReduceFramerateFilter, CADisplayLink, PKInputPointAltitudeAndAzimuthNoiseFilter;
@protocol PKHoverControllerDelegate;
@interface PKHoverController : NSObject <PKPencilObserverGestureRecognizerDelegate, PKInputPointAltitudeAndAzimuthEdgeFilterDelegate> {
struct { unsigned char delegateSupportsDidBegin : 1; unsigned char delegateSupportsDidUpdate : 1; unsigned char delegateSupportsDidEnd : 1; unsigned char delegateSupportsDidLift : 1; unsigned char delegateSupportsHoldGestureMeanInputPointLatestInputPoint : 1; unsigned char delegateSupportsHoldGestureEnded : 1; unsigned char delegateSupportsIntentionalHoverWithDuration : 1; unsigned char delegateSupportsShouldBeActiveAt : 1; } _delegateFlags;
struct { unsigned char gestureSupportsAzimuth : 1; unsigned char gestureSupportsAltitude : 1; unsigned char gestureSupportsTimestamp : 1; unsigned char gestureSupportsZOffset : 1; } _gestureRecognizerFlags;
UIView *_view;
struct vector<PKInputPoint, std::allocator<PKInputPoint>> { struct *__begin_; struct *__end_; struct __compressed_pair<PKInputPoint *, std::allocator<PKInputPoint>> { struct *__value_; } __end_cap_; } _inputPoints;
BOOL _activeInputPoint;
BOOL _activeHoverHold;
BOOL _waitingForHoverHold;
double _waitingForHoverHoldTimestamp;
double _latestInputPointTimestamp;
double _latestHoldTimestamp;
double _latestInputPointSentTimestamp;
struct { union { struct CGPoint { double x; double y; } point; struct CGPoint { double x; double y; } location; } ; double force; double azimuth; double altitude; double velocity; double directionAngle; double zPosition; double timestamp; BOOL predicted; long long estimationUpdateIndex; double length; BOOL hasEstimatedAltitudeAndAzimuth; } _cachedLatestInputPoint;
struct CGPoint { double x; double y; } _latestHoldLocation;
double _latestHoldZPosition;
BOOL _didPauseOtherControllers;
BOOL _isPaused;
UIView *_hoverLabelView;
unsigned long long _currentInputPointCounter;
UIHoverGestureRecognizer *_gestureRecognizer;
NSTimer *_eventGeneratorTimer;
PKInputPointWeightedAverageFilter *_weightedAverageFilter;
PKInputPointAltitudeAndAzimuthNoiseFilter *_altitudeAndAzimuthNoiseFilter;
PKInputPointAltitudeAndAzimuthBucketingFilter *_altitudeAndAzimuthBucketingFilter;
PKInputPointAltitudeAndAzimuthZLimitFilter *_altitudeAndAzimuthZLimitFilter;
PKInputPointAltitudeAndAzimuthEdgeFilter *_altitudeAndAzimuthEdgeFilter;
PKInputPointExtraLatencyFilter *_extraLatencyFilter;
PKInputPointReduceFramerateFilter *_reduceFramerateFilter;
PKInputPointPredictionFilter *_predictionFilter;
NSArray *_allInputPointFilters;
double _intentionalHoverStartTimestamp;
double _intentionalHoverMinZValue;
double _intentionalHoverMaxZValue;
BOOL _didReceiveNewPointToPredict;
double _timestampForLatestGestureUpdate;
CADisplayLink *_displayLink;
BOOL _shouldShowHoverDebugLayer;
BOOL _hasSeenAnyHoverEvent;
BOOL _hasSeenAnyHoverEventWithAltitude;
BOOL _shouldLogHoverEvents;
BOOL _shouldGenerate120HzEvents;
id<PKHoverControllerDelegate> _delegate;
NSAttributedString *_currentLabel;
double _maximumTimeIntervalBetweenEvents;
}
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;
- (BOOL)gestureRecognizer:(id)a0 shouldReceiveTouch:(id)a1;
- (void)_resume:(id)a0;
- (id).cxx_construct;
- (BOOL)gestureRecognizer:(id)a0 shouldBeRequiredToFailByGestureRecognizer:(id)a1;
- (void).cxx_destruct;
- (BOOL)gestureRecognizer:(id)a0 shouldRequireFailureOfGestureRecognizer:(id)a1;
- (BOOL)gestureRecognizer:(id)a0 shouldRecognizeSimultaneouslyWithGestureRecognizer:(id)a1;
- (void)_pause:(id)a0;
- (void)_sendDidUpdate:(struct { union { struct CGPoint { double x0; double x1; } x0; struct CGPoint { double x0; double x1; } x1; } x0; double x1; double x2; double x3; double x4; double x5; double x6; double x7; BOOL x8; long long x9; double x10; BOOL x11; })a0;
- (void)_endIntentionalHoverTracking;
- (void)_handleHoverInputPoint:(struct { union { struct CGPoint { double x0; double x1; } x0; struct CGPoint { double x0; double x1; } x1; } x0; double x1; double x2; double x3; double x4; double x5; double x6; double x7; BOOL x8; long long x9; double x10; BOOL x11; })a0;
- (void)_hoverGesture:(id)a0;
- (void)_sendDidUpdateNow:(struct { union { struct CGPoint { double x0; double x1; } x0; struct CGPoint { double x0; double x1; } x1; } x0; double x1; double x2; double x3; double x4; double x5; double x6; double x7; BOOL x8; long long x9; double x10; BOOL x11; })a0;
- (void)_setupHoverGestureRecognizerInView:(id)a0;
- (void)_setupPredictorForNewPoint:(BOOL)a0;
- (void)_trackIntentionalHover:(struct { union { struct CGPoint { double x0; double x1; } x0; struct CGPoint { double x0; double x1; } x1; } x0; double x1; double x2; double x3; double x4; double x5; double x6; double x7; BOOL x8; long long x9; double x10; BOOL x11; })a0;
- (void)_triggerHoldGestureIfNecessary;
- (void)_updateInputPointFilters;
- (void)checkDidLiftAfterGestureEnd;
- (struct { union { struct CGPoint { double x0; double x1; } x0; struct CGPoint { double x0; double x1; } x1; } x0; double x1; double x2; double x3; double x4; double x5; double x6; double x7; BOOL x8; long long x9; double x10; BOOL x11; })currentInputPoint;
- (double)currentMovementSpeed;
- (void)hideLabel;
- (double)inputPointFilter:(id)a0 distanceToEdge:(struct { union { struct CGPoint { double x0; double x1; } x0; struct CGPoint { double x0; double x1; } x1; } x0; double x1; double x2; double x3; double x4; double x5; double x6; double x7; BOOL x8; long long x9; double x10; BOOL x11; })a1;
- (void)logInputPoint:(struct { union { struct CGPoint { double x0; double x1; } x0; struct CGPoint { double x0; double x1; } x1; } x0; double x1; double x2; double x3; double x4; double x5; double x6; double x7; BOOL x8; long long x9; double x10; BOOL x11; })a0;
- (void)updateCurrentInputPointWithInputPoint:(struct { union { struct CGPoint { double x0; double x1; } x0; struct CGPoint { double x0; double x1; } x1; } x0; double x1; double x2; double x3; double x4; double x5; double x6; double x7; BOOL x8; long long x9; double x10; BOOL x11; })a0;
- (void)vsync:(double)a0;
@end