@class TSDInfoGeometry, TSDPathSource, TSDBezierPath, TSDMutableStroke, TSDFill, TSDEditableBezierPathSource; @interface TSDShapeLayout : TSDStyledLayout { 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; TSDBezierPath *mCachedPath; struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } mCachedPathBounds; struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } mCachedPathBoundsWithoutStroke; BOOL mCachedPathIsOpen; BOOL mCachedPathIsLineSegment; struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } mCachedAlignmentFrame; 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; TSDBezierPath *mCachedClippedPath; TSDPathSource *mShrunkenPathSource; TSDEditableBezierPathSource *mCachedEditableBezierPathSource; TSDPathSource *mCachedPathSource; TSDPathSource *mResizePathSource; TSDInfoGeometry *mResizeInfoGeometry; TSDInfoGeometry *mInitialInfoGeometry; TSDPathSource *mProvidedPathSource; TSDMutableStroke *mDynamicStroke; } @property (readonly, nonatomic) TSDFill *fill; @property (retain, nonatomic) TSDFill *dynamicFill; - (void)setGeometry:(id)a0; - (void)dealloc; - (struct CGSize { double x0; double x1; })minimumSize; - (id)path; - (id)initWithInfo:(id)a0; - (BOOL)isInvisible; - (id)stroke; - (void)invalidatePath; - (BOOL)supportsRotation; - (BOOL)isBeingManipulated; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })pathBounds; - (void)invalidateFrame; - (id)computeLayoutGeometry; - (id)i_computeWrapPath; - (id)i_computeWrapPathClosed:(BOOL)a0; - (id)layoutGeometryFromInfo; - (void)processChangedProperty:(int)a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })p_cachedPathBoundsWithoutStroke; - (id)smartPathSource; - (BOOL)isTailEndOnLeft; - (void)setControlKnobPosition:(unsigned long long)a0 toPoint:(struct CGPoint { double x0; double x1; })a1; - (void)aliasPathForScale:(double)a0 adjustedStroke:(id *)a1 adjustedPath:(id *)a2 startDelta:(struct CGPoint { double x0; double x1; } *)a3 endDelta:(struct CGPoint { double x0; double x1; } *)a4; - (void)aliasPathForScale:(double)a0 originalStroke:(id)a1 adjustedStroke:(id *)a2 adjustedPath:(id *)a3 startDelta:(struct CGPoint { double x0; double x1; } *)a4 endDelta:(struct CGPoint { double x0; double x1; } *)a5; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })aliasedAlignmentFrameForScale:(double)a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })alignmentFrame; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })alignmentFrameInRoot; - (void)beginDynamicOperation; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })boundsForStandardKnobs; - (BOOL)canBeIntersected; - (BOOL)canResetTextAndObjectHandles; - (struct CGPoint { double x0; double x1; })centerForConnecting; - (id)clippedPathForLineEnds; - (struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })computeLayoutTransform; - (void)dynamicStrokeWidthChangeDidBegin; - (void)dynamicStrokeWidthChangeDidEnd; - (void)dynamicStrokeWidthUpdateToValue:(double)a0; - (id)editablePathSource; - (void)endDynamicOperation; - (struct CGPoint { double x0; double x1; })getControlKnobPosition:(unsigned long long)a0; - (double)headLineEndAngle; - (struct CGPoint { double x0; double x1; })headLineEndPoint; - (struct CGPoint { double x0; double x1; })headPoint; - (id)initialInfoGeometry; - (void)invalidatePathBounds; - (BOOL)isInvisibleAutosizingShape; - (BOOL)isStrokeBeingManipulated; - (id)layoutInfoGeometry; - (double)lineEndScale; - (unsigned long long)numberOfControlKnobs; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })p_boundsOfLineEndForHead:(BOOL)a0 transform:(struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })a1; - (id)p_cachedPath; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })p_cachedPathBounds; - (BOOL)p_cachedPathIsLineSegment; - (BOOL)p_cachedPathIsOpen; - (void)p_computeAngle:(double *)a0 point:(struct CGPoint { double x0; double x1; } *)a1 cutSegment:(long long *)a2 cutT:(double *)a3 forLineEndAtHead:(BOOL)a4; - (id)p_createClippedPath; - (void)p_invalidateClippedPath; - (void)p_invalidateHead; - (void)p_invalidateTail; - (id)p_unitePath:(id)a0 withLineEndForHead:(BOOL)a1 stroke:(id)a2; - (void)p_updateResizeInfoGeometryFromResizePathSource; - (void)p_validateHeadAndTail; - (void)p_validateHeadLineEnd; - (void)p_validateTailLineEnd; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })pathBoundsWithoutStroke; - (BOOL)pathIsLineSegment; - (BOOL)pathIsOpen; - (id)pathSource; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })shapeFrameWithTransform:(struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })a0; - (id)shapeInfo; - (BOOL)shouldBeDisplayedInShowMode; - (id)strokeHeadLineEnd; - (id)strokeTailLineEnd; - (BOOL)supportsResize; - (double)tailLineEndAngle; - (struct CGPoint { double x0; double x1; })tailLineEndPoint; - (struct CGPoint { double x0; double x1; })tailPoint; - (struct CGPoint { double x0; double x1; })unclippedHeadPoint; - (struct CGPoint { double x0; double x1; })unclippedTailPoint; @end