luxlabs header browser preview


@class NSMutableIndexSet, SFUnifiedTabBarMetrics, NSIndexSet, NSArray, UIScrollView, SFUnifiedBarItem, SFUnifiedTabBarItemArrangement;

@interface SFUnifiedTabBarLayout : NSObject {
    UIScrollView *_scrollView;
    BOOL _flipped;
    BOOL _shouldSlideInNewTrailingTab;
    struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } _visibleRectOverride;
    struct CGSize { double width; double height; } _lastLayoutSize;
    struct CGPoint { double x; double y; } _lastLayoutMidpoint;
    struct CGPoint { double x; double y; } _lastLayoutContentOffset;
    double _activeItemWidth;
    double _itemWidth;
    double _squishedActiveItemWidth;
    double _leadingItemOffset;
    double _pinnedItemsWidth;
    BOOL _standalone;
    double _itemSpacing;
    double _transitioningItemScale;
    double _scrollSlowingInset;
    NSMutableIndexSet *_visibleItemIndexes;
    NSMutableIndexSet *_occludedItemIndexes;
    BOOL _expandedItemIsCentered;
    double _offsetForCenteringExpandedItem;
    double _activeItemWidthWhenNotExpanded;
}

@property (readonly, nonatomic) struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } _safeArea;
@property (readonly, nonatomic) SFUnifiedTabBarItemArrangement *itemArrangement;
@property (retain, nonatomic) SFUnifiedTabBarMetrics *barMetrics;
@property (nonatomic) struct CGPoint { double x; double y; } midpointForCenteredContent;
@property (readonly, nonatomic) BOOL activeItemIsSquished;
@property (readonly, nonatomic) BOOL contentIsCentered;
@property (readonly, nonatomic) BOOL centersActiveItemWhenExpanded;
@property (readonly, nonatomic) BOOL horizontalSpaceIsExtremelyConstrained;
@property (readonly, nonatomic) BOOL isCurrentlyScrollable;
@property (readonly, nonatomic) struct CGSize { double width; double height; } contentSize;
@property (readonly, nonatomic) NSIndexSet *visibleItemIndexes;
@property (readonly, nonatomic) NSArray *visibleItems;
@property (readonly, nonatomic) unsigned long long indexOfCenterItem;
@property (readonly, nonatomic) unsigned long long maximumNumberOfVisibleItems;
@property (retain, nonatomic) SFUnifiedBarItem *hoveringItem;
@property (readonly, nonatomic) struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } pinnedItemsSeparatorFrame;
@property (readonly, nonatomic) double pinnedItemsSeparatorOpacity;
@property (readonly, nonatomic) struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } pinnedItemDropArea;
@property (readonly, nonatomic) struct UIEdgeInsets { double x0; double x1; double x2; double x3; } autoScrollTouchInsets;

+ (unsigned long long)pinnedItemLimitForItemArrangement:(id)a0 tabBarWidth:(double)a1 barMetrics:(id)a2;

