luxlabs header browser preview


@class NSCache, PXGZoomLayout, PXZoomableInlineHeadersLayout, PXAssetReference, NSMutableSet, NSString, PXGBurstStackEffect, PXGEdgeStretchEffect, PXGItemsLayout, NSArray, PXAssetsDataSource, PXZoomablePhotosViewModel, PXMediaProvider, PXGAnchor, PXGOneColumnLayout, PXAssetsDataSourceManager, PXPhotosGridAssetDecorationSource, PXZoomablePhotosLayoutSpec, NSMapTable, PXNumberAnimator, NSDateInterval;
@protocol PXDisplayAssetFetchResult, PXZoomablePhotosContentLayout;

@interface PXZoomablePhotosLayout : PXGSplitLayout <PXAssetsDataSourceManagerObserver, PXChangeObserver, PXGDisplayAssetSource, PXZoomableInlineHeadersLayoutGeometrySource, PXGItemsLayoutDelegate, PXCuratedLibraryBodyLayout, PXPhotosSectionedLayoutBody> {
    struct { unsigned long long needsUpdate; unsigned long long updated; BOOL isPerformingUpdate; BOOL willPerformUpdate; } _preUpdateFlags;
    struct { unsigned long long needsUpdate; unsigned long long updated; BOOL isPerformingUpdate; BOOL willPerformUpdate; } _postUpdateFlags;
    PXGZoomLayout *_zoomLayout;
    PXGEdgeStretchEffect *_edgeStretchEffect;
    unsigned int _pinchEffectCaptureSpriteIndex;
    struct _PXGSpriteIndexRange { unsigned int location; unsigned int length; } _lightBackgroundSpriteIndexRange;
    unsigned int _backgroundMediaVersion;
    PXZoomableInlineHeadersLayout *_inlineHeadersLayout;
    PXAssetsDataSourceManager *_dataSourceManager;
    PXAssetsDataSource *_currentDataSource;
    PXMediaProvider *_preheatMediaProvider;
    struct _NSRange { unsigned long long location; unsigned long long length; } _preheatedThumbsForItemsByColumnIndex[10];
    BOOL _isPreheatingByColumnIndex[10];
    BOOL _isPerformingUpdate;
    struct _NSRange { unsigned long long location; unsigned long long length; } _prefetchedForLoadedItems;
    struct _NSRange { unsigned long long location; unsigned long long length; } _cachedClampedItemRange;
    id<PXDisplayAssetFetchResult> _cachedClampedFetchResult;
    NSArray *_layers;
    NSArray *_itemLayouts;
    PXGItemsLayout<PXZoomablePhotosContentLayout> *_itemLayoutByHeaderLevel[2];
    PXGItemsLayout<PXZoomablePhotosContentLayout> *_decadesItemLayout;
    NSMutableSet *_itemLayoutsAllowedToLoad;
    PXNumberAnimator *_decorationAlphaAnimator;
    NSDateInterval *_lastReturnedDateInterval;
    long long _lastReturnedDateIntervalDataSourceIdentifier;
    NSArray *_lastReturnedLocationNames;
    long long _lastReturnedLocationNamesDataSourceIdentifier;
    BOOL _scrolledWhileAnimatingZoom;
    BOOL _performedInitialVisualShift;
    long long _visuallyStableAnchorItem;
    long long _visuallyStableAnchorItemDesiredColumn;
    BOOL _visuallyStableAnchorAllowedCloseToTop;
    PXGBurstStackEffect *_burstStackEffect;
    struct _PXGSpriteIndexRange { unsigned int location; unsigned int length; } _debugVisualizationSpriteIndexRange;
    NSArray *_debugVisualizationSpriteTitles;
    struct UIEdgeInsets { double top; double left; double bottom; double right; } _surroundingScrollableContent;
    NSCache *_providedEffectByAsset;
}

