luxlabs header browser preview


@class UIVisualEffectView, AVAsset, PXLivePhotoTrimScrubberSnapStripController, UILabel, AVVideoComposition, NSString, PULivePhotoTrimScrubberSnapStripControllerSpec, UIImage, NSTimer, NSArray, PFCoalescer, PULivePhotoKeyFrameSelectionViewController, UIButton, UIView, NSLayoutConstraint, PXSlowMotionEditor, PICompositionController, PXFocusTimelineAction, PXLivePhotoTrimScrubber, PXFocusTimelineView, PUTimeCodeOverlayView, PLPhotoEditRenderer, PLEditSource, NSNumber, PXLivePhotoTrimScrubberSpec;
@protocol PXTrimToolPlayerWrapper, PUTrimToolControllerDelegate;

@interface PUTrimToolController : UIViewController <PXTrimToolPlayerObserver, PXLivePhotoTrimScrubberDelegate, UIPopoverPresentationControllerDelegate, PULivePhotoKeyFrameSelectionViewControllerDelegate, PXSlowMotionEditorDelegate, PXFocusTimelineViewDelegate, PXFocusTimelineController> {
    PXLivePhotoTrimScrubber *_trimScrubber;
    PXSlowMotionEditor *_slomoView;
    BOOL _needsUpdateRenderForVisualChanges;
    PUTimeCodeOverlayView *_timeCodeOverlayView;
    NSLayoutConstraint *_timeCodeHorizontalConstraint;
    PXLivePhotoTrimScrubberSpec *_spec;
    long long _currentlyInteractingElement;
    PFCoalescer *_updateVideoCoalescer;
    BOOL _isActive;
}

@property (readonly, nonatomic) struct { long long x0; int x1; unsigned int x2; long long x3; } currentStillFrameTime;
@property (nonatomic) struct { long long x0; int x1; unsigned int x2; long long x3; } adjustedStillFrameTime;
@property (retain, nonatomic) PLEditSource *editSource;
@property (retain, nonatomic) UIVisualEffectView *auxilaryContainerView;
@property (retain, nonatomic) UIVisualEffectView *scrubberPlayButtonContainerView;
@property (retain, nonatomic) NSLayoutConstraint *scrubberContainerToAuxiliaryContainerConstraint;
@property (weak, nonatomic) PULivePhotoKeyFrameSelectionViewController *livePhotoKeyFramePicker;
@property (retain, nonatomic) NSTimer *livePhotoKeyFramePickerAppearanceTimer;
@property (retain, nonatomic) PLPhotoEditRenderer *renderer;
@property (readonly, nonatomic) AVAsset *currentVideoAsset;
@property (readonly, nonatomic) AVVideoComposition *currentVideoComposition;
@property (nonatomic) struct { long long value; int timescale; unsigned int flags; long long epoch; } cachedFrameDuration;
@property (nonatomic) double cachedFrameRate;
@property (retain, nonatomic) PXLivePhotoTrimScrubberSnapStripController *snapStripController;
@property (retain, nonatomic) PULivePhotoTrimScrubberSnapStripControllerSpec *snapStripSpec;
@property (nonatomic) struct { long long value; int timescale; unsigned int flags; long long epoch; } unadjustedAssetDuration;
@property (nonatomic) unsigned long long playheadStyle;
@property (nonatomic) unsigned long long internalState;
@property (nonatomic) BOOL slomoDraggingStartHandle;
@property (readonly, nonatomic) BOOL playButtonEnabled;
@property (retain, nonatomic) NSNumber *slomoTimeForPlayheadUpdate;
@property (retain, nonatomic) UILabel *debugTimeCodeLabel;
@property (nonatomic) struct { long long value; int timescale; unsigned int flags; long long epoch; } debugPlayerTime;
@property (retain, nonatomic) UILabel *debugPlayerTimeLabel;
@property (retain, nonatomic) UILabel *debugOriginalTimeLabel;
@property (retain, nonatomic) UILabel *debugTrimToolStateLabel;
@property (retain, nonatomic) UILabel *debugTrimToolPlayheadStyleLabel;
@property (retain, nonatomic) UIView *debugStartRectView;
@property (retain, nonatomic) UIView *debugEndRectView;
@property (retain, nonatomic) UIView *debugStartOffsetView;
@property (retain, nonatomic) UIView *debugEndOffsetView;
@property (retain, nonatomic) PXFocusTimelineView *focusTimelineView;
@property (retain, nonatomic) NSLayoutConstraint *auxilaryContainerViewHeightConstraint;
@property (retain, nonatomic) UIView *trimScrubberTimelineOverlayView;
@property (retain, nonatomic) UIButton *trimScrubberTimelineOverlayButton;
@property (retain, nonatomic) PXFocusTimelineAction *focusTimelineAction;
@property (nonatomic) BOOL objectTrackingShouldStop;
@property (nonatomic) BOOL portraitVideoEnabled;
@property (copy, nonatomic) NSArray *focusEventTimes;
@property (weak, nonatomic) id<PUTrimToolControllerDelegate> delegate;
@property (readonly, nonatomic) id<PXTrimToolPlayerWrapper> playerWrapper;
@property (nonatomic) long long layoutOrientation;
@property (retain, nonatomic) PICompositionController *compositionController;
@property (nonatomic) struct { long long value; int timescale; unsigned int flags; long long epoch; } unadjustedStillImageTime;
@property (nonatomic) struct { long long value; int timescale; unsigned int flags; long long epoch; } originalStartTime;
@property (nonatomic) struct { long long value; int timescale; unsigned int flags; long long epoch; } originalEndTime;
@property (nonatomic) struct { long long value; int timescale; unsigned int flags; long long epoch; } suggestedKeyFrameTime;
@property (nonatomic) struct { long long x0; int x1; unsigned int x2; long long x3; } playheadTime;
@property (retain, nonatomic) UIImage *placeholderImage;
@property (nonatomic) BOOL disabled;
@property (readonly, nonatomic) unsigned long long state;
@property (readonly, nonatomic) long long currentlyInteractingElement;
@property (readonly, nonatomic) UIButton *playPauseButton;
@property (readonly, nonatomic, getter=isSlomoEnabled) BOOL slomoEnabled;
@property (readonly, nonatomic, getter=isPortraitVideo) BOOL isPortraitVideo;
@property (readonly, nonatomic) double scrubberHeight;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

