luxlabs header browser preview


@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