luxlabs header browser preview


@class PXPhotosDetailsLoadCoordinationToken, PXBasicUIViewTileAnimator, PXReusableObjectPool, PXPhotosDetailsHeaderPreviewTile, PXUIPlayButtonTile, NSMutableSet, NSString, PXPhotosDetailsContext, PXUITapGestureRecognizer, PXPhotoKitUIMediaProvider, PXOneUpPresentation, PHFetchResult, PXPhotosDataSource, NSObject, PHAssetCollection, PXImageRequester, PXTilingController, PXMoviePresenter, PXAssetActionManager, PXSectionedSelectionManager, PXTitleSubtitleUILabelTile, PXWidgetSpec, PXPhotosDetailsHeaderSpec, PXPhotosDetailsHeaderSpecManager;
@protocol PXDisplayAsset, PXWidgetDelegate, PXWidgetEditingDelegate, OS_dispatch_queue, PXWidgetInteractionDelegate, PXWidgetUnlockDelegate, PXAnonymousView;

@interface PXPhotosDetailsHeaderTileWidget : NSObject <PXTileSource, PXTilingControllerTransitionDelegate, PXReusableObjectPoolDelegate, UIGestureRecognizerDelegate, PXChangeObserver, PXPhotosDataSourceChangeObserver, PXPhotosDetailsHeaderTileLayoutDelegate, PXUIPlayButtonTileDelegate, PXUIWidget, PXDiagnosticsEnvironment> {
    NSObject<OS_dispatch_queue> *_internalWorkQueue;
    PXPhotosDetailsHeaderSpecManager *_specManager;
    PXTilingController *_tilingController;
    PXPhotoKitUIMediaProvider *_mediaProvider;
    PXReusableObjectPool *_tilePool;
    NSMutableSet *_tilesInUse;
    PXBasicUIViewTileAnimator *_tileAnimator;
    PXUITapGestureRecognizer *_tapGestureRecognizer;
    PXUITapGestureRecognizer *_pressGestureRecognizer;
    PXImageRequester *_primaryAssetImageRequester;
    struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } _keyAssetCropRect;
    struct { BOOL keyAssets; BOOL assetCollection; BOOL curatedAssetCollection; } _needsUpdateFlags;
}

@property (retain, nonatomic, setter=_setPhotosDataSource:) PXPhotosDataSource *_photosDataSource;
@property (retain, nonatomic, setter=_setHeaderSpec:) PXPhotosDetailsHeaderSpec *_headerSpec;
@property (retain, nonatomic) PXPhotosDetailsHeaderPreviewTile *previewTile;
@property (retain, nonatomic, setter=_setPlayButtonTile:) PXUIPlayButtonTile *_playButtonTile;
@property (retain, nonatomic, setter=_setTitleTile:) PXTitleSubtitleUILabelTile *_titleTile;
@property (nonatomic, getter=_isBasicContentLoaded, setter=_setBasicContentLoaded:) BOOL _basicContentLoaded;
@property (nonatomic) BOOL canLoadContentData;
@property (retain, nonatomic, setter=_setLoadCoordinationToken:) PXPhotosDetailsLoadCoordinationToken *_loadCoordinationToken;
@property (retain, nonatomic, setter=_setKeyAssetsFetchResult:) PHFetchResult *_keyAssetsFetchResult;
@property (retain, nonatomic, setter=_setAssetCollection:) PHAssetCollection *_assetCollection;
@property (retain, nonatomic, setter=_setCuratedAssetCollection:) PHAssetCollection *_curatedAssetCollection;
@property (nonatomic, setter=_setHasLoadedContentData:) BOOL hasLoadedContentData;
@property (nonatomic, setter=_setContentSize:) struct CGSize { double width; double height; } _contentSize;
@property (retain, nonatomic) PXMoviePresenter *moviePresenter;
@property (readonly, nonatomic) id<PXDisplayAsset> presentedKeyAsset;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;
@property (retain, nonatomic) PXOneUpPresentation *oneUpPresentation;
@property (readonly, nonatomic) BOOL cursorInteractionEnabled;
@property (weak, nonatomic) id<PXWidgetDelegate> widgetDelegate;
@property (weak, nonatomic) id<PXWidgetInteractionDelegate> widgetInteractionDelegate;
@property (weak, nonatomic) id<PXWidgetUnlockDelegate> widgetUnlockDelegate;
@property (weak, nonatomic) id<PXWidgetEditingDelegate> widgetEditingDelegate;
@property (retain, nonatomic) PXPhotosDetailsContext *context;
@property (retain, nonatomic) PXWidgetSpec *spec;
@property (readonly, nonatomic) BOOL hasContentForCurrentInput;
@property (readonly, nonatomic) double extraSpaceNeededAtContentBottom;
@property (readonly, nonatomic) BOOL wantsNoSpaceAfterContentBottom;
@property (readonly, nonatomic) NSObject<PXAnonymousView> *contentView;
@property (readonly, nonatomic) long long contentViewAnchoringType;
@property (readonly, nonatomic) PXTilingController *contentTilingController;
@property (readonly, nonatomic) long long contentLayoutStyle;
@property (readonly, nonatomic) NSString *localizedTitle;
@property (readonly, nonatomic) NSString *localizedSubtitle;
@property (readonly, nonatomic) NSString *localizedCaption;
@property (readonly, nonatomic) NSString *localizedDisclosureTitle;
@property (readonly, nonatomic) BOOL allowUserInteractionWithSubtitle;
@property (nonatomic, getter=isUserInteractionEnabled) BOOL userInteractionEnabled;
@property (readonly, nonatomic) BOOL supportsSelection;
@property (nonatomic, getter=isSelecting) BOOL selecting;
@property (readonly, nonatomic) BOOL supportsFaceMode;
@property (nonatomic, getter=isFaceModeEnabled) BOOL faceModeEnabled;
@property (readonly, nonatomic) PXSectionedSelectionManager *selectionManager;
@property (readonly, nonatomic) PXAssetActionManager *assetActionManager;
@property (readonly, nonatomic) BOOL wantsFocus;
@property (readonly, nonatomic) NSString *snappableWidgetIdentifier;
@property (readonly, nonatomic) BOOL isInEditMode;
@property (nonatomic) struct CGSize { double x0; double x1; } maxVisibleSizeInEditMode;

