@class TSTDupContentCache, TSWPEditingController, TSURetainedPointerKeyDictionary, NSMutableArray, NSString, TSDFill, NSMutableSet, TSTMergeRangeSortedSet, TSTLayoutTask, TSKChangeNotifier, NSRecursiveLock, TSTHiddenRowsColumnsCache, NSObject, TSDInfoGeometry, NSLock, TSTWidthHeightCache, TSTLayout, TSTLayoutDynamicResizeInfo, TSTTableModel, TSTCellRegion, TSUReadWriteQueue, TSTWPColumnCache, TSTTableInfo, TSUColor, NSIndexSet, TSDLayoutGeometry; @protocol OS_dispatch_group, TSTLayoutDynamicContentProtocol, TSTLayoutDynamicColumnSwapProtocol, OS_dispatch_semaphore, TSTLayoutDynamicRowSwapProtocol; @interface TSTMasterLayout : NSObject <TSKChangeSourceObserver> { int mReferenceCount; NSObject<OS_dispatch_group> *mLayoutInFlight; TSTLayoutTask *mCurrentLayoutTask; NSObject<OS_dispatch_semaphore> *mLayoutSemaphore; BOOL mHeaderColumnsFrozen; BOOL mHeaderRowsFrozen; BOOL mHeaderColumnsRepeat; BOOL mHeaderRowsRepeat; BOOL mTableNameEnabled; struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } mTableNameBounds; double mCachedTableNameHeight; unsigned short mCachedNumberOfHeaderColumns; unsigned long long mCachedMaxNumberOfColumns; unsigned short mCachedNumberOfHeaderRows; unsigned short mCachedNumberOfFooterRows; unsigned long long mCachedMaxNumberOfRows; struct TSTTableStrokeDefaults { } *mDefaultStrokes; NSMutableArray *mTopRowStrokes; NSMutableArray *mBottomRowStrokes; NSMutableArray *mLeftColumnStrokes; NSMutableArray *mRightColumnStrokes; NSRecursiveLock *mStrokesLock; TSURetainedPointerKeyDictionary *mParaStyleToHeightCache; NSLock *mLock; BOOL mBandedFillIsValid; BOOL mUseBandedFill; BOOL mTableDefaultFontHeightsAreValid; double mTableDefaultFontHeightForArea[4]; struct { struct { unsigned short row; unsigned char column; unsigned char reserved; } origin; struct { unsigned short numberOfColumns; unsigned short numberOfRows; } size; } mDynamicHidingRowsCols; int mDynamicHidingRowsColsDirection; struct { struct { unsigned short row; unsigned char column; unsigned char reserved; } origin; struct { unsigned short numberOfColumns; unsigned short numberOfRows; } size; } mDynamicHidingContent; struct { struct { unsigned short row; unsigned char column; unsigned char reserved; } origin; struct { unsigned short numberOfColumns; unsigned short numberOfRows; } size; } mDynamicHidingText; BOOL mDynamicRepressFrozenHeader; struct { struct { unsigned short row; unsigned char column; unsigned char reserved; } origin; struct { unsigned short numberOfColumns; unsigned short numberOfRows; } size; } mDynamicRevealingRowsCols; int mDynamicRevealingRowsColsDirection; TSTLayoutDynamicResizeInfo *mDynamicResizeInfo; } @property (nonatomic) TSTTableInfo *tableInfo; @property (readonly, nonatomic) TSTTableModel *tableModel; @property (readonly, nonatomic) TSTWPColumnCache *cellIDToWPColumnCache; @property (readonly, nonatomic) TSTDupContentCache *dupContentCache; @property (readonly, nonatomic) TSTWPColumnCache *tempWPColumnCache; @property (readonly, nonatomic) TSUReadWriteQueue *whCacheQueue; @property (readonly, nonatomic) TSTWidthHeightCache *widthHeightCache; @property (readonly, nonatomic) TSTHiddenRowsColumnsCache *hiddenRowsColumnsCache; @property (nonatomic) unsigned int maxConcurrentTasks; @property (nonatomic) unsigned int numCellsPerTask; @property (readonly, nonatomic) BOOL useBandedFill; @property (readonly, nonatomic) TSDFill *bandedFillObject; @property (nonatomic) int tableEnvironment; @property (readonly, nonatomic) int tableRowsBehavior; @property (readonly, nonatomic) BOOL inDynamicLayoutMode; @property (readonly, nonatomic) NSMutableSet *dynamicLayouts; @property (readonly, nonatomic) TSTLayout *dynamicLayout; @property (readonly, nonatomic) double dynamicAddOrRemoveColumnElementSize; @property (readonly, nonatomic) double dynamicAddOrRemoveRowElementSize; @property (readonly, nonatomic) BOOL dynamicBandedFill; @property (readonly, nonatomic) BOOL dynamicBandedFillSetting; @property (readonly, nonatomic) int dynamicColumnAdjustment; @property (readonly, nonatomic) id<TSTLayoutDynamicColumnSwapProtocol> dynamicColumnSwapDelegate; @property (readonly, nonatomic) double dynamicColumnTabSize; @property (readonly, nonatomic) id<TSTLayoutDynamicContentProtocol> dynamicContentDelegate; @property (readonly, nonatomic) TSUColor *dynamicFontColor; @property (readonly, nonatomic) struct { struct { unsigned short row; unsigned char column; unsigned char reserved; } origin; struct { unsigned short numberOfColumns; unsigned short numberOfRows; } size; } dynamicFontColorCellRange; @property (nonatomic) BOOL dynamicRepResize; @property (readonly, nonatomic) TSDInfoGeometry *dynamicInfoGeometry; @property (nonatomic) double dynamicWidthResize; @property (nonatomic) double dynamicHeightResize; @property (readonly, nonatomic) BOOL dynamicResizingColumns; @property (readonly, nonatomic) struct { struct { unsigned short row; unsigned char column; unsigned char reserved; } origin; struct { unsigned short numberOfColumns; unsigned short numberOfRows; } size; } dynamicResizingColumnRange; @property (readonly, nonatomic) double dynamicResizingColumnAdjustment; @property (readonly, nonatomic) BOOL dynamicResizingRows; @property (readonly, nonatomic) struct { struct { unsigned short row; unsigned char column; unsigned char reserved; } origin; struct { unsigned short numberOfColumns; unsigned short numberOfRows; } size; } dynamicResizingRowRange; @property (readonly, nonatomic) double dynamicResizingRowAdjustment; @property (readonly, nonatomic) int dynamicRowAdjustment; @property (readonly, nonatomic) id<TSTLayoutDynamicRowSwapProtocol> dynamicRowSwapDelegate; @property (readonly, nonatomic) double dynamicRowTabSize; @property (copy, nonatomic) TSDLayoutGeometry *dynamicSavedLayoutGeometry; @property (readonly, nonatomic) TSTCellRegion *dynamicSelectionRegion; @property (readonly, nonatomic) double dynamicTableNameResize; @property (readonly, nonatomic) struct { unsigned short row; unsigned char column; unsigned char reserved; } dynamicSuppressingConditionalStylesCellID; @property (readonly, nonatomic) BOOL emptyFilteredTable; @property (nonatomic) TSWPEditingController *containedTextEditor; @property (readonly, nonatomic) NSMutableArray *changeDescriptors; @property (readonly, nonatomic) BOOL isGrouped; @property (retain, nonatomic) TSTMergeRangeSortedSet *mergeRanges; @property (retain, nonatomic) TSKChangeNotifier *changeNotifier; @property (nonatomic) BOOL processHiddenRowsForExport; @property (nonatomic) struct CGSize { double width; double height; } maximumPartitionSize; @property (readonly, nonatomic) NSIndexSet *visibleRowIndices; @property (readonly, nonatomic) NSIndexSet *visibleColumnIndices; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (double)effectiveTableNameHeightForModel:(id)a0; + (id)tableNameTextEngine:(id)a0; + (struct CGSize { double x0; double x1; })tableNameTextSize:(id)a0; - (void)validate; - (void)dealloc; - (id)initWithInfo:(id)a0; - (void)syncProcessChanges:(id)a0 forChangeSource:(id)a1; - (double)tableNameHeight; - (void)validateFittingWidthsForRegion:(id)a0; - (BOOL)cell:(id *)a0 forCellID:(struct { unsigned short x0; unsigned char x1; unsigned char x2; })a1; - (id)validateFittingInfoForChangeDescriptors:(id)a0 rowsNeedingFittingInfo:(id)a1; - (id)accountingParagraphStylePropertyMapForCell:(id)a0 atCellID:(struct { unsigned short x0; unsigned char x1; unsigned char x2; })a1; - (void)addChangeDescriptor:(id)a0; - (void)addChangeDescriptorWithType:(int)a0 andCellRange:(struct { struct { unsigned short x0; unsigned char x1; unsigned char x2; } x0; struct { unsigned short x0; unsigned short x1; } x1; })a1; - (void)addChangeDescriptorWithType:(int)a0 andCellRange:(struct { struct { unsigned short x0; unsigned char x1; unsigned char x2; } x0; struct { unsigned short x0; unsigned short x1; } x1; })a1 andStrokeRange:(struct { struct { unsigned short x0; unsigned char x1; unsigned char x2; } x0; struct { unsigned short x0; unsigned short x1; } x1; })a2; - (void)addDynamicLayoutBeginIfNecessary:(id)a0; - (void)beginDynamicMode:(id)a0; - (void)calculateRawTableSize:(struct CGSize { double x0; double x1; } *)a0 andStrokeDelta:(struct CGSize { double x0; double x1; } *)a1; - (double)calculatedTableNameHeight; - (double)calculatedTableNameHeightIncludingDynamicResize:(BOOL)a0; - (void)cancelDynamicModeChanges; - (void)captureDynamicResizeInfo; - (void)clearModelHeightWidthCacheForCellRange:(struct { struct { unsigned short x0; unsigned char x1; unsigned char x2; } x0; struct { unsigned short x0; unsigned short x1; } x1; })a0; - (struct UIEdgeInsets { double x0; double x1; double x2; double x3; })defaultPaddingForCellID:(struct { unsigned short x0; unsigned char x1; unsigned char x2; })a0; - (struct UIEdgeInsets { double x0; double x1; double x2; double x3; })edgeInsetsFromPadding:(id)a0; - (void)endDynamicMode; - (double)fontHeightOfParagraphStyle:(id)a0; - (BOOL)hintIsValid:(id)a0; - (void)invalidateBandedFill; - (void)invalidateDefaultFontHeights; - (void)invalidateDynamicResizeInfo; - (void)invalidateTableNameHeight; - (BOOL)isDynamicallyChangingColumnCount; - (BOOL)isDynamicallyChangingContent; - (BOOL)isDynamicallyChangingFontColorOfCellID:(struct { unsigned short x0; unsigned char x1; unsigned char x2; })a0; - (BOOL)isDynamicallyChangingInfoGeometry; - (BOOL)isDynamicallyChangingRowCount; - (BOOL)isDynamicallyChangingRowOrColumnCount; - (BOOL)isDynamicallyChangingSelection; - (BOOL)isDynamicallyColumnTabResizing; - (BOOL)isDynamicallyHidingContentOfCellID:(struct { unsigned short x0; unsigned char x1; unsigned char x2; })a0; - (BOOL)isDynamicallyHidingRowsCols; - (BOOL)isDynamicallyHidingRowsCols:(int)a0 rowColIndex:(unsigned short)a1; - (BOOL)isDynamicallyHidingRowsColsCellID:(struct { unsigned short x0; unsigned char x1; unsigned char x2; })a0; - (BOOL)isDynamicallyHidingTextOfCellID:(struct { unsigned short x0; unsigned char x1; unsigned char x2; })a0; - (BOOL)isDynamicallyRepressingFrozenHeaders; - (BOOL)isDynamicallyResizing:(int)a0; - (BOOL)isDynamicallyResizing:(int)a0 rowColIndex:(unsigned short)a1; - (BOOL)isDynamicallyResizingCellID:(struct { unsigned short x0; unsigned char x1; unsigned char x2; })a0; - (BOOL)isDynamicallyResizingTableName; - (BOOL)isDynamicallyRevealingRowsCols; - (BOOL)isDynamicallyRevealingRowsCols:(int)a0 rowColIndex:(unsigned short)a1; - (BOOL)isDynamicallyRowTabResizing; - (BOOL)isDynamicallySettingBandedFill; - (BOOL)isDynamicallySwappingColumns; - (BOOL)isDynamicallySwappingRows; - (struct { unsigned short x0; unsigned char x1; unsigned char x2; })layoutCellIDForModelCellID:(struct { unsigned short x0; unsigned char x1; unsigned char x2; })a0; - (void)measureTextForLayoutState:(id)a0; - (struct { unsigned short x0; unsigned char x1; unsigned char x2; })modelCellIDForLayoutCellID:(struct { unsigned short x0; unsigned char x1; unsigned char x2; })a0; - (struct { unsigned short x0; unsigned char x1; unsigned char x2; })modelCellIDForStrokesOfLayoutCellID:(struct { unsigned short x0; unsigned char x1; unsigned char x2; })a0; - (id)newLayoutHint; - (id)newTextEngineForCell:(id)a0 atCellID:(struct { unsigned short x0; unsigned char x1; unsigned char x2; })a1; - (void)p_cancelDynamicRowColCountChanges; - (void)p_processChange:(id)a0 forChangeSource:(id)a1; - (void)p_validateFittingInfoForCellID:(struct { unsigned short x0; unsigned char x1; unsigned char x2; })a0 inMergeRange:(struct { struct { unsigned short x0; unsigned char x1; unsigned char x2; } x0; struct { unsigned short x0; unsigned short x1; } x1; })a1; - (struct { unsigned short x0; unsigned char x1; unsigned char x2; })p_validateFittingInfoForEmptyCellsBetween:(struct { unsigned short x0; unsigned char x1; unsigned char x2; })a0 andCellID:(struct { unsigned short x0; unsigned char x1; unsigned char x2; })a1 inRange:(struct { struct { unsigned short x0; unsigned char x1; unsigned char x2; } x0; struct { unsigned short x0; unsigned short x1; } x1; })a2; - (void)p_validateFittingInfoForEmptyCellsOnSingleRowBetween:(struct { unsigned short x0; unsigned char x1; unsigned char x2; })a0 andEndCellID:(struct { unsigned short x0; unsigned char x1; unsigned char x2; })a1; - (struct UIEdgeInsets { double x0; double x1; double x2; double x3; })paddingForCellID:(struct { unsigned short x0; unsigned char x1; unsigned char x2; })a0; - (void)processLayoutTask:(id)a0; - (void)queueCellForValidation:(struct { struct { unsigned short x0; unsigned char x1; unsigned char x2; } x0; struct { unsigned short x0; unsigned short x1; } x1; })a0 cell:(id)a1 mergeRange:(struct { struct { unsigned short x0; unsigned char x1; unsigned char x2; } x0; struct { unsigned short x0; unsigned short x1; } x1; })a2 wrap:(BOOL)a3 verticalAlignment:(unsigned int)a4 padding:(id)a5 prop:(BOOL)a6 layoutCacheFlags:(int)a7; - (id)regionForStrokeValidationFromChangeDescriptors:(id)a0; - (void)removeDynamicLayoutEndIfNecessary:(id)a0; - (void)resetModelHeightWidthCache; - (BOOL)shouldRowUseBandedFill:(unsigned short)a0; - (unsigned int)tableAreaForCellID:(struct { unsigned short x0; unsigned char x1; unsigned char x2; })a0; - (id)tableNameTextEngine; - (struct CGSize { double x0; double x1; })tableNameTextSize; - (void)updateDynamicBandedFill:(BOOL)a0 setting:(BOOL)a1; - (BOOL)updateDynamicChangeRowOrColumnCount:(int)a0 count:(int)a1 newlyAddedElementSize:(double)a2; - (void)updateDynamicColumnSwapDelegate:(id)a0; - (void)updateDynamicColumnTabSize:(double)a0; - (void)updateDynamicContentDelegate:(id)a0; - (void)updateDynamicFontColor:(id)a0 andRange:(struct { struct { unsigned short x0; unsigned char x1; unsigned char x2; } x0; struct { unsigned short x0; unsigned short x1; } x1; })a1; - (void)updateDynamicHidingContent:(struct { struct { unsigned short x0; unsigned char x1; unsigned char x2; } x0; struct { unsigned short x0; unsigned short x1; } x1; })a0; - (void)updateDynamicHidingRowsCols:(int)a0 hidingCellRange:(struct { struct { unsigned short x0; unsigned char x1; unsigned char x2; } x0; struct { unsigned short x0; unsigned short x1; } x1; })a1; - (void)updateDynamicHidingText:(struct { struct { unsigned short x0; unsigned char x1; unsigned char x2; } x0; struct { unsigned short x0; unsigned short x1; } x1; })a0; - (void)updateDynamicInfoGeometry:(id)a0; - (void)updateDynamicRepressFrozenHeader:(BOOL)a0; - (void)updateDynamicResize:(int)a0 resizingRange:(struct { struct { unsigned short x0; unsigned char x1; unsigned char x2; } x0; struct { unsigned short x0; unsigned short x1; } x1; })a1 resizeAdjustment:(double)a2; - (void)updateDynamicResizeInfo:(id)a0; - (void)updateDynamicRevealingRowsCols:(int)a0 revealingCellRange:(struct { struct { unsigned short x0; unsigned char x1; unsigned char x2; } x0; struct { unsigned short x0; unsigned short x1; } x1; })a1; - (void)updateDynamicRowSwapDelegate:(id)a0; - (void)updateDynamicRowTabSize:(double)a0; - (void)updateDynamicSelectionRegion:(id)a0; - (void)updateDynamicSuppressingConditionalStylesCellID:(struct { unsigned short x0; unsigned char x1; unsigned char x2; })a0; - (void)updateDynamicTableNameSize:(double)a0; - (void)updateWHCForMergeRanges; - (void)validateBandedFill; - (id)validateCellForDrawing:(struct { unsigned short x0; unsigned char x1; unsigned char x2; })a0 cell:(id)a1 contents:(id)a2 wrap:(BOOL)a3 verticalAlignment:(unsigned int)a4 padding:(id)a5 layoutCacheFlags:(int)a6 pageNumber:(unsigned long long)a7 pageCount:(unsigned long long)a8; - (void)validateChangeDescriptorQueue; - (void)validateDefaultFontHeights; - (void)validateDynamicResizeInfo; - (void)validateFittingInfoForCell:(id)a0 cellID:(struct { unsigned short x0; unsigned char x1; unsigned char x2; })a1 mergeRange:(struct { struct { unsigned short x0; unsigned char x1; unsigned char x2; } x0; struct { unsigned short x0; unsigned short x1; } x1; })a2 setFitting:(BOOL)a3; - (void)validateFittingInfoWithCellRange:(struct { struct { unsigned short x0; unsigned char x1; unsigned char x2; } x0; struct { unsigned short x0; unsigned short x1; } x1; })a0; - (void)validateLayoutHint:(id)a0; - (void)validateMasterLayoutForChangeDescriptors:(id)a0; - (void)validateRowVisibility:(id)a0; - (void)validateStrokesForRegion:(id)a0 regionAlreadyValidated:(id)a1; - (void)validateTableRowsBehavior; - (void)waitForLayoutToComplete; - (void)wasRemovedFromDocumentRoot; - (void)willBeAddedToDocumentRoot:(id)a0; @end