@class NSUndoManager, UIView, CADisplayLink, DKDrawingStroke, NSString, NSMutableArray, DKDrawing, DKPointSmoothing, UIColor; @protocol DKInkViewRenderDelegate, DKInkRenderer; @interface DKInkView : UIView <DKInkRendererDelegate> { struct CGPoint { double x; double y; } _lastPoint; double _lastTouchTime; struct CGPoint { double x; double y; } _velocityInWindow; id _trackingTouchID; id /* block */ _animationCompletionHandler; } @property (retain, nonatomic) UIView<DKInkRenderer> *renderer; @property (retain, nonatomic) DKDrawingStroke *currentBrushStroke; @property (retain, nonatomic) NSMutableArray *currentInterpolatedBrushStroke; @property (retain, nonatomic) NSMutableArray *cachedInterpolatedBrushStrokes; @property (nonatomic) double currentWeight; @property unsigned long long totalPointsAdded; @property struct CGPoint { double x; double y; } strokeStartLocation; @property struct CGPoint { double x; double y; } strokeLastLocation; @property double strokeStartTime; @property BOOL isAddingPointWithoutSmoothing; @property (nonatomic) void /* unknown type, empty encoding */ lastVectorPoint; @property (retain, nonatomic) DKPointSmoothing *inputFIFO; @property (nonatomic) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } aggregateInvalid; @property (nonatomic) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } unionDrawingRect; @property (nonatomic) unsigned long long animationType; @property (retain, nonatomic) NSMutableArray *cachedInterpolatedAnimationPoints; @property (retain, nonatomic) NSMutableArray *cachedInterpolatedAnimationStrokes; @property (retain, nonatomic) NSMutableArray *computedAnimationFrames; @property (nonatomic) double drawingScale; @property (retain, nonatomic) CADisplayLink *displayLink; @property (retain, nonatomic) NSUndoManager *strokeUndoManager; @property (nonatomic) unsigned long long mode; @property (nonatomic) BOOL scaleDrawingToFitCanvas; @property (nonatomic) BOOL allowInput; @property (readonly, nonatomic) long long countOfCurrentStroke; @property (readonly, nonatomic) BOOL canvasHasInk; @property (readonly, nonatomic) BOOL trackingTouches; @property (readonly, nonatomic) BOOL isRenderingPaused; @property (weak, nonatomic) id<DKInkViewRenderDelegate> renderPreviewDelegate; @property (nonatomic) unsigned long long renderPreviewMode; @property (readonly, nonatomic) struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } inkBounds; @property (retain, nonatomic) UIColor *strokeColor; @property (nonatomic) double minPressure; @property (nonatomic) double maxPressure; @property (nonatomic) double minThickness; @property (nonatomic) double maxThickness; @property (copy, nonatomic) DKDrawing *currentDrawing; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (double)lengthOfVector:(struct CGVector { double x0; double x1; })a0; + (BOOL)gpuAvailable; + (struct CGVector { double x0; double x1; })normalizeVector:(struct CGVector { double x0; double x1; })a0; + (struct CGPoint { double x0; double x1; })normalizeVectorPoint:(struct CGPoint { double x0; double x1; })a0; + (double)windowBackingScaleFactor:(id)a0; - (void)willMoveToSuperview:(id)a0; - (void)_display; - (void)clear; - (void)touchesCancelled:(id)a0 withEvent:(id)a1; - (void)willMoveToWindow:(id)a0; - (void)dealloc; - (void)teardown; - (id)initWithFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void)didMoveToSuperview; - (void)setFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void)touchesBegan:(id)a0 withEvent:(id)a1; - (void)setHidden:(BOOL)a0; - (void).cxx_destruct; - (void)touchesEnded:(id)a0 withEvent:(id)a1; - (void)layoutSubviews; - (void)touchesMoved:(id)a0 withEvent:(id)a1; - (id)initWithCoder:(id)a0; - (void)_commonInit; - (void)didMoveToWindow; - (void)_stopDisplayLink; - (void)_startDisplayLink; - (void)setupRenderer; - (void)continueStroke:(SEL)a0; - (void)resumeRendering; - (void)terminateStroke; - (double)weightForTouch:(id)a0; - (void)continueStrokeWithoutSmoothing:(SEL)a0; - (double)weightForValue:(double)a0; - (void)_addUninterpolatedPoints:(void *)a0 controlPoint:(void *)a1 count:(unsigned long long)a2 flushing:(BOOL)a3; - (void)_computeAnimationFramesFittingInMaxDuration:(double)a0; - (BOOL)_deviceSupportsGL; - (void)_notifyRenderDelegate; - (void)_postTouchesBeganNotification:(struct CGPoint { double x0; double x1; })a0; - (void)_postTouchesEndedNotification:(struct CGPoint { double x0; double x1; })a0; - (void)_renderEmittedPoints:(void *)a0 count:(unsigned long long)a1; - (void)_replayAnimationTick:(id)a0; - (void)_setDrawingOnRenderer:(id)a0; - (void)_setDrawingOnRendererWithBleedAnimation:(id)a0; - (void)_setDrawingOnRendererWithReplayAnimation:(id)a0; - (void)_undoLastStroke:(id)a0; - (void)_updateVelocityWithTouch:(id)a0 average:(BOOL)a1; - (void /* unknown type, empty encoding */)_vector4ForTouchSettingWeightAndVelocity:(id)a0 average:(BOOL)a1; - (struct CGPoint { double x0; double x1; })_velocityForTouch:(id)a0; - (BOOL)ak_forceAvailableForTouch:(id)a0; - (void)handleCoalescedTouches:(id)a0 forTouch:(id)a1 average:(BOOL)a2; - (void)inkDidCompleteRender:(id)a0; - (void)inkDidRender:(id)a0; - (double)interfaceScale; - (void)pauseRendering; - (void)setCurrentDrawing:(id)a0 scaleDrawingToFitBounds:(BOOL)a1 withAnimationType:(unsigned long long)a2 animationCompletionHandler:(id /* block */)a3; - (id)snapshotRendererState; - (void)startStroke:(SEL)a0; - (void)undoLastStroke; @end