System/Library/PrivateFrameworks/DigitalTouchShared.framework
ETCanvasView.h
@class NSMutableDictionary, UIImageView, ETKissMessage, ETAngerMessage, UITapGestureRecognizer, AVPlayerLayer, UIColor, UIView, NSString, UILongPressGestureRecognizer, ETTapMessage, ETHeartbeatMessage, NSTimer, NSMutableSet, DTSSceneView, ETMessage, UITouch, SKScene, ETGLSketchView;
@protocol ETMessageTimeSource, ETCanvasViewDelegate;
@interface ETCanvasView : UIView <ETMessageDelegate, UIGestureRecognizerDelegate> {
NSMutableSet *_playingMessages;
ETGLSketchView *_currentSketchView;
ETTapMessage *_currentTaps;
ETHeartbeatMessage *_currentHeartbeat;
NSTimer *_heartbeatDurationTimer;
UILongPressGestureRecognizer *_heartbeatRecognizer;
struct CGPoint { double x; double y; } _heartbeatStartCenter;
double _lastActivityTimestamp;
double _touchesBeganTimestamp;
NSTimer *_sendMessageTimer;
NSTimer *_idleTimer;
BOOL _setAlwaysPaused;
unsigned short _messageType;
struct CGPoint { double x; double y; } _lastPt;
UITouch *_drawingTouch;
BOOL _drawingTouchStartedStroke;
double _drawingTouchMovedDistance;
struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } _ignoredTouchesRect;
BOOL _didIgnoreTouchesBegan;
BOOL _ignoreTouchesUntilAllTouchesEnded;
NSMutableSet *_touchesDown;
NSMutableDictionary *_messageIdentifierToDoodleView;
UITapGestureRecognizer *_tapRecognizer;
NSTimer *_fastTapAllowableMovementTimer;
double _lastFastTapTimestamp;
UITapGestureRecognizer *_kissRecognizer;
ETKissMessage *_currentKissMessage;
UILongPressGestureRecognizer *_angerRecognizer;
ETAngerMessage *_currentAnger;
NSTimer *_angerDurationLimitTimer;
double _wispDelay;
BOOL _sketchDidReachSizeLimit;
SKScene *_scene;
DTSSceneView *_sceneView;
UIImageView *_photoView;
UIView *_videoView;
AVPlayerLayer *_videoLayer;
}
@property (weak, nonatomic) id<ETCanvasViewDelegate> canvasDelegate;
@property (weak, nonatomic) id<ETMessageTimeSource> timeSource;
@property (retain, nonatomic) UIColor *drawingColor;
@property (nonatomic) BOOL canComposeHeartbeat;
@property (nonatomic) BOOL canComposeTap;
@property (nonatomic) BOOL canComposeKiss;
@property (nonatomic) BOOL canComposeAnger;
@property (readonly, nonatomic) BOOL isComposing;
@property (nonatomic) BOOL usesMediaAppearance;
@property (retain, nonatomic) ETMessage *parentMessage;
@property (nonatomic, getter=isPaused) BOOL paused;
@property (nonatomic) BOOL useFastVerticalWisp;
@property (nonatomic) BOOL angerUsesForceTouch;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;
- (void)touchesCancelled:(id)a0 withEvent:(id)a1;
- (void)willMoveToWindow:(id)a0;
- (void)dealloc;
- (void)traitCollectionDidChange:(id)a0;
- (id)initWithFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0;
- (BOOL)gestureRecognizerShouldBegin:(id)a0;
- (void)touchesBegan:(id)a0 withEvent:(id)a1;
- (void).cxx_destruct;
- (void)touchesEnded:(id)a0 withEvent:(id)a1;
- (void)layoutSubviews;
- (void)touchesMoved:(id)a0 withEvent:(id)a1;
- (void)_tapRecognized:(id)a0;
- (void)_updateVideoViewFrame;
- (void)_sendHeartbeat;
- (BOOL)_isTapTooRecentAfterKissGesture;
- (BOOL)_sketchesPaused;
- (BOOL)_tapsInProgress;
- (void)_angerDurationLimitTimerFired;
- (void)_angerRecognized:(id)a0;
- (double)_angleOfRotationBetweenTwoFingers:(id)a0;
- (void)_animateOutSketchView:(id)a0 withCompletion:(id /* block */)a1;
- (BOOL)_areRecognizersTrackingMultipleFingers;
- (BOOL)_canComposeExclusiveMessage;
- (void)_checkForIdle;
- (void)_clearDoodleViewForMessage:(id)a0;
- (void)_clearSendMessageTimer;
- (void)_configureAngerRecognizer;
- (void)_createSketchViewWithColor:(id)a0 time:(double)a1 message:(id)a2;
- (void)_doodleEndedWithTouches:(id)a0 cancelled:(BOOL)a1;
- (void)_endMessage:(id)a0 withSend:(BOOL)a1;
- (void)_fastTapAllowableMovementTimerFired;
- (void)_heartbeatRecognized:(id)a0;
- (void)_hideAnger;
- (void)_hideHeartbeat;
- (void)_hideHeartbeatTimerFired;
- (void)_kissRecognized:(id)a0;
- (struct CGPoint { double x0; double x1; })_normalizedGesturePoint:(id)a0;
- (void)_sendAnger;
- (void)_sendKiss;
- (BOOL)_sendMessageTimerFired;
- (void)_sendSketch;
- (void)_sendTaps;
- (void)_setIsComposingMessageOfType:(unsigned short)a0;
- (void)_setSketchesPaused:(BOOL)a0;
- (void)_showAngerAtPoint:(struct CGPoint { double x0; double x1; })a0;
- (void)_showHeartbeatAtNormalizedPoint:(struct CGPoint { double x0; double x1; })a0 rotation:(double)a1;
- (BOOL)_sketchInProgress;
- (void)_startCheckForIdleTimer;
- (void)_startDoodleMessageCompositionAtTime:(double)a0;
- (void)_startFastTapAllowableMovementTimer;
- (void)_startSendMessageTimer;
- (void)_stopCheckForIdleTimer;
- (void)_updatePhotoViewFrame;
- (void)_updateRecognizersAtEndOfComposition;
- (struct CGPoint { double x0; double x1; })_viewPointNormalizedInSceneSpace:(struct CGPoint { double x0; double x1; })a0;
- (void)clearCanvasAnimated:(BOOL)a0;
- (id)composedSketchMessage;
- (void)endMessageComposition;
- (void)handleDotAtX:(float)a0 Y:(float)a1 color:(id)a2 time:(double)a3 isRemote:(BOOL)a4;
- (void)handlePanAtX:(float)a0 Y:(float)a1 color:(id)a2 time:(double)a3 state:(long long)a4 isRemote:(BOOL)a5;
- (void)handleTapAtX:(float)a0 Y:(float)a1 color:(id)a2 time:(double)a3 isRemote:(BOOL)a4;
- (void)hidePhoto;
- (void)hideVideo;
- (BOOL)isComposingHeartbeat;
- (BOOL)isComposingSketch;
- (void)messageDidStopPlaying:(id)a0;
- (void)messageWillReachSizeLimit:(id)a0;
- (void)messageWillStopPlaying:(id)a0;
- (void)playMessage:(id)a0;
- (void)playTestStrokeWithColor:(id)a0 duration:(double)a1;
- (void)sendCurrentMessage;
- (void)setAlwaysPaused:(BOOL)a0;
- (void)setForceTouchEnabled:(BOOL)a0;
- (void)showPhotoForImage:(id)a0;
- (void)showVideoForPlayer:(id)a0;
- (void)startDoodleMessageComposition;
- (void)updateCurrentMessageWithHeartRate:(unsigned long long)a0;
- (void)updateIgnoredTouchesRectForStatusBarSize:(struct CGSize { double x0; double x1; })a0;
- (void)wispVisibleSketchViewsWithCompletion:(id /* block */)a0;
@end