@class PKMetalFramebuffer, PKSelectionController, NSMutableArray, PKInk, NSMutableSet, UIImage, NSString, PKStrokeGenerator, PKRulerController, PKInterpolateColorAnimation, CAMetalLayer, PKDrawingPowerSavingController, UITouch, PKLinedPaper, PKDrawing, PKController, UIGestureRecognizer, PKAlternativeStrokesAnimation, CADisplayLink, PKShapeDrawingController, PKMetalView, PKMetalRendererController, UIColor, PKMetalConfig, NSUUID; @protocol PKDrawingGestureRecognizerProtocol, PKTiledCanvasViewDelegate; @interface PKTiledCanvasView : UIView <PKDrawingGestureRecognizerDelegate, PKControllerDelegate, PKShapeDrawingControllerDelegate, PKDrawingGestureTarget> { unsigned long long _numSkippedDoubleBufferedFrames; struct { unsigned char delegateSupportsDrawingDidChange : 1; unsigned char delegateSupportsWillBeginNewStrokeWithTouchLocation : 1; unsigned char delegateSupportsBeganStroke : 1; unsigned char delegateSupportsCancelledStroke : 1; unsigned char delegateSupportsEndedStroke : 1; unsigned char delegateSupportsEndedStrokeShapeStrokes : 1; unsigned char delegateSupportsWillBeginDrawing : 1; unsigned char delegateSupportsDidBeginDrawing : 1; unsigned char delegateSupportsDrawingMovedWithTouch : 1; unsigned char delegateSupportsReplayDrawingMovedInputPoint : 1; unsigned char delegateSupportsDidEndDrawing : 1; unsigned char delegateSupportsDidFinishRenderingNewStrokes : 1; unsigned char delegateSupportsShouldBeginDrawingWithTouch : 1; unsigned char delegateSupportsDidEraseStrokes : 1; unsigned char delegateSupportsRegisterUndoCommands : 1; unsigned long long delegateSupportsTouchView; unsigned char delegateSupportsDidPresentWithCanvasOffset : 1; unsigned char delegateSupportsInvalidateTiles : 1; unsigned char delegateSupportsHasVisibleStrokesChanged : 1; unsigned char delegateSupportsShouldDisableShapeRecognition : 1; unsigned char delegateSupportsInkForStroke : 1; unsigned char delegateSupportsTransformForStroke : 1; unsigned char delegateSupportsShouldDelayDrawingBeganWithTouch : 1; unsigned char delegateSupportsShouldCombineStrokes : 1; unsigned char delegateSupportsContentCoordinateSpace : 1; } _canvasViewFlags; NSMutableArray *_finishedStrokes; long long _liveInteractionCount; UITouch *_currentStrokeTouch; UIColor *_canvasBackgroundColor; id /* block */ _combineTimeoutBlock; double _inputScale; BOOL _isCombiningStrokes; unsigned long long _combiningStrokesCount; NSUUID *_combineStrokesRenderGroupID; NSUUID *_combineStrokesDrawingID; struct _UIUpdateSequenceItemInternal { } *_updateSequenceItem; PKStrokeGenerator *_fallbackStrokeGenerator; } @property (retain, nonatomic) PKMetalView *metalView; @property (retain, nonatomic) CADisplayLink *displayLink; @property (nonatomic) BOOL shouldPause; @property (nonatomic) BOOL isDrawing; @property (nonatomic) BOOL usePrivateResourceHandler; @property (nonatomic) BOOL singleComponent; @property (retain, nonatomic) PKMetalFramebuffer *snapshotFramebuffer; @property (nonatomic) struct CGSize { double width; double height; } _fixedPixelSize; @property (nonatomic) double _fixedDrawingScale; @property (nonatomic) long long maxNumPredictionPoints; @property double drawingStartTimestamp; @property (retain, nonatomic) PKDrawingPowerSavingController *powerSavingController; @property (copy, nonatomic) id /* block */ purgeResourcesBlock; @property (nonatomic) BOOL isPreviewing; @property (nonatomic) BOOL isErasingObjects; @property (nonatomic) struct CGPoint { double x; double y; } _oldEraseLocation; @property (retain, nonatomic) NSMutableArray *strokesToErase; @property (retain, nonatomic) NSMutableSet *strokeIDsToErase; @property (retain, nonatomic) NSMutableArray *particlesToDestinationAnimations; @property (retain, nonatomic) NSMutableArray *transformStrokesAnimations; @property (nonatomic) double liveAnimationStartTime; @property (retain, nonatomic) NSMutableArray *fadeOutStrokeAnimations; @property (retain, nonatomic) PKAlternativeStrokesAnimation *alternativeStrokesAnimation; @property (retain, nonatomic) NSMutableSet *strokeUUIDsAboutToBeRemoved; @property (retain, nonatomic) NSMutableArray *strokeRenderCachesToPurge; @property (retain, nonatomic) PKInterpolateColorAnimation *liveRenderingOverrideColorAnimation; @property (retain, nonatomic) PKShapeDrawingController *shapeDrawingController; @property (retain, nonatomic) PKInk *sixChannelInk; @property (nonatomic) BOOL hasSnapshot; @property (weak, nonatomic) id<PKTiledCanvasViewDelegate> delegate; @property (retain, nonatomic) PKLinedPaper *linedPaper; @property (retain, nonatomic) UIImage *paperTexture; @property (retain, nonatomic) PKDrawing *drawing; @property (retain, nonatomic) PKInk *ink; @property (retain, nonatomic) UIGestureRecognizer<PKDrawingGestureRecognizerProtocol> *drawingGestureRecognizer; @property (readonly, nonatomic) BOOL hasVisibleStrokes; @property (nonatomic) BOOL useLuminanceColorFilter; @property (nonatomic) BOOL sixChannelBlending; @property (nonatomic) BOOL drawBitmapEraserMask; @property (nonatomic) BOOL isUnderBlendedContent; @property (nonatomic) BOOL captureLiveData; @property (nonatomic) BOOL generateLiveDrawing; @property (retain, nonatomic) UIColor *liveRenderingOverrideColor; @property (readonly, nonatomic) PKController *_drawingController; @property (readonly, nonatomic) PKMetalRendererController *_rendererController; @property (readonly, nonatomic) CAMetalLayer *metalLayer; @property (weak, nonatomic) PKSelectionController *selectionController; @property (weak, nonatomic) PKRulerController *rulerController; @property (readonly, nonatomic) PKStrokeGenerator *strokeGenerator; @property (readonly, nonatomic) PKMetalConfig *metalConfig; @property (readonly, nonatomic) BOOL wantsCanvasVisible; @property (nonatomic) BOOL predictionDisabled; @property (nonatomic) double metalLayerContentsScaleOverride; @property (readonly, nonatomic) struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; } strokeTransform; @property (nonatomic) struct CGAffineTransform { double a; double b; double c; double d; double tx; double ty; } paperTransform; @property (nonatomic) BOOL enableCanvasOffsetSupport; @property (nonatomic) struct CGPoint { double x; double y; } canvasOffset; @property (nonatomic) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } viewScissor; @property (nonatomic) BOOL liveStrokeMode; @property (nonatomic) struct CGSize { double width; double height; } liveStrokeMaxSize; @property (readonly, nonatomic) struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } renderedStrokesBounds; @property (readonly, nonatomic) struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } visibleStrokesBounds; @property (nonatomic) unsigned long long resourceCacheSize; @property (nonatomic) BOOL disableAXDrawingAnnouncements; @property (readonly, nonatomic) PKDrawing *activeDrawing; @property (weak, nonatomic) PKDrawing *currentDrawingBeingCopiedToCanvas; @property (readonly, nonatomic) struct CGAffineTransform { double a; double b; double c; double d; double tx; double ty; } _replayCoordinateSystemTransform; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (void)initialize; + (void)setupDefaults; + (void)prewarmFutureCanvasesIfNecessarySecureRendering:(BOOL)a0 prewarmSharedResourceHandler:(BOOL)a1; - (void)_gestureRecognizerFailed:(id)a0; - (void)dealloc; - (void)setOpaque:(BOOL)a0; - (BOOL)gestureRecognizer:(id)a0 shouldReceiveTouch:(id)a1; - (id)initWithFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void)setupDisplayLink; - (BOOL)gestureRecognizer:(id)a0 shouldBeRequiredToFailByGestureRecognizer:(id)a1; - (void)setHidden:(BOOL)a0; - (void).cxx_destruct; - (void)layoutSubviews; - (void)_stopDisplayLink; - (void)_startDisplayLink; - (void)_didFinishHideCanvasTransaction; - (void)_postEndedErasingAXAnnouncement; - (id)currentStrokeWithStrokeDataCopy; - (void)drawingChanged:(id)a0; - (void)enumerateRenderedStrokesBounds:(id /* block */)a0; - (void)eraserCancelled; - (void)fadeOutAndHideStrokes:(id)a0 duration:(double)a1; - (void)_postBeganErasingAXAnnouncement; - (void)eraseStrokesForPoint:(struct CGPoint { double x0; double x1; })a0 prevPoint:(struct CGPoint { double x0; double x1; })a1; - (void)_callOptionalDrawingEndedCompletion:(id /* block */)a0 withStroke:(id)a1 shapeStrokes:(id)a2; - (id)_combineStrokesDrawingUUID; - (void)_didFinishErasingStrokes:(BOOL)a0; - (void)_drawingBegan:(id)a0 inputPoint:(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 locationInView:(struct CGPoint { double x0; double x1; })a2 forPreview:(BOOL)a3 disableDetachedRendering:(BOOL)a4 activeInputProperties:(unsigned long long)a5 inputType:(long long)a6; - (void)_drawingDisplay:(double)a0; - (void)_drawingEnded:(id)a0 estimatesTimeout:(double)a1 completion:(id /* block */)a2; - (void)_endAlternativeStrokeIfNecessaryAccepted:(BOOL)a0; - (void)_finishCombiningStrokesIfNecessary; - (void)_handleEndOfStroke:(id)a0 shapeStrokes:(id)a1 groupedUndoCommands:(id)a2 invalidateTiles:(BOOL)a3; - (BOOL)_hasStrokeTransformChanged; - (id)_inkForNewStroke; - (double)_inputScale; - (BOOL)_isCombiningStrokes; - (BOOL)_isLiveAnimating; - (BOOL)_isShapeRecognitionEnabled; - (struct CGSize { double x0; double x1; })_metalViewDrawableSize; - (void)_postAXAnnouncement:(id)a0; - (void)_postBeganSketchingAXAnnouncement; - (void)_postEndedSketchingAXAnnouncement; - (void)_previewDrawingBegan:(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 tiledViewLocation:(struct CGPoint { double x0; double x1; })a1 disableDetachedRendering:(BOOL)a2; - (void)_previewDrawingEnded; - (void)_previewDrawingMoved:(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 tiledViewLocation:(struct CGPoint { double x0; double x1; })a1; - (struct CGSize { double x0; double x1; })_rendererControllerPixelSize; - (void)_replayDrawingBegan:(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)_replayDrawingBegan:(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 coordinateSpace:(id)a1 activeInputProperties:(unsigned long long)a2 inputType:(long long)a3; - (void)_replayDrawingCancelled; - (void)_replayDrawingEnded; - (void)_replayDrawingEndedEstimatesTimeout:(double)a0 withBackgroundQueueCompletion:(id /* block */)a1; - (void)_replayDrawingEndedWithBackgroundQueueCompletion:(id /* block */)a0; - (void)_replayDrawingMoved:(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)_replayDrawingMoved:(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 coordinateSpace:(id)a1; - (void)_replayEstimatedPropertiesUpdated:(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)_setDrawing:(id)a0 tiles:(id)a1 image:(struct CGImage { } *)a2 tileTransform:(struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })a3 completionBlock:(id /* block */)a4; - (void)_setDrawing:(id)a0 tiles:(id)a1 tileTransform:(struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })a2 snapshotTexture:(id)a3 snapshotTextureTransform:(struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })a4 completionBlock:(id /* block */)a5; - (void)_setFixedPointSize:(struct CGSize { double x0; double x1; })a0 drawingScale:(double)a1; - (id)_strokeUUIDsForStrokes:(id)a0; - (id)_touchView; - (void)_updateMetalLayerOpacity; - (void)_updateMetalLayerOpacityForceNonOpaqueSixChannel:(BOOL)a0; - (void)adjustedPixelSize:(struct CGSize { double x0; double x1; } *)a0 drawingSize:(struct CGSize { double x0; double x1; } *)a1; - (void)animateStrokes:(id)a0 destinationFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 duration:(double)a2 particles:(BOOL)a3; - (struct CGPoint { double x0; double x1; })applyTransformToTouchLocation:(struct CGPoint { double x0; double x1; })a0; - (void)cancelCurrentStroke; - (void)cancelPurgeResourcesBlock; - (void)checkAnimationsDidEndAtTime:(double)a0; - (id)currentStroke; - (void)delayCompletionBlockUntilPresentation:(id /* block */)a0; - (void)didEndLiveInteractionWithStrokes:(id)a0 drawing:(id)a1 cancelled:(BOOL)a2; - (void)didEndLiveInteractionWithStrokes:(id)a0 drawing:(id)a1 cancelled:(BOOL)a2 forPreview:(BOOL)a3; - (void)drawingBegan:(id)a0; - (void)drawingCancelled; - (void)drawingCancelledForPreview:(BOOL)a0; - (void)drawingEnded:(id)a0; - (void)drawingEstimatedPropertiesUpdated:(id)a0; - (BOOL)drawingGestureRecognizer:(id)a0 shouldBeginDrawingWithTouches:(id)a1 event:(id)a2; - (BOOL)drawingGestureRecognizer:(id)a0 shouldDelayDrawingBeganWithTouch:(id)a1; - (void)drawingGestureRecognizer:(id)a0 touchesEndedWithDrawingTouch:(id)a1; - (void)drawingMoved:(id)a0 withEvent:(id)a1; - (BOOL)eraserBegan:(id)a0; - (void)eraserEnded:(id)a0; - (void)eraserMoved:(id)a0; - (void)handleDrawingShouldPause:(BOOL)a0; - (id)initWithFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 usePrivateResourceHandler:(BOOL)a1 singleComponent:(BOOL)a2 sixChannelBlending:(BOOL)a3; - (double)layerContentsScale; - (id)liveDrawing; - (void)liveStrokeParticlesToDestinationFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void)removeStuckStrokesAndSimulateCrashIfNecessary; - (void)resizeBackingBuffersForPixelSize:(struct CGSize { double x0; double x1; })a0 drawingScale:(double)a1; - (struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })scaledStrokeTransform; - (void)schedulePurgeResourcesBlock; - (void)setCanvasBackgroundColor:(id)a0; - (void)setIsDrawing:(BOOL)a0 forPreview:(BOOL)a1; - (void)setLiveRenderingOverrideColor:(id)a0 animated:(BOOL)a1; - (void)setNeedsDrawingDisplay; - (void)setupDrawing; - (void)setupGestures; - (void)setupMetalViewForPixelFormat:(unsigned long long)a0 withPixelSize:(struct CGSize { double x0; double x1; })a1; - (void)setupMetalViewIfNecessary; - (void)setupViewWithPixelSize:(struct CGSize { double x0; double x1; })a0 drawingSize:(struct CGSize { double x0; double x1; })a1; - (id)shapeDrawingControllerRendererController:(id)a0; - (void)shapeDrawingControllerShapeDetectionCancelled:(id)a0; - (void)shapeDrawingControllerShapeGestureDetected:(id)a0; - (id)snapshotFramebufferWithSize:(struct CGSize { double x0; double x1; })a0; - (void)testHideOldestStroke; - (void)updateHasVisibleStrokes; - (void)willBeginLiveInteractionWithTouch:(id)a0; @end