luxlabs header browser preview


@class PKStroke, NSObject;
@protocol OS_dispatch_queue, OS_dispatch_semaphore;

@interface PKStrokeGenerator : NSObject <PKInputProvider> {
    double _latestNonPredictedTimestamp;
    struct vector<PKInputPoint, std::allocator<PKInputPoint>> { struct *__begin_; struct *__end_; struct __compressed_pair<PKInputPoint *, std::allocator<PKInputPoint>> { struct *__value_; } __end_cap_; } _drawPoints;
    struct vector<_PKStrokePoint, std::allocator<_PKStrokePoint>> { struct _PKStrokePoint *__begin_; struct _PKStrokePoint *__end_; struct __compressed_pair<_PKStrokePoint *, std::allocator<_PKStrokePoint>> { struct _PKStrokePoint *__value_; } __end_cap_; } _outputPoints;
    long long _outputImmutableCount;
    BOOL _inputHasChanged;
    struct _PKStrokePoint { double timestamp; struct CGPoint { double x; double y; } location; double radius; double aspectRatio; double edgeWidth; double force; double azimuth; double altitude; double opacity; double radius2; } _baseValues;
    NSObject<OS_dispatch_queue> *_inputQueue;
    PKStroke *_currentStroke;
    long long _currentInputType;
    unsigned long long _currentActiveInputProperties;
    long long _immutableCount;
    long long _missedUpdates;
    struct vector<PKInputPoint, std::allocator<PKInputPoint>> { struct *__begin_; struct *__end_; struct __compressed_pair<PKInputPoint *, std::allocator<PKInputPoint>> { struct *__value_; } __end_cap_; } _updatedDrawPoints;
    BOOL _drawingEndedButNotFinished;
    NSObject<OS_dispatch_semaphore> *_drawingWaitForFinishSemaphore;
    BOOL _keepPredictedTouchesAtEndOfStroke;
}

@property (nonatomic) struct CGAffineTransform { double a; double b; double c; double d; double tx; double ty; } rulerTransform;
@property (nonatomic) BOOL useRuler;
@property (nonatomic) double rulerWidth;
@property (nonatomic) BOOL isSnappedToRulerTopSide;
@property (nonatomic) BOOL canSnapToRuler;
@property (nonatomic) double strokeMaxForce;
@property struct CGPoint { double x; double y; } lastPoint;
@property (retain, nonatomic) NSObject<OS_dispatch_queue> *outputQueue;
@property (nonatomic) double touchSensitivity;
@property (nonatomic) void *inputProvider;
@property (nonatomic) void *pixelSmoothingFilter;
@property (nonatomic) void *pointReductionFilter;
@property (nonatomic) void *startHookFilter;
@property (nonatomic) void *endHookFilter;
@property (nonatomic) void *velocityFilter;
@property (nonatomic) void *directionAngleFilter;
@property (nonatomic) void *inputSmoother;
@property (nonatomic) void *noiseSmoother;
@property (nonatomic) void *propertySmoother;
@property (nonatomic) void *inputToOutputFilter;
@property (nonatomic) void *startCapFilter;
@property (nonatomic) void *animationFilter;
@property (nonatomic) void *azimuthFilter;
@property (nonatomic) void *endCapFilter;
@property (nonatomic) void *rulerExtremaFilter;
@property (nonatomic) void *estimatedAltitudeAndAzimuthFilter;
@property (nonatomic) void *compressionFilter;
@property (nonatomic) void *decompressionFilter;
@property BOOL isSnappedToRuler;
@property (readonly) BOOL lastPointIsMasked;
@property double eraserIndicatorAlpha;
@property (nonatomic) double inputScale;
@property (readonly, nonatomic) long long inputType;
@property (readonly, nonatomic) unsigned long long activeInputProperties;
@property (nonatomic) BOOL captureLiveData;
@property (nonatomic) BOOL isPreviewing;

+ (void)initialize;
+ (struct vector<PKInputPoint, std::allocator<PKInputPoint>> { struct *x0; struct *x1; struct __compressed_pair<PKInputPoint *, std::allocator<PKInputPoint>> { struct *x0; } x2; })inputPointsFromPath:(struct CGPath { } *)a0 maxSegmentLength:(double)a1 velocityForDistanceFunction:(id /* block */)a2;
+ (struct vector<PKInputPoint, std::allocator<PKInputPoint>> { struct *x0; struct *x1; struct __compressed_pair<PKInputPoint *, std::allocator<PKInputPoint>> { struct *x0; } x2; })inputPointsFromPoints:(const void *)a0 velocityForDistanceFunction:(id /* block */)a1;

