luxlabs header browser preview


@class AKTSDLineEnd, AKTSDBrushStroke, AKTSDBezierPath;

@interface AKTSDShape : NSObject {
    struct { unsigned char path : 1; unsigned char pathBounds : 1; unsigned char pathBoundsWithoutStroke : 1; unsigned char pathIsOpen : 1; unsigned char pathIsLineSegment : 1; unsigned char alignmentFrame : 1; unsigned char headAndTail : 1; unsigned char headLineEnd : 1; unsigned char tailLineEnd : 1; unsigned char clippedPath : 1; } mShapeInvalidFlags;
    struct CGPoint { double x; double y; } mHeadPoint;
    struct CGPoint { double x; double y; } mTailPoint;
    struct CGPoint { double x; double y; } mHeadLineEndPoint;
    struct CGPoint { double x; double y; } mTailLineEndPoint;
    double mHeadLineEndAngle;
    double mTailLineEndAngle;
    long long mHeadCutSegment;
    long long mTailCutSegment;
    double mHeadCutT;
    double mTailCutT;
    AKTSDBezierPath *mCachedClippedPath;
}

@property (retain, nonatomic) AKTSDBezierPath *path;
@property (retain, nonatomic) AKTSDBrushStroke *stroke;
@property (retain, nonatomic) AKTSDLineEnd *headLineEnd;
@property (retain, nonatomic) AKTSDLineEnd *tailLineEnd;

- (id)init;
- (void)drawInContext:(struct CGContext { } *)a0;
- (void).cxx_destruct;
- (id)clippedPathForLineEnds;
- (double)headLineEndAngle;
- (struct CGPoint { double x0; double x1; })headLineEndPoint;
- (double)lineEndScale;
- (void)p_computeAngle:(double *)a0 point:(struct CGPoint { double x0; double x1; } *)a1 cutSegment:(long long *)a2 cutT:(double *)a3 forLineEndAtHead:(BOOL)a4;
- (void)p_invalidateClippedPath;
- (void)p_invalidateHead;
- (void)p_invalidateTail;
- (void)p_validateHeadAndTail;
- (void)p_validateHeadLineEnd;
- (void)p_validateTailLineEnd;
- (id)strokeHeadLineEnd;
- (id)strokeTailLineEnd;
- (double)tailLineEndAngle;
- (struct CGPoint { double x0; double x1; })tailLineEndPoint;
- (id)_newClippedPath;
- (void)p_drawLineEndForHead:(BOOL)a0 withDelta:(struct CGPoint { double x0; double x1; })a1 inContext:(struct CGContext { } *)a2 useFastDrawing:(BOOL)a3;

@end