- (void)updateViewConstraints;
- (void)_setState:(unsigned long long)a0;
- (void)play;
- (void)pause;
- (void)viewWillAppear:(BOOL)a0;
- (long long)adaptivePresentationStyleForPresentationController:(id)a0;
- (void)traitCollectionDidChange:(id)a0;
- (void)viewDidLayoutSubviews;
- (void)viewDidLoad;
- (void)touchesBegan:(id)a0 withEvent:(id)a1;
- (void).cxx_destruct;
- (long long)adaptivePresentationStyleForPresentationController:(id)a0 traitCollection:(id)a1;
- (BOOL)popoverPresentationControllerShouldDismissPopover:(id)a0;
- (void)popoverPresentationControllerDidDismissPopover:(id)a0;
- (struct { long long x0; int x1; unsigned int x2; long long x3; })_frameDuration;
- (double)_frameRate;
- (void)stepByCount:(long long)a0;
- (id)axDescriptionForFocusEventATime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0;
- (void)compositionDidUpdateForPlayerWrapper:(id)a0;
- (void)didUpdateFocusEventsWithTimes:(id)a0;
- (void)enableUIForCinematographyScriptLoad:(BOOL)a0;
- (void)focusTimeline:(id)a0 presentAction:(id)a1 locationInTimeline:(struct CGPoint { double x0; double x1; })a2;
- (void)focusTimeline:(id)a0 updateTrackingProgressShouldStop:(BOOL *)a1;
- (void)hideFocusTimelineActions:(id)a0;
- (void)objectTrackingFinishedWithSuccess:(BOOL)a0;
- (void)objectTrackingStartedAtTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0;
- (void)playerStatusChangedForPlayerWrapper:(id)a0;
- (void)playerWrapper:(id)a0 timeChanged:(struct { long long x0; int x1; unsigned int x2; long long x3; })a1;
- (void)resetTimeline;
- (void)slowMotionEditorDidBeginEditing:(id)a0 withStartHandle:(BOOL)a1;
- (void)slowMotionEditorDidEndEditing:(id)a0;
- (void)slowMotionEditorEndValueChanged:(id)a0;
- (void)slowMotionEditorRequestForceUnzoom:(id)a0;
- (BOOL)slowMotionEditorRequestForceZoom:(id)a0;
- (void)slowMotionEditorStartValueChanged:(id)a0;
- (BOOL)trimScrubber:(id)a0 canBeginInteractivelyEditingElement:(long long)a1;
- (void)trimScrubber:(id)a0 debugEndOffset:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1;
- (void)trimScrubber:(id)a0 debugEndRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1;
- (void)trimScrubber:(id)a0 debugStartOffset:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1;
- (void)trimScrubber:(id)a0 debugStartRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1;
- (void)trimScrubber:(id)a0 didBeginInteractivelyEditingElement:(long long)a1;
- (void)trimScrubber:(id)a0 didChangeTimeForElement:(long long)a1;
- (void)trimScrubber:(id)a0 didEndInteractivelyEditingElement:(long long)a1 successful:(BOOL)a2;
- (void)trimScrubber:(id)a0 didTapElement:(long long)a1;
- (void)trimScrubber:(id)a0 didTapTimelineAtTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a1;
- (void)trimScrubber:(id)a0 didZoomToMinimumValue:(double)a1 maximumValue:(double)a2;
- (void)trimScrubberAssetDurationDidChange:(id)a0;
- (void)trimScrubberDidLayoutSubviews:(id)a0;
- (void)trimScrubberDidUnzoom:(id)a0;
- (void)trimScrubberPausePlayer:(id)a0;
- (void)updateFocusTimeline;
- (void)updateFocusTimelineWithEvent:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0 userInitiated:(BOOL)a1 shouldAnimate:(BOOL)a2;
- (void)updateFocusTimelineWithTimeRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0;
- (void)updateObjectTrackingProgressAtTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0 shouldStop:(BOOL *)a1;
- (void)_resetScrubberToStillPhotoFrame;
- (BOOL)_allowsKeyFrameCreation;
- (void)_createRendererIfNeeded;
- (struct { long long x0; int x1; unsigned int x2; long long x3; })_currentPlayerScaledTimeFromOriginalTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0;
- (void)_didCompleteInteractiveEditForElement:(long long)a0 atTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a1 state:(unsigned long long)a2;
- (void)_dismissKeyFramePickerAndResetToStillFrame;
- (void)_handlePlayPauseButton:(id)a0;
- (void)_handleScrubberTimelineOverlayButton:(id)a0;
- (void)_hideScrubberTimelineOverlay;
- (void)_livePhotoKeyFramePickerDidDismiss:(id)a0;
- (struct { long long x0; int x1; unsigned int x2; long long x3; })_originalTimeFromCurrentPlayerScaledTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0;
- (id)_playPauseButtonIfLoaded;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_presentationRectFromLoupeRect;
- (void)_seekToTimeForElement:(long long)a0 exact:(BOOL)a1;
- (void)_seekToTimeForElement:(long long)a0 exact:(BOOL)a1 forceSeek:(BOOL)a2;
- (void)_setPosterFrameTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0 onCompositionController:(id)a1;
- (BOOL)_showKeyFrameSelection;
- (id)_slomoMapperForCurrentConfiguration;
- (void)_updateCompositionController;
- (void)_updateDebugPlayerTimeLabel;
- (void)_updateDebugPlayheadStyleLabel;
- (void)_updateDebugTimeCodeLabel;
- (void)_updateDebugTrimToolStateLabel;
- (void)_updatePlayPauseButton;
- (void)_updatePlayerWrapperTimeObserver;
- (void)_updatePlayerWrapperTrim;
- (void)_updatePlayheadStyle;
- (void)_updatePublicState;
- (void)_updateScrubberContents;
- (void)_updateScrubberFocusEventTimes;
- (void)_updateScrubberPresentedPlayhead;
- (void)_updateScrubberTimelineOverlayButtonOffset;
- (void)_updateScrubberTimes;
- (void)_updateSnapStripController;
- (void)_updateSnappingDots;
- (void)_updateTimeCodeOverlay;
- (void)_updateVideo;
- (void)compositionControllerDidChangeForAdjustments:(id)a0;
- (id)currentEditSource;
- (void)enableFocusTimeline:(BOOL)a0;
- (id)initWithPlayerWrapper:(id)a0 playButtonEnabled:(BOOL)a1 slomoEnabled:(BOOL)a2 portraitVideoEnabled:(BOOL)a3;
- (void)livePhotoRenderDidChange:(BOOL)a0;
- (void)mediaViewDidZoom;
- (void)releaseAVObjects;
- (void)setPlayheadTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0 forceSeek:(BOOL)a1;
- (void)showFocusTimeline:(BOOL)a0;
- (void)updateLivePortraitForKeyFrameChange:(id)a0;
- (void)userDidRequestToMakeKeyPhoto:(id)a0;
- (void)willHideTrimTool;
- (void)willShowTrimTool;

@end