- (id)init;
- (void)reset;
- (void)dealloc;
- (id).cxx_construct;
- (void)addPoints:(struct vector<PKInputPoint, std::allocator<PKInputPoint>> { struct *x0; struct *x1; struct __compressed_pair<PKInputPoint *, std::allocator<PKInputPoint>> { struct *x0; } x2; })a0;
- (void).cxx_destruct;
- (void)addPoint:(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;
- (long long)inputType;
- (double)latestTimestamp;
- (void)drawingCancelledWithCompletion:(id /* block */)a0;
- (void)_drawingAddPoint:(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)_drawingUpdateAllPointsDidTimeout:(BOOL)a0 updateSemaphore:(BOOL)a1;
- (void)_drawingUpdateAllPointsDidTimeoutWithStrokeUUID:(id)a0;
- (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; })_latestStrokePoint;
- (id)_newStrokeWithCurrentDataAndStrokeDataUUID:(id)a0;
- (void)_removePredictedTouches;
- (void)_updatePredictedTouches;
- (void)allowSnappingToRuler:(struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })a0 width:(double)a1;
- (void)closeStroke;
- (unsigned long long)copyInputUpdatedRangeFromIndex:(unsigned long long)a0 into:(void *)a1;
- (double)distanceToRulerCenter:(struct CGPoint { double x0; double x1; })a0;
- (void)drawingBeganWithStroke:(id)a0 inputType:(long long)a1 activeInputProperties:(unsigned long long)a2 inputScale:(double)a3 start:(id /* block */)a4;
- (void)drawingEndedEstimatesTimeout:(double)a0 completion:(id /* block */)a1;
- (void)drawingUpdateAllPoints;
- (void)drawingUpdateAllPointsDidTimeoutWithStrokeUUID:(id)a0;
- (void)drawingUpdatePoint:(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;
- (long long)fetchFilteredPointsFromIndex:(long long)a0 accessBlock:(id /* block */)a1;
- (void *)getInputUpdatedRangeFromIndex:(inout unsigned long long *)a0;
- (struct CGPoint { double x0; double x1; })getRulerSnapLineOriginAndTangent:(struct CGPoint { double x0; double x1; } *)a0 andNormal:(struct CGPoint { double x0; double x1; } *)a1;
- (void *)getUpdatedRangeFromIndex:(inout unsigned long long *)a0;
- (double)latestNonPredictedTimestamp;
- (void)maskToRuler;
- (id)newStrokeWithCurrentData;
- (id)newStrokeWithCurrentDataCopy;
- (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; })outputCurrentStrokePoint:(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 *)outputFilter;
- (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; })outputPoint:(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 baseValues:(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; })a1;
- (BOOL)shouldSnapPointToRuler:(struct CGPoint { double x0; double x1; })a0;
- (struct CGPoint { double x0; double x1; })snapPointToRuler:(struct CGPoint { double x0; double x1; })a0;
- (void)snapToRuler;
- (id)strokeFromInputPoints:(void *)a0 inputType:(long long)a1 ink:(id)a2 inputScale:(double)a3 randomSeed:(unsigned int)a4 strokeClass:(Class)a5;
- (id)strokeFromLineSegments:(const void *)a0 maxSegmentLength:(double)a1 ink:(id)a2 inputScale:(double)a3 strokeClass:(Class)a4;
- (id)strokeFromPath:(struct CGPath { } *)a0 ink:(id)a1 inputScale:(double)a2 maxSegmentLength:(double)a3 velocityForDistanceFunction:(id /* block */)a4 strokeClass:(Class)a5;
- (id)strokeFromPoints:(struct CGPoint { double x0; double x1; } *)a0 count:(unsigned long long)a1 ink:(id)a2 inputScale:(double)a3 strokeClass:(Class)a4;
- (id)strokeFromPoints:(const void *)a0 sourceStroke:(id)a1 inputScale:(double)a2 averageInputPoint:(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; })a3;
- (void)updateImmutableCount;
- (void)updateRulerSnapping;
- (void)whenFinishedProcessingPointsCallCompletion:(id /* block */)a0;

@end