- (void)_updateContentSize;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })frameForItem:(id)a0;
- (void).cxx_destruct;
- (id)itemAtPoint:(struct CGPoint { double x0; double x1; })a0;
- (void)updateItemSizes;
- (id)itemClosestToPoint:(struct CGPoint { double x0; double x1; })a0 passingTest:(id /* block */)a1;
- (BOOL)_activeItemIsPinned;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_activeItemPinnableArea;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_adjustedActiveItemFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 pinActiveItem:(BOOL)a1 squishActiveItem:(BOOL)a2 centerExpandedItem:(BOOL)a3;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_contentArea;
- (struct CGPoint { double x0; double x1; })_contentOffsetForScrollingToRegionWithMinX:(double)a0 maxX:(double)a1 insets:(struct UIEdgeInsets { double x0; double x1; double x2; double x3; })a2;
- (void)_determineOffsetForCenteringExpandedItem;
- (double)_distanceToEdgeForItemAtIndex:(unsigned long long)a0 withFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 activeItemFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a2 occludedEdge:(unsigned long long *)a3;
- (double)_effectiveMinimumActiveItemWidth;
- (void)_enumerateFramesForItemsAtIndexes:(id)a0 pinActiveItem:(BOOL)a1 usingBlock:(id /* block */)a2;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_frameForItem:(id)a0 withOffset:(double)a1 pinActiveItem:(BOOL)a2 squishActiveItem:(BOOL)a3 centerExpandedItem:(BOOL)a4;
- (unsigned long long)_indexOfItemClosestToPoint:(struct CGPoint { double x0; double x1; })a0 passingTest:(id /* block */)a1;
- (double)_insetToRevealNextItem;
- (struct UIEdgeInsets { double x0; double x1; double x2; double x3; })_insetsForActiveItemPinnableArea;
- (struct UIEdgeInsets { double x0; double x1; double x2; double x3; })_insetsForScrollingToItemAtIndex:(unsigned long long)a0;
- (BOOL)_itemAtIndexIsPinned:(unsigned long long)a0;
- (double)_maximumActiveItemWidthForCenteringExpandedItem;
- (double)_maximumItemSpacing;
- (struct CGPoint { double x0; double x1; })_midpointForCenteredContentInScrollView;
- (double)_minimumHorizontalOffsetForOccludedItems;
- (double)_minimumItemSpacing;
- (double)_offsetForItemAtIndex:(unsigned long long)a0;
- (double)_offsetForItemAtIndex:(unsigned long long)a0 inItems:(id)a1;
- (double)_offsetForPinnedItemAtIndex:(unsigned long long)a0;
- (double)_pinnedActiveItemOffsetSquishingActiveItem:(BOOL)a0 activeItemFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } *)a1;
- (struct { struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } x0; double x1; double x2; double x3; BOOL x4; BOOL x5; double x6; })_scrollSlowingLayoutInfoForItemAtIndex:(unsigned long long)a0 withLayoutInfo:(struct { struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } x0; double x1; double x2; double x3; BOOL x4; BOOL x5; double x6; })a1 activeItemFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a2;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_slideFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 forItemAtIndex:(unsigned long long)a1 pinnedActiveItemOffset:(double)a2;
- (double)_spacingAfterItem:(id)a0;
- (double)_spacingBeforeItem:(id)a0;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_unpinnedFrameForItemAtIndex:(unsigned long long)a0;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_unpinnedItemSafeArea;
- (void)_updateItemWidths;
- (void)_updateSquishedActiveItemWidth;
- (double)_widthForItem:(id)a0;
- (double)_zPositionForItem:(id)a0;
- (struct CGPoint { double x0; double x1; })contentOffsetForScrollingToDroppingItems;
- (struct CGPoint { double x0; double x1; })contentOffsetForScrollingToItemAtIndex:(unsigned long long)a0;
- (void)enumerateFinalLayoutForDisappearingItemsAtIndexes:(id)a0 withDistanceScrolled:(double)a1 usingBlock:(id /* block */)a2;
- (void)enumerateInitialLayoutForAppearingItemsAtIndexes:(id)a0 withDistanceToScroll:(double)a1 usingBlock:(id /* block */)a2;
- (void)enumerateLayoutForItemsAtIndexes:(id)a0 usingBlock:(id /* block */)a1;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })frameForPreviewingItem:(id)a0 pinned:(BOOL)a1;
- (id)indexesOfItemsVisibleInRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0;
- (id)initWithItemArrangement:(id)a0 configuration:(id)a1;
- (id)itemsVisibleInRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0;
- (void)setItemAtIndex:(unsigned long long)a0 isOccluded:(BOOL)a1;
- (void)setItemAtIndex:(unsigned long long)a0 isVisible:(BOOL)a1;
- (void)updateItemSizesIfNeeded;

@end