@class PKStrokeRenderMask, NSUUID, PKStrokePath, UIBezierPath, NSArray, PKInk; @interface PKStroke : NSObject <NSCopying> @property (copy, nonatomic, setter=_setRenderMask:) PKStrokeRenderMask *_renderMask; @property (nonatomic, getter=_isNewCopy, setter=_setIsNewCopy:) BOOL _isNewCopy; @property (nonatomic, getter=_isInProgressScribbleStroke, setter=_setIsInProgressScribbleStroke:) BOOL _isInProgressScribbleStroke; @property (retain, nonatomic) PKStrokePath *_strokeData; @property (readonly, nonatomic) NSUUID *_strokeDataUUID; @property (nonatomic, setter=_setBounds:) struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } _bounds; @property (readonly, nonatomic) struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } _untransformedBounds; @property (retain, nonatomic) PKInk *ink; @property (readonly, nonatomic) BOOL _isInternal; @property (nonatomic, setter=_setTransform:) struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; } _transform; @property (readonly, nonatomic) struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; } transform; @property (readonly, nonatomic) PKStrokePath *path; @property (readonly, nonatomic) UIBezierPath *mask; @property (readonly, nonatomic) struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } renderBounds; @property (readonly, nonatomic) NSArray *maskedPathRanges; @property (readonly, nonatomic) unsigned int randomSeed; @property (readonly, nonatomic) long long requiredContentVersion; + (id)allocWithZone:(struct _NSZone { } *)a0; + (long long)_asciiBitfieldIndexForX:(long long)a0 y:(long long)a1 width:(long long)a2; + (long long)_asciiDimensionForBoundsDimension:(double)a0; + (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_calculateBounds:(id)a0 transform:(struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })a1 ink:(id)a2 inkTransform:(struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })a3 strokePath:(id)a4; + (struct PKCompressedStrokePoint { struct _PKPoint { float x0; float x1; } x0; float x1; float x2; unsigned short x3; unsigned short x4; unsigned short x5; unsigned short x6; unsigned short x7; unsigned short x8; float x9; })_compressStrokePoint:(struct _PKStrokePoint { double x0; struct CGPoint { double x0; double x1; } x1; double x2; double x3; double x4; double x5; double x6; double x7; double x8; double x9; })a0 withTimestamp:(double)a1; + (void)_consumeRenderVertexes:(id /* block */)a0 ink:(id)a1 inkTransform:(struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })a2 strokePath:(id)a3; + (struct _PKStrokePoint { double x0; struct CGPoint { double x0; double x1; } x1; double x2; double x3; double x4; double x5; double x6; double x7; double x8; double x9; })_decompressStrokePoint:(struct PKCompressedStrokePoint { struct _PKPoint { float x0; float x1; } x0; float x1; float x2; unsigned short x3; unsigned short x4; unsigned short x5; unsigned short x6; unsigned short x7; unsigned short x8; float x9; })a0 withTimestamp:(double)a1; + (id)_snapToShape:(id)a0; + (id)_snapToShape:(id)a0 inputScale:(double)a1; + (id)_testStrokeFromPoints:(struct PKCompressedStrokePoint { struct _PKPoint { float x0; float x1; } x0; float x1; float x2; unsigned short x3; unsigned short x4; unsigned short x5; unsigned short x6; unsigned short x7; unsigned short x8; float x9; } *)a0 length:(long long)a1 ink:(id)a2; + (id)copyStrokes:(id)a0 hidden:(BOOL)a1; + (id)sliceWithEraser:(const void *)a0 toClip:(id)a1; + (id)sliceWithEraser:(const void *)a0 toClip:(id)a1 clipType:(int)a2; - (id)debugQuickLookObject; - (id)dataRepresentation; - (double)startTimestamp; - (id)init; - (unsigned long long)hash; - (void)setPath:(id)a0; - (id)initWithData:(id)a0 error:(id *)a1; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })bounds; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_calculateBounds; - (id)description; - (double)timestamp; - (double)endTimestamp; - (BOOL)_isHidden; - (BOOL)isEqual:(id)a0; - (void)_setHidden:(BOOL)a0; - (id)mutableCopyWithZone:(struct _NSZone { } *)a0; - (id)_groupID; - (id)copyWithZone:(struct _NSZone { } *)a0; - (struct { union { struct { unsigned char x0 : 1; unsigned char x1 : 1; unsigned char x2 : 1; unsigned char x3 : 1; unsigned char x4 : 1; unsigned int x5 : 32; unsigned char x6 : 1; unsigned char x7 : 1; unsigned char x8 : 1; } x0; unsigned long long x1; } x0; })_flags; - (void)_setFlags:(struct { union { struct { unsigned char x0 : 1; unsigned char x1 : 1; unsigned char x2 : 1; unsigned char x3 : 1; unsigned char x4 : 1; unsigned int x5 : 32; unsigned char x6 : 1; unsigned char x7 : 1; unsigned char x8 : 1; } x0; unsigned long long x1; } x0; })a0; - (double)_timestamp; - (BOOL)intersectsRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (long long)_inputType; - (unsigned long long)_pointsCount; - (struct CGPoint { double x0; double x1; })locationAtIndex:(unsigned long long)a0; - (double)timestampAtIndex:(unsigned long long)a0; - (long long)_shapeType; - (void)generateMask; - (id)initWithArchive:(const void *)a0 error:(id *)a1; - (void)saveToArchive:(void *)a0; - (unsigned int)_randomSeed; - (BOOL)_isMaskedStroke; - (void)_setStrokeMask:(id)a0; - (id)copyForMutation; - (void)_setRandomSeed:(unsigned int)a0; - (void)_setStrokeUUID:(id)a0; - (void *)newOutlinePaths; - (id)strokeApplying:(id)a0; - (void)_addVisibleSubstrokesTo:(id)a0 inDrawing:(id)a1; - (struct CGPoint { double x0; double x1; })_anchorPointForTexture; - (void)_appendPointsOfInterestForSelection:(void *)a0; - (void)_appendPointsOfInterestForSelection:(void *)a0 step:(double)a1; - (void)_appendPointsOfInterestForSelectionMasked:(void *)a0; - (void)_applyTransform:(struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })a0; - (id)_ascii; - (id)_clipPlane; - (struct unique_ptr<std::vector<PKCompressedStrokePoint>, std::default_delete<std::vector<PKCompressedStrokePoint>>> { struct __compressed_pair<std::vector<PKCompressedStrokePoint> *, std::default_delete<std::vector<PKCompressedStrokePoint>>> { void *x0; } x0; })_compressedStrokePoints; - (BOOL)_containsSamePointsAsStroke:(id)a0; - (id)_initWithPath:(struct CGPath { } *)a0 ink:(id)a1 inputScale:(double)a2; - (id)_initWithPath:(struct CGPath { } *)a0 ink:(id)a1 maxSegmentLength:(double)a2 inputScale:(double)a3 velocityForDistanceFunction:(id /* block */)a4; - (id)_ink; - (struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })_inkTransform; - (BOOL)_isBitmapEraserStroke; - (struct CGPoint { double x0; double x1; })_locationAtIndex:(unsigned long long)a0; - (struct CGPoint { double x0; double x1; })_locationAtIndex:(unsigned long long)a0 applyStrokeTransform:(BOOL)a1; - (double)_maxWidthForStroke; - (id)_mergeWithStroke:(id)a0 inDrawing:(id)a1; - (BOOL *)_newAsciiBitfield; - (BOOL *)_newAsciiBitfieldWithWidth:(long long)a0 height:(long long)a1; - (struct CGPath { } *)_newPathRepresentation; - (id)_newStrokeWithSubstrokes:(id)a0 inDrawing:(id)a1; - (BOOL)_pathHasClockwisePointOrdering; - (id)_renderGroupID; - (void)_setClipPlane:(id)a0; - (void)_setGroupID:(id)a0; - (void)_setInk:(id)a0; - (void)_setInkTransform:(struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })a0; - (void)_setRenderGroupID:(id)a0; - (void)_setShapeType:(long long)a0; - (BOOL)_shouldBeClippedAgainstLegacyCanvas; - (id)_sliceWithSlicingBlock:(id /* block */)a0 inDrawing:(id)a1 newRootStroke:(id *)a2; - (id)_strokeMask; - (id)_strokeUUID; - (id)_substrokeWithRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a0; - (id)_substrokesInDrawing:(id)a0; - (double)_thresholdForPoint:(struct _PKStrokePoint { double x0; struct CGPoint { double x0; double x1; } x1; double x2; double x3; double x4; double x5; double x6; double x7; double x8; double x9; })a0; - (double)_timestampAtIndex:(unsigned long long)a0; - (id)_updateStroke:(id /* block */)a0 inDrawing:(id)a1; - (long long)_visibleSubstrokeCountInDrawing:(id)a0; - (BOOL)_visitVisibleSubstrokes:(id /* block */)a0 inDrawing:(id)a1; - (long long)compareToStroke:(id)a0; - (id)copyForSubstroke; - (id)copyWithNewAnchorPointForTexture:(struct CGPoint { double x0; double x1; })a0; - (void)debugRender:(struct CGContext { } *)a0; - (void)debugRenderMasked:(struct CGContext { } *)a0; - (id)deltaTo:(id)a0; - (id)descriptionAtDepth:(long long)a0; - (void)didUpdateInDrawing:(id)a0; - (void)didUpdateSubstrokesInDrawing:(id)a0; - (void)enumeratePointsWithDistanceStep:(double)a0 usingBlock:(id /* block */)a1; - (void)enumeratePointsWithTimestep:(double)a0 usingBlock:(id /* block */)a1; - (void)generateClipPaths:(void *)a0 transform:(struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })a1; - (void)generateClipperPath:(void *)a0; - (BOOL)hasSubstrokes; - (id)initWithData:(id)a0 id:(id)a1 flags:(struct { union { struct { unsigned char x0 : 1; unsigned char x1 : 1; unsigned char x2 : 1; unsigned char x3 : 1; unsigned char x4 : 1; unsigned int x5 : 32; unsigned char x6 : 1; unsigned char x7 : 1; unsigned char x8 : 1; } x0; unsigned long long x1; } x0; })a2 ink:(id)a3 transform:(struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })a4 substrokes:(id)a5; - (id)initWithData:(id)a0 id:(id)a1 hidden:(BOOL)a2 ink:(id)a3 transform:(struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })a4 substrokes:(id)a5; - (id)initWithInk:(id)a0 strokePath:(id)a1 transform:(struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })a2 mask:(id)a3; - (id)initWithInk:(id)a0 strokePath:(id)a1 transform:(struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })a2 mask:(id)a3 randomSeed:(unsigned int)a4; - (void)interpolatePointDataWithStep:(double)a0 from:(double)a1 to:(double)a2 usingBlock:(id /* block */)a3; - (void)interpolatePointDataWithStep:(double)a0 usingBlock:(id /* block */)a1; - (struct CGPoint { double x0; double x1; })intersectionFromPoint:(struct CGPoint { double x0; double x1; })a0 toPoint:(struct CGPoint { double x0; double x1; })a1; - (BOOL)intersectsClipperPath:(void *)a0; - (BOOL)intersectsClosedStroke:(id)a0; - (BOOL)intersectsClosedStrokeMasked:(id)a0; - (BOOL)intersectsLineFrom:(struct CGPoint { double x0; double x1; })a0 to:(struct CGPoint { double x0; double x1; })a1 minThreshold:(double)a2; - (BOOL)intersectsLineFromMasked:(struct CGPoint { double x0; double x1; })a0 to:(struct CGPoint { double x0; double x1; })a1 minThreshold:(double)a2; - (BOOL)intersectsPoint:(struct CGPoint { double x0; double x1; })a0; - (BOOL)intersectsPoint:(struct CGPoint { double x0; double x1; })a0 boundsOutset:(double)a1 minimumStrokeThreshold:(double)a2; - (BOOL)intersectsPointMasked:(struct CGPoint { double x0; double x1; })a0; - (BOOL)intersectsPointMasked:(struct CGPoint { double x0; double x1; })a0 boundsOutset:(double)a1 minimumStrokeThreshold:(double)a2; - (BOOL)intersectsRectMasked:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (struct CGPath { } *)newPathRepresentation; - (struct CGPath { } *)newPathRepresentationMasked; - (struct CGPath { } *)newSelectionPathRepresentationWithPointsCount:(int *)a0; - (struct CGPath { } *)newSelectionPathRepresentationWithPointsCountMasked:(int *)a0; - (id)parentStrokeForInsertionInDrawing:(id)a0; - (id)sliceIdentifierForTStart:(double)a0 tEnd:(double)a1; - (id)sliceWithEraser:(const void *)a0; - (id)sliceWithMask:(const void *)a0; - (id)strokeWithInk:(id)a0; - (id)substrokeWithRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a0; @end