luxlabs header browser preview


@class AVAsset, PXTitleSubtitleUILabel, ISWrappedAVAudioSession, NSString, PHLivePhotoView, UIImage, PUBackgroundColorView, PUAvalancheStackView, PUPhotoDecoration, PHAnimatedImage, PXFeatureSpec, UIView, PXTextBannerView, ISWrappedAVPlayer, ISAnimatedImageView, UIImageView, PXUIAssetBadgeView, PXVideoPlayerView, PXRoundedCornerOverlayView, UIColor, PXCollectionTileLayoutTemplate, PHLivePhoto;
@protocol PUPhotoViewContentHelperDelegate;

@interface PUPhotoViewContentHelper : NSObject <PHLivePhotoViewDelegate> {
    PUBackgroundColorView *_photoDecorationBorderView;
    PUBackgroundColorView *_photoDecorationOverlayView;
    BOOL _hasTransform;
    BOOL _hasLayerBackgroundColor;
    struct { BOOL respondsToLivePhotoWillBeginPlaybackWithStyle; } _delegateFlags;
    BOOL _hasPendingPlaybackRequest;
    long long _pendingPlaybackRequestStyle;
    UIColor *_layerDefaultBackgroundColor;
    struct { BOOL titleSubtitleUILabel; BOOL loopingVideoView; BOOL animatedImageView; } _needsUpdateFlags;
    PXVideoPlayerView *_loopingVideoView;
    ISWrappedAVPlayer *_loopingVideoPlayer;
    ISAnimatedImageView *_animatedImageView;
}

@property (retain, nonatomic) UIImageView *photoImageView;
@property (retain, nonatomic) UIView *darkContentOverlay;
@property (retain, nonatomic) UIImageView *_crossfadeImageView;
@property (retain, nonatomic) PUAvalancheStackView *avalancheStackView;
@property (retain, nonatomic) PHLivePhotoView *livePhotoView;
@property (retain, nonatomic) PXRoundedCornerOverlayView *roundedCornerOverlayView;
@property (retain, nonatomic, setter=_setHighlightOverlayView:) UIView *_highlightOverlayView;
@property (retain, nonatomic, setter=_setBadgeView:) PXUIAssetBadgeView *_badgeView;
@property (retain, nonatomic, setter=_setTitleSubtitleUILabel:) PXTitleSubtitleUILabel *_titleSubtitleLabel;
@property (retain, nonatomic, setter=_setAudioSession:) ISWrappedAVAudioSession *_audioSession;
@property (readonly, weak, nonatomic) UIView *contentView;
@property (nonatomic) long long fillMode;
@property (nonatomic) struct CGAffineTransform { double a; double b; double c; double d; double tx; double ty; } imageTransform;
@property (nonatomic) struct CGSize { double width; double height; } photoSize;
@property (readonly, nonatomic) struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } imageContentFrame;
@property (retain, nonatomic) UIImage *photoImage;
@property (retain, nonatomic) UIImage *placeHolderImage;
@property (retain, nonatomic) UIView *transitionSnapshotView;
@property (copy, nonatomic) PUPhotoDecoration *photoDecoration;
@property (nonatomic, getter=isImageViewEdgeAntialiasingEnabled) BOOL imageViewEdgeAntialiasingEnabled;
@property (nonatomic) BOOL avoidsImageViewIfPossible;
@property (nonatomic) BOOL flattensBadgeView;
@property (nonatomic) BOOL avoidsPhotoDecoration;
@property (readonly, nonatomic) UIView *badgeContainerView;
@property (readonly, nonatomic) BOOL providesVisualFeedbackOnPress;
@property (nonatomic, getter=isAnimatingRoundedCorners) BOOL animatingRoundedCorners;
@property (nonatomic) double cornerRadius;
@property (nonatomic) BOOL continuousCorners;
@property (readonly, nonatomic) unsigned long long cornersToRound;
@property (nonatomic) BOOL useOverlay;
@property (retain, nonatomic) UIColor *overlayColor;
@property (nonatomic) double contentAlpha;
@property (nonatomic) double darkContentOverlayAlpha;
@property (nonatomic, getter=isHighlighted) BOOL highlighted;
@property (retain, nonatomic) UIColor *backgroundColor;
@property (nonatomic, getter=isLivePhotoHidden) BOOL livePhotoHidden;
@property (weak, nonatomic) id<PUPhotoViewContentHelperDelegate> delegate;
@property (retain, nonatomic) PHLivePhoto *livePhoto;
@property (nonatomic) BOOL shouldPrepareForPlayback;
@property (copy, nonatomic) AVAsset *loopingVideoAsset;
@property (retain, nonatomic) PHAnimatedImage *animatedImage;
@property (nonatomic) BOOL loopingPlaybackAllowed;
@property (nonatomic) BOOL showsLivePhoto;
@property (nonatomic) BOOL needsAvalancheStack;
@property (nonatomic) struct CGColor { } *avalancheStackBackgroundColor;
@property (nonatomic) struct PXAssetBadgeInfo { unsigned long long badges; double duration; long long count; long long fileSize; } badgeInfo;
@property (nonatomic) long long badgeStyle;
@property (nonatomic) struct CGSize { double width; double height; } customPaddingForBadgeElements;
@property (nonatomic, getter=isTextBannerVisible) BOOL textBannerVisible;
@property (readonly, nonatomic) PXTextBannerView *textBannerView;
@property (retain, nonatomic) PXFeatureSpec *featureSpec;
@property (retain, nonatomic) PXCollectionTileLayoutTemplate *collectionTileLayoutTemplate;
@property (retain, nonatomic) NSString *titleFontName;
@property (retain, nonatomic) NSString *title;
@property (retain, nonatomic) NSString *subtitle;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_imageContentFrameForBounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 imageSize:(struct CGSize { double x0; double x1; })a1 fillMode:(long long)a2;
+ (struct CGSize { double x0; double x1; })sizeThatFits:(struct CGSize { double x0; double x1; })a0 imageSize:(struct CGSize { double x0; double x1; })a1 fillMode:(long long)a2;