@property (readonly, nonatomic) PXZoomablePhotosLayoutSpec *spec;
@property (readonly, nonatomic) PXGAnchor *anchor;
@property (readonly, nonatomic) struct CGPoint { double x; double y; } scaleCenterTargetInViewport;
@property (retain, nonatomic) PXAssetReference *anchorAssetReference;
@property (readonly, nonatomic) struct CGPoint { double x; double y; } normalizedScaleCenterInAnchorSprite;
@property (readonly, nonatomic) NSMapTable *visualAnchorAssetReferenceItemByLayout;
@property (readonly, nonatomic) BOOL shouldAnimateTowardsAnchor;
@property (readonly, nonatomic) BOOL wasTracking;
@property (readonly, nonatomic) PXGItemsLayout<PXZoomablePhotosContentLayout> *primaryItemsLayout;
@property (readonly, nonatomic) PXGOneColumnLayout *oneColLayout;
@property (nonatomic) struct UIEdgeInsets { double top; double left; double bottom; double right; } effectiveOverlayInsets;
@property (nonatomic) BOOL wantsOverBackgroundFloatingHeaderAppearance;
@property (readonly, nonatomic) PXGBurstStackEffect *burstStackEffect;
@property (copy, nonatomic) id /* block */ effectProvider;
@property (nonatomic) BOOL enableAddContentAccessoryItem;
@property (readonly, nonatomic) PXZoomablePhotosViewModel *viewModel;
@property (readonly, nonatomic) PXAssetsDataSource *presentedDataSource;
@property (readonly, nonatomic) PXPhotosGridAssetDecorationSource *assetDecorationSource;
@property (nonatomic) struct UIEdgeInsets { double top; double left; double bottom; double right; } overlayInsets;
@property (nonatomic) struct UIEdgeInsets { double top; double left; double bottom; double right; } inlineHeaderOverlayInsets;
@property (nonatomic) BOOL preventFillingTopAreaInsets;
@property (copy, nonatomic) id /* block */ addContentHandler;
@property (nonatomic) long long bodyLayoutAXGroupRole;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (void)getBestAnchorColumns:(long long *)a0 forItemLayouts:(id)a1 startingAtBaseLayout:(id)a2 anchorItem:(long long)a3 normalizedScaleCenterInAnchor:(struct CGPoint { double x0; double x1; })a4 biasTowardsCenter:(BOOL)a5;
+ (id)visualizeBestAnchorColumnsForLayouts:(id)a0 imageWidth:(double)a1;

