luxlabs header browser preview


@class LPVisualMedia, NSString, LPVisualMediaViewStyle, UIView, LPVideo, UIImageView, LPVisualMediaViewConfiguration, CATextLayer, LPFullScreenVideoController, LPImage, LPImageViewStyle, UIGestureRecognizer;

@interface LPVisualMediaView : LPComponentView <CALayerDelegate, UIGestureRecognizerDelegate, LPInProcessMediaPlayable, LPComponentMediaPlayable> {
    LPVideo *_video;
    LPVisualMediaViewStyle *_style;
    LPImage *_posterFrame;
    LPImageViewStyle *_posterFrameStyle;
    LPVisualMediaViewConfiguration *_configuration;
    UIView *_playButtonContainerView;
    UIView *_playButtonView;
    UIView *_muteButtonContainerView;
    UIImageView *_muteButtonView;
    UIView *_videoPlaceholderView;
    UIView *_visualEffectView;
    UIView *_pulsingLoadView;
    UIView *_containerView;
    CATextLayer *_debugIndicator;
    UIGestureRecognizer *_tapRecognizer;
    UIGestureRecognizer *_playButtonTapRecognizer;
    LPFullScreenVideoController *_fullScreenController;
    BOOL _playing;
    BOOL _hasBuilt;
    BOOL _wasPlayingOrWaitingToPlayWhenUnparented;
    BOOL _wasPlayingWhenSuspended;
    BOOL _showingPlayButton;
    BOOL _waitingForPlaybackDueToAutoPlay;
    unsigned long long _lastInteractionTimestamp;
    unsigned long long _playbackWatchdogTimerID;
}

@property (readonly, copy, nonatomic) LPVisualMediaViewConfiguration *configuration;
@property (readonly, nonatomic) BOOL shouldAutoPlay;
@property (readonly, nonatomic) BOOL shouldShowMuteButton;
@property (readonly, nonatomic) BOOL usesSharedAudioSession;
@property (nonatomic) BOOL allowsUserInteractionWithVideoPlayer;
@property (nonatomic, getter=isMuted) BOOL muted;
@property (nonatomic, getter=isPlaying) BOOL playing;
@property (nonatomic, getter=isWaitingForPlayback) BOOL waitingForPlayback;
@property (nonatomic, getter=isFullScreen) BOOL fullScreen;
@property (nonatomic) BOOL hasEverPlayed;
@property (nonatomic) double volume;
@property (readonly, nonatomic) LPVisualMedia *media;
@property (readonly, nonatomic) UIView *playbackView;
@property (readonly, nonatomic) unsigned int loggingID;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;
@property (nonatomic, getter=isActive) BOOL active;
@property (readonly, nonatomic) BOOL shouldUnmuteWhenUserAdjustsVolume;
@property (readonly, nonatomic) unsigned long long lastInteractionTimestamp;
@property (readonly, nonatomic) double unobscuredAreaFraction;
@property (readonly, nonatomic) BOOL hasMuteControl;

- (void)tapRecognized:(id)a0;
- (void)applicationWillEnterForeground:(id)a0;
- (void)prepareForDisplayWithCompletionHandler:(id /* block */)a0;
- (void)dealloc;
- (id)playable;
- (void).cxx_destruct;
- (id)initWithHost:(id)a0;
- (void)applicationDidEnterBackground:(id)a0;
- (BOOL)gestureRecognizer:(id)a0 shouldRecognizeSimultaneouslyWithGestureRecognizer:(id)a1;
- (struct CGSize { double x0; double x1; })sizeThatFits:(struct CGSize { double x0; double x1; })a0;
- (BOOL)isParented;
- (id)playButtonImage;
- (void)destroyFullScreenViewController;
- (void)enterFullScreen;
- (void)_buildVisualMediaPlaceholderView;
- (id)_createPosterFrameView;
- (id)_createPulsingLoadIndicator;
- (void)_muteButtonHighlightLongPressRecognized:(id)a0;
- (void)_muteButtonTapRecognized:(id)a0;
- (void)_startPlaybackWatchdogTimer;
- (void)_swapVideoPlaceholderForVideoForAutoPlay:(BOOL)a0;
- (void)beginLoadingMediaForPreroll;
- (void)buildSubviewsIfNeeded;
- (void)componentViewDidMoveToWindow;
- (id)createFullScreenVideoViewController;
- (id)createVideoPlayerView;
- (void)didChangeMutedState:(BOOL)a0;
- (void)didChangePlayingState:(BOOL)a0;
- (void)didEncounterPlaybackError;
- (void)didEncounterPossiblyTransientPlaybackError;
- (void)enterCustomFullScreen;
- (void)fadeInMuteButton;
- (void)fullScreenVideoDidDismiss;
- (void)fullScreenVideoDidPresent;
- (void)fullScreenVideoWillDismiss;
- (void)hideMuteButton;
- (void)hidePlayButtonAnimated:(BOOL)a0;
- (id)initWithHost:(id)a0 media:(id)a1 style:(id)a2 posterFrame:(id)a3 posterFrameStyle:(id)a4 configuration:(id)a5;
- (void)layoutComponentView;
- (void)recreateFullScreenViewControllerIfNeeded;
- (void)removePlaceholderViews;
- (void)resetPlaybackState;
- (void)resetToPlaceholderView;
- (BOOL)shouldAllowHighlightToRecognizeSimultaneouslyWithGesture:(id)a0;
- (void)showMuteButton;
- (void)showPlayButtonAnimated:(BOOL)a0;
- (void)swapVideoPlaceholderForPlaybackIfNeeded;
- (void)updateMuteButtonWithAnimation:(BOOL)a0;
- (void)updatePlayButtonVisibility;
- (void)userInteractedWithVideoView;
- (BOOL)usesCustomFullScreenImplementation;

@end