- (void)livePhotoView:(id)a0 willBeginPlaybackWithStyle:(long long)a1;
- (id)initWithContentView:(id)a0;
- (void)_updateSubviewOrdering;
- (id)init;
- (void)_updateImageView;
- (void)_updateHighlight;
- (BOOL)_needsUpdate;
- (void)stopPlayback;
- (void)_updateIfNeeded;
- (void).cxx_destruct;
- (void)startPlaybackWithStyle:(long long)a0;
- (void)_invalidateBadgeView;
- (void)_updateLivePhotoView;
- (void)setCornersToRound:(unsigned long long)a0;
- (void)_updateContentViewClipsToBounds;
- (void)_updateLoopingVideoViewIfNeeded;
- (void)_invalidateTitleSubtitleUILabel;
- (void)_addAvalancheStackViewIfNecessary;
- (void)_invalidateAnimatedImageView;
- (void)_invalidateLoopingVideoView;
- (void)_removeAvalancheStackViewIfNecessary;
- (void)_removePhotoImageViewIfNecessary;
- (void)_startPlaybackWhenLivePhotoAvailableWithStyle:(long long)a0;
- (void)_updateAnimatedImageViewIfNeeded;
- (void)_updateBadgeView;
- (void)_updateLayerBackgroundColorIfNeeded;
- (void)_updateLayerCornerRadius;
- (void)_updateLivePhotoViewPreparing;
- (void)_updateLivePhotoViewVisibility;
- (void)_updatePhotoDecoration;
- (void)_updateRoundedCornersOverlayView;
- (void)_updateTextBannerView;
- (void)_updateTitleSubtitleUILabelIfNeeded;
- (void)animateCrossfadeToImage:(id)a0;
- (void)contentViewDynamicUserInterfaceTraitDidChange;
- (struct CGSize { double x0; double x1; })contentViewSizeThatFits:(struct CGSize { double x0; double x1; })a0;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })imageContentFrameForBounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0;
- (void)layoutSubviewsOfContentView;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })photoDecorationBorderViewFrameForImageContentFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0;
- (void)setCornerRadius:(double)a0 cornersToRound:(unsigned long long)a1 useOverlay:(BOOL)a2 overlayColor:(id)a3 continuousCorners:(BOOL)a4;
- (void)updatePhotoImageWithoutReconfiguring:(id)a0;

@end