+ (BOOL)canShowMovieHeaderForDataSource:(id)a0;
+ (double)preferredHeaderContentHeightForWidth:(double)a0 screen:(id)a1;

- (void)_updateLayoutStyle;
- (id)_title;
- (id)extendedTraitCollection;
- (id)_subtitle;
- (id)init;
- (void)setContentSize:(struct CGSize { double x0; double x1; })a0;
- (void)observable:(id)a0 didChange:(unsigned long long)a1 context:(void *)a2;
- (BOOL)_needsUpdate;
- (void)photosDataSource:(id)a0 didChange:(id)a1;
- (BOOL)gestureRecognizerShouldBegin:(id)a0;
- (void).cxx_destruct;
- (id)px_diagnosticsItemProvidersForPoint:(struct CGPoint { double x0; double x1; })a0 inCoordinateSpace:(id)a1;
- (void)_handleTapGesture:(id)a0;
- (id)_titleFontName;
- (id)keyAsset;
- (BOOL)_showPlaceholder;
- (struct CGSize { double x0; double x1; })_playButtonSize;
- (id)viewToBeFocused;
- (void)loadContentData;
- (void)playMovieWithCompletionHandler:(id /* block */)a0;
- (double)preferredContentHeightForWidth:(double)a0;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_contentRectInCoordinateSpace:(id)a0 withIdentifier:(struct PXTileIdentifier { unsigned long long x0; unsigned long long x1[10]; })a1;
- (id)_contentRegionOfInterestForTileWithIdentifier:(struct PXTileIdentifier { unsigned long long x0; unsigned long long x1[10]; })a0;
- (void)_filterOutVideosFromAssetCollection:(id)a0 filteredAssetCollection:(id *)a1 assets:(id *)a2;
- (void)_headerSpecDidChange;
- (void)_invalidateAssetCollection;
- (void)_invalidateCuratedAssetCollection;
- (void)_invalidateKeyAssets;
- (BOOL)_isPointWithinCurrentLayoutBounds:(struct CGPoint { double x0; double x1; })a0;
- (void)_loadBasicContent;
- (id)_playButtonLocalizedTitle;
- (id)_scrollViewController;
- (BOOL)_startMovie;
- (void *)_tileForIdentifier:(struct PXTileIdentifier { unsigned long long x0; unsigned long long x1[10]; })a0 layout:(id)a1;
- (void)_updateAssetCollectionIfNeeded;
- (void)_updateBasicContent;
- (void)_updateCuratedAssetCollectionIfNeeded;
- (void)_updateKeyAssetCropRect;
- (void)_updateKeyAssetsIfNeeded;
- (void)_updatePreview;
- (void)_updateTitleTile;
- (void)checkInTile:(void *)a0 withIdentifier:(struct PXTileIdentifier { unsigned long long x0; unsigned long long x1[10]; })a1;
- (void *)checkOutTileForIdentifier:(struct PXTileIdentifier { unsigned long long x0; unsigned long long x1[10]; })a0 layout:(id)a1;
- (BOOL)containsPoint:(struct CGPoint { double x0; double x1; })a0 forCoordinateSpace:(id)a1;
- (id)createHeaderSnapshotViewForMemoryCreationAnimation;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })photosDetailsHeaderTileLayout:(id)a0 contentsRectForAspectRatio:(double)a1;
- (id)photosDetailsHeaderTileLayoutFontName:(id)a0;
- (struct CGSize { double x0; double x1; })photosDetailsHeaderTileLayoutPlayButtonSize:(id)a0;
- (void)playButtonTileWasTapped:(id)a0;
- (id)regionOfInterestForContext:(id)a0;
- (id)tilingController:(id)a0 tileIdentifierConverterForChange:(id)a1;
- (id)tilingController:(id)a0 transitionAnimationCoordinatorForChange:(id)a1;

@end