@class NSMutableArray, PXTilingControllerDebugInfo, NSArray, NSString, PXTilingLayout, PXTilingCoordinateSpace, PXTilingScrollInfo, PXTilingCoordinateSpaceConverter, PXTilingChange, NSMutableIndexSet, PXTileStatePool; @protocol PXTilingDebugDelegate, PXTileSource, PXTileAnimator, PXTilingControllerScrollDelegate, PXTilingControllerTransitionDelegate, PXTilingScrollController, PXTilingControllerObserver; @interface PXTilingController : NSObject { BOOL _isPerformingUpdates; BOOL _hasScheduledUpdate; struct { BOOL scrollControllerMetrics; BOOL pagedRect; BOOL layoutMetrics; BOOL layoutPreferredVisibleOrigin; BOOL layoutPosition; BOOL layoutVisibleRect; BOOL layoutPreparation; BOOL tiles; BOOL preheating; BOOL maxPreheatPadding; BOOL scrollInfo; } _needsUpdateFlags; struct { BOOL respondsToInitialVisibleOriginForLayout; BOOL respondsToTargetVisibleOriginForLayoutProposedVisibleOrigin; BOOL respondsToScrollInfoForLayout; } _scrollDelegateFlags; struct { BOOL respondsToPrepareForChange; BOOL respondsToTileIdentifierConverterForChange; BOOL respondsToTransitionAnimationCoordinatorForChange; } _transitionDelegateFlags; BOOL _hasInitializedLayout; struct PXTileIdentifier { unsigned long long x0; unsigned long long x1[10]; } *_identifierBuffer; struct PXTileGeometry { struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } x0; struct CGPoint { double x0; double x1; } x1; struct CGSize { double x0; double x1; } x2; struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; } x3; double x4; double x5; BOOL x6; struct CGSize { double x0; double x1; } x7; struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } x8; void *x9; } *_geometryBuffer; unsigned long long _bufferCount; } @property (readonly, nonatomic) PXTilingCoordinateSpace *_coordinateSpace; @property (readonly, nonatomic) void *_coordinateSpaceIdentifier; @property (readonly, nonatomic) PXTilingCoordinateSpaceConverter *_coordinateSpaceConverter; @property (retain, nonatomic, setter=_setCurrentLayout:) PXTilingLayout *currentLayout; @property (retain, nonatomic, setter=_setTargetLayout:) PXTilingLayout *targetLayout; @property (weak, nonatomic, setter=_setLayoutWithInitializedVisibleOrigin:) PXTilingLayout *_layoutWithInitializedVisibleOrigin; @property (nonatomic, setter=_setReferenceSize:) struct CGSize { double width; double height; } _referenceSize; @property (nonatomic, setter=_setContentInset:) struct UIEdgeInsets { double top; double left; double bottom; double right; } _contentInset; @property (nonatomic, setter=_setActiveRect:) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } _activeRect; @property (nonatomic, setter=_setVisibleRect:) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } _visibleRect; @property (nonatomic, setter=_setUpdatedPreferredVisibleOrigin:) struct CGPoint { double x; double y; } _updatedPreferredVisibleOrigin; @property (nonatomic, setter=_setLayoutDesiredOrigin:) struct CGPoint { double x; double y; } _layoutDesiredOrigin; @property (copy, nonatomic, setter=_setScrollInfo:) PXTilingScrollInfo *_scrollInfo; @property (nonatomic, setter=_setPagedRect:) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } _pagedRect; @property (nonatomic, setter=_setCachedRect:) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } _cachedRect; @property (readonly, nonatomic) PXTileStatePool *_tileStates; @property (readonly, nonatomic) PXTilingChange *_currentChange; @property (nonatomic, setter=_setDirtyRect:) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } _dirtyRect; @property (readonly, nonatomic) NSMutableIndexSet *_dirtyTileIndexes; @property (readonly, nonatomic) NSMutableArray *_preheatRecords; @property (nonatomic, setter=_setMaxPreheatPadding:) struct UIEdgeInsets { double top; double left; double bottom; double right; } _maxPreheatPadding; @property (weak, nonatomic) id observer; @property (copy, nonatomic) NSArray *compositionInvalidationContexts; @property (readonly, nonatomic) struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } layoutContentBounds; @property (readonly, nonatomic) struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } layoutScrollBounds; @property (readonly, nonatomic) struct CGPoint { double x0; double x1; } layoutPreferredOrigin; @property (readonly, nonatomic) struct CGPoint { double x0; double x1; } layoutOrigin; @property (readonly, nonatomic) PXTilingScrollInfo *scrollInfo; @property (weak, nonatomic) id debugDelegate; @property (readonly, nonatomic) PXTilingControllerDebugInfo *debugInfo; @property (weak, nonatomic) id scrollController; @property (weak, nonatomic) id tileSource; @property (weak, nonatomic) id tileAnimator; @property (weak, nonatomic) id scrollDelegate; @property (weak, nonatomic) id transitionDelegate; @property (nonatomic) BOOL shouldAggressivelyEvictTileCaches; @property (readonly, nonatomic) void *contentCoordinateSpaceIdentifier; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; - (id)debugQuickLookObject; - (id)init; - (void)dealloc; - (void)updateLayout; - (BOOL)_needsUpdate; - (void)transitionToLayout:(id)a0; - (void)_setNeedsUpdate; - (id)initWithLayout:(id)a0; - (void)_updateLayoutVisibleRectIfNeeded; - (void).cxx_destruct; - (void)_invalidateRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void)updateMetrics; - (void)endUpdate; - (void)beginUpdate; - (void)_invalidateLayoutVisibleRect; - (id)_currentChangeIfExists; - (void)_discardCurrentChange; - (void)_ensureCurrentChange; - (void)_fillBuffersWithTileStatesAtIndexes:(id)a0; - (void)_handleTileAnimationCompletionWithIndex:(unsigned long long)a0; - (id)_indexesOfVisibleTilesInRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 withOptions:(id)a1; - (void)_invalidateAllCachedRects; - (void)_invalidateCachesOutsideRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void)_invalidateLayoutMetrics; - (void)_invalidateLayoutPosition; - (void)_invalidateLayoutPreferredVisibleOrigin; - (void)_invalidateLayoutPreparation; - (void)_invalidateMaxPreheatPadding; - (void)_invalidatePagedRect; - (void)_invalidatePreheating; - (void)_invalidateScrollControllerMetrics; - (void)_invalidateScrollInfo; - (void)_invalidateTiles; - (void)_markRectAsCached:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (id)_preheatRecordForPreheatHandler:(id)a0 context:(void *)a1 createIfNeeded:(BOOL)a2; - (void)_prepareBufferForCount:(unsigned long long)a0; - (void)_updateDebugDelegateIfNeeded; - (void)_updateLayoutMetricsIfNeeded; - (void)_updateLayoutPositionIfNeeded; - (void)_updateLayoutPreferredVisibleOriginIfNeeded; - (void)_updateLayoutPreparationIfNeeded; - (void)_updateMaxPreheatPaddingIfNeeded; - (void)_updatePagedRectIfNeeded; - (void)_updatePreheatingIfNeeded; - (void)_updateScrollControllerMetricsIfNeeded; - (void)_updateScrollInfoIfNeeded; - (void)_updateTilesIfNeeded; - (struct CGPoint { double x0; double x1; })convertPointFromLayout:(struct CGPoint { double x0; double x1; })a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })convertRectFromLayout:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (id)convertScrollInfoFromLayout:(id)a0; - (void)enumerateTilesInRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 withOptions:(id)a1 usingBlock:(id /* block */)a2; - (BOOL)getTile:(out void **)a0 geometry:(out struct PXTileGeometry { struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } x0; struct CGPoint { double x0; double x1; } x1; struct CGSize { double x0; double x1; } x2; struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; } x3; double x4; double x5; BOOL x6; struct CGSize { double x0; double x1; } x7; struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } x8; void *x9; } *)a1 group:(out unsigned long long *)a2 userData:(out id *)a3 forTileWithIdentifier:(struct PXTileIdentifier { unsigned long long x0; unsigned long long x1[10]; })a4; - (struct PXTileIdentifier { unsigned long long x0; unsigned long long x1[10]; })hitTestTileAtPoint:(struct CGPoint { double x0; double x1; })a0 padding:(struct UIEdgeInsets { double x0; double x1; double x2; double x3; })a1 passingTest:(id /* block */)a2; - (id)imageTileWithIdentifier:(struct PXTileIdentifier { unsigned long long x0; unsigned long long x1[10]; })a0; - (void)invalidateLayoutPreferredVisibleOrigin; - (void)invalidateScrollControllerMetrics; - (void)registerPreheatHandler:(id)a0 withPadding:(struct UIEdgeInsets { double x0; double x1; double x2; double x3; })a1 tileGroup:(unsigned long long)a2 context:(void *)a3; - (void)requestFocus; - (void)setLayoutOrigin:(struct CGPoint { double x0; double x1; })a0; - (void)setReferenceSize:(struct CGSize { double x0; double x1; })a0 contentInset:(struct UIEdgeInsets { double x0; double x1; double x2; double x3; })a1; - (struct PXTileIdentifier { unsigned long long x0; unsigned long long x1[10]; })tileIdentifierForTile:(void *)a0; - (void)tilingLayout:(id)a0 invalidatedWithContext:(id)a1; - (id)titleSubtitleTileWithIdentifier:(struct PXTileIdentifier { unsigned long long x0; unsigned long long x1[10]; })a0; - (void)unregisterPreheatHandler:(id)a0 context:(void *)a1; @end