- (void)didUpdate;
- (id)debugQuickLookObject;
- (id /* block */)locationNamesFutureForContentInRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0;
- (void)_updateDataSource;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })itemsLayout:(id)a0 bestCropRectForItem:(long long)a1 withAspectRatio:(double)a2;
- (id)layoutSnapshotDataSource;
- (struct CGSize { double x0; double x1; })itemsLayout:(id)a0 insetForItem:(long long)a1;
- (id /* block */)dateIntervalFutureForContentInRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 type:(unsigned long long)a1;
- (id)init;
- (id)_debugColors;
- (void)_configureLayout:(id)a0;
- (void)_updateZoomTransforms;
- (id)initWithViewModel:(id)a0;
- (Class)viewClassForSpriteAtIndex:(unsigned int)a0 inLayout:(id)a1;
- (unsigned long long)supportedDisplayAssetPresentationStylesInLayout:(id)a0;
- (void)observable:(id)a0 didChange:(unsigned long long)a1 context:(void *)a2;
- (void)scrollSpeedRegimeDidChange;
- (long long)itemsLayout:(id)a0 itemForObjectReference:(id)a1 options:(unsigned long long)a2;
- (void)entityManagerDidChange;
- (void)_updateVisualShifting;
- (void)_updateDecorationVisibility;
- (unsigned long long)contentChangeTrend;
- (unsigned int)itemsLayout:(id)a0 effectIdForItem:(long long)a1;
- (void)willUpdate;
- (void)itemsLayout:(id)a0 updateTagsInSpriteInfos:(struct { unsigned char x0; unsigned char x1; float x2; long long x3; unsigned short x4; unsigned char x5; } *)a1 forItemsInRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a2;
- (void)_updateLayers;
- (id)colorAtIndex:(unsigned int)a0 inLayout:(id)a1;
- (id)axSpriteIndexes;
- (void)update;
- (void)_updateEffectiveOverlayInsets;
- (unsigned long long)behaviorForCaptureSpriteAtIndex:(unsigned int)a0 inLayout:(id)a1;
- (id)_displayAssetForItem:(long long)a0;
- (id)_displayFaceForItem:(long long)a0;
- (void)visibleRectDidChange;
- (id)displayAssetRequestObserverForSpritesInRange:(struct _PXGSpriteIndexRange { unsigned int x0; unsigned int x1; })a0 inLayout:(id)a1;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })frameForItemAtIndexPath:(struct PXSimpleIndexPath { long long x0; long long x1; long long x2; long long x3; })a0 level:(unsigned long long)a1;
- (unsigned long long)desiredPlaceholderStyleInLayout:(id)a0;
- (void)_updatePrefetching;
- (void)appearStateDidChange;
- (void)axGroup:(id)a0 didChange:(unsigned long long)a1 userInfo:(id)a2;
- (void)displayScaleDidChange;
- (void)_updateDecorationSource;
- (BOOL)_layoutIsAspectFit:(id)a0;
- (BOOL)_performVisualShiftWithLayout:(id)a0 movingItem:(long long)a1 toColumn:(long long)a2;
- (void)_updateBackgroundSprites;
- (void)setSpec:(id)a0;
- (id)attributedStringForSpriteAtIndex:(unsigned int)a0 inLayout:(id)a1;
- (long long)_estimatedItemsPerScreenForLayout:(id)a0;
- (void)_updateFloatingHeaderStyle;
- (BOOL)_wantsDecorationForNumberOfColumns:(long long)a0;
- (id)stringAtIndex:(unsigned int)a0 inLayout:(id)a1;
- (void)_performAnchorAlignmentVisualShiftWithBaseLayout:(id)a0;
- (void)_updateDebugVisualizationSprites;
- (BOOL)isAnimating;
- (id)objectReferenceForSpriteIndex:(unsigned int)a0;
- (struct CGSize { double x0; double x1; })_scaleForLayout:(id)a0;
- (struct { struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; } x0; double x1; })_spriteTransformForLayout:(id)a0;
- (BOOL)_wantsMiniDecorationForNumberOfColumns:(long long)a0;
- (id)hitTestResultForSpriteIndex:(unsigned int)a0;
- (BOOL)_layoutAllowsCaptionsInSquare:(id)a0;
- (double)_itemCaptionSpacingForLayout:(id)a0;
- (void)_ensureZoomingAnchor;
- (id)presentedItemsGeometryForDataSource:(id)a0;
- (void).cxx_destruct;
- (void)invalidateItemsLayout;
- (BOOL)_layoutHasIndividualItems:(id)a0;
- (id)itemsLayout:(id)a0 objectReferenceForItem:(long long)a1;
- (id)viewUserDataForSpriteAtIndex:(unsigned int)a0 inLayout:(id)a1;
- (long long)sublayoutIndexForObjectReference:(id)a0 options:(unsigned long long)a1 updatedObjectReference:(out id *)a2;
- (long long)verticalAlignmentForStringAtIndex:(unsigned int)a0 inLayout:(id)a1;
- (BOOL)useLowMemoryDecodeInLayout:(id)a0;
- (BOOL)_layoutIsQuiteTransparent:(id)a0;
- (struct { struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; } x0; double x1; })spriteTransformForLevel:(unsigned long long)a0;
- (double)_interItemSpacingForLayout:(id)a0;
- (id)displayAssetFetchResultForSpritesInRange:(struct _PXGSpriteIndexRange { unsigned int x0; unsigned int x1; })a0 inLayout:(id)a1;
- (id)customPixelBufferSourcesProviderForDisplayAssetsInLayout:(id)a0;
- (void)_updateSurroundingScrollableContent;
- (struct UIEdgeInsets { double x0; double x1; double x2; double x3; })floatingHeadersMarginsForLevel:(unsigned long long)a0;
- (double)itemsLayout:(id)a0 aspectRatioForItem:(long long)a1;
- (void)_updateZoom;
- (id)stringAttributesAtIndex:(unsigned int)a0 inLayout:(id)a1;
- (id)itemsGeometry;
- (struct { union { struct { float x0; float x1; float x2; float x3; } x0; float x1[4]; } x0; })itemsLayout:(id)a0 cornerRadiusForItem:(long long)a1;
- (void)_updatePinchEffect;
- (void)enumerateVisibleAnchoringSpriteIndexesUsingBlock:(id /* block */)a0;
- (void)containingScrollViewDidScroll:(struct CGPoint { double x0; double x1; })a0;
- (struct _NSRange { unsigned long long x0; unsigned long long x1; })_rangeOfItemsForContentInRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0;
- (BOOL)_isAllowedToShiftItem:(long long)a0 inLayout:(id)a1;
- (void)enumerateVisibleAnchoringLayoutsUsingBlock:(id /* block */)a0;
- (void)_updateEffectProvider;
- (struct CGSize { double x0; double x1; })minSpriteSizeForPresentationStyle:(unsigned long long)a0;
- (void)_callAddContentActionHandler;
- (id)_createLayoutWithNumberOfColumns:(long long)a0;
- (BOOL)_layoutWantsSingleDateTitle;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })boundsForLevel:(unsigned long long)a0;

@end