luxlabs header browser preview


@class UIView, PXExtendedTraitCollection, PXTrimScrubberLayoutHelper, UIImage, NSArray, UIImageView, PXLivePhotoTrimScrubberLoupeView, PXLivePhotoTrimScrubberHiddenAnimationHelper, AVVideoComposition, PXLivePhotoTrimScrubberSpec, AVAsset;
@protocol PXLivePhotoTrimScrubberFilmStripView, PXLivePhotoTrimScrubberDelegate;

@interface PXLivePhotoTrimScrubber : UIView {
    UIView *_filmstripContainerView;
    UIView<PXLivePhotoTrimScrubberFilmStripView> *_filmstripView;
    UIView *_disabledOverlayView;
    struct { BOOL respondsToDidTapElement; BOOL respondsToDidBeginInteractivelyEditingElement; BOOL respondsToCanBeginInteractivelyEditingElement; BOOL respondsToDidEndInteractivelyEditingElement; BOOL respondsToDidChangeTimeForElement; BOOL respondsToAssetDurationDidChange; BOOL respondsToDidChangeLoupeRect; BOOL respondsToDidZoomToMinimumValueMaximumValue; BOOL respondsToDidUnzoom; BOOL respondsToPausePlayer; BOOL respondsToDidLayoutSubviews; BOOL respondsToDebugStartRect; BOOL respondsToDebugEndRect; BOOL respondsToDebugStartOffset; BOOL respondsToDebugEndOffset; } _delegateFlags;
    NSArray *_keyTimeSnappingControllers;
    NSArray *_startTimeSnappingControllers;
    NSArray *_endTimeSnappingControllers;
    NSArray *_focusEventSnappingControllers;
    BOOL _hasPresentedControls;
    struct { long long value; int timescale; unsigned int flags; long long epoch; } _photoTrimBuffer;
    long long _changeDepth;
    PXExtendedTraitCollection *_traitCollection;
    PXLivePhotoTrimScrubberHiddenAnimationHelper *_loupeHiddenHelper;
    PXLivePhotoTrimScrubberHiddenAnimationHelper *_trimControlHiddenHelper;
    UIView *_debugStartTimeView;
    UIView *_debugLoupeTimeView;
    UIView *_debugEndTimeView;
}

@property (class, readonly, nonatomic) UIImage *trimStartImage;
@property (class, readonly, nonatomic) UIImage *trimStartHighlightedImage;
@property (class, readonly, nonatomic) UIImage *trimEndImage;
@property (class, readonly, nonatomic) UIImage *trimEndHighlightedImage;
@property (class, readonly, nonatomic) UIImage *trimStartImageMini;
@property (class, readonly, nonatomic) UIImage *trimStartHighlightedImageMini;
@property (class, readonly, nonatomic) UIImage *trimEndImageMini;
@property (class, readonly, nonatomic) UIImage *trimEndHighlightedImageMini;

@property (nonatomic, setter=_setUntrimmedDuration:) struct { long long value; int timescale; unsigned int flags; long long epoch; } untrimmedDuration;
@property (nonatomic, setter=_setContentAspectRatio:) double _contentAspectRatio;
@property (nonatomic, setter=_setTrackingElement:) long long _trackingElement;
@property (readonly, nonatomic) UIView *_preTrimOverlayView;
@property (readonly, nonatomic) UIView *_postTrimOverlayView;
@property (nonatomic) long long state;
@property (retain, nonatomic) PXTrimScrubberLayoutHelper *layoutHelper;
@property (readonly, nonatomic) PXLivePhotoTrimScrubberLoupeView *photoLoupe;
@property (readonly, nonatomic) UIImageView *trimStartHandle;
@property (readonly, nonatomic) UIImageView *trimEndHandle;
@property (nonatomic) BOOL showVideoScrubberDebugOverlay;
@property (nonatomic) struct { long long value; int timescale; unsigned int flags; long long epoch; } minimumTrimLength;
@property (retain, nonatomic) PXLivePhotoTrimScrubberSpec *spec;
@property (readonly, nonatomic) struct { long long x0; int x1; unsigned int x2; long long x3; } viewportMinTime;
@property (readonly, nonatomic) struct { long long x0; int x1; unsigned int x2; long long x3; } viewportMaxTime;
@property (readonly, nonatomic) Class filmStripViewClass;
@property (readonly, nonatomic) AVAsset *asset;
@property (readonly, nonatomic) AVVideoComposition *videoComposition;
@property (retain, nonatomic) UIImage *placeholderImage;
@property (readonly, nonatomic, getter=isAssetDurationLoaded) BOOL assetDurationLoaded;
@property (nonatomic) double horizontalInset;
@property (nonatomic) unsigned long long playheadStyle;
@property (nonatomic) struct { long long value; int timescale; unsigned int flags; long long epoch; } keyTime;
@property (copy, nonatomic) NSArray *snapKeyTimes;
@property (copy, nonatomic) NSArray *snapTrimStartTimes;
@property (copy, nonatomic) NSArray *snapTrimEndTimes;
@property (copy, nonatomic) NSArray *focusEventTimes;
@property (nonatomic) struct { long long value; int timescale; unsigned int flags; long long epoch; } suggestedKeyTime;
@property (nonatomic) struct { long long value; int timescale; unsigned int flags; long long epoch; } trimStartTime;
@property (nonatomic) struct { long long value; int timescale; unsigned int flags; long long epoch; } trimEndTime;
@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 (readonly, nonatomic) long long trimStatus;
@property (readonly, nonatomic) long long currentlyInteractingElement;
@property (weak, nonatomic) id<PXLivePhotoTrimScrubberDelegate> delegate;
@property (retain, nonatomic) UIView *loupePlayerView;
@property (readonly, nonatomic) struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } loupeRect;
@property (nonatomic, getter=isDisabled) BOOL disabled;
@property (nonatomic) BOOL useMiniScrubber;
@property (nonatomic) BOOL allowZoom;

+ (id)_createSnappingControllersForKeytimes:(id)a0;
+ (id)createSnappingControllerWithSnappingTarget:(double)a0;

- (void)_animateChanges:(id /* block */)a0;
- (void).cxx_destruct;
- (void)layoutSubviews;
- (void)unzoom;
- (double)_offsetForTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0;
- (id)_snappingControllersForElement:(long long)a0;
- (BOOL)isValidKeyTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0;
- (struct { long long x0; int x1; unsigned int x2; long long x3; })timeForElement:(long long)a0;
- (void)_PXLivePhotoTrimScrubber_commonInit;
- (void)_assetDidLoadValues;
- (struct { long long x0; int x1; unsigned int x2; long long x3; })_clampTimeToViewportIfZoomed:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_disabledOverlayFrame;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_keyHandleRect;
- (void)_newScrubberLayoutSubviews;
- (void)_presentControlsIfNeeded;
- (void)_releaseAVObjects;
- (void)_setKeyTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0 canHaveImpact:(BOOL)a1 forElement:(long long)a2;
- (void)_setPhotoLoupeHidden:(BOOL)a0 animated:(BOOL)a1;
- (void)_setTrimControlsHidden:(BOOL)a0 animated:(BOOL)a1;
- (void)_setupZoom;
- (id)_snapTimesForElement:(long long)a0;
- (struct { long long x0; int x1; unsigned int x2; long long x3; })_timeAtLocation:(struct CGPoint { double x0; double x1; })a0 forElement:(long long)a1;
- (void)_trimHandleDidReachBounds;
- (void)_updateContentAspectRatio;
- (void)_updateEndTimeSnappingControllers;
- (void)_updateFocusEventSnappingControllers;
- (void)_updateKeyTimeSnappingControllers;
- (void)_updateSpecDependentUI;
- (void)_updateStartTimeSnappingControllers;
- (void)_updateTrimHandles;
- (void)_updateZoomState:(BOOL)a0;
- (void)_zoomAtTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0;
- (void)_zoomAtTrackedElement;
- (void)_zoomDelayed;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })backingAlignedRectForRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0;
- (void)handleBeginTrackingAtLocation:(struct CGPoint { double x0; double x1; })a0;
- (void)handleChangeTrackingAtLocation:(struct CGPoint { double x0; double x1; })a0 withVelocity:(struct CGPoint { double x0; double x1; })a1;
- (void)handleEndTracking:(BOOL)a0;
- (void)handleLongPressWithElement:(long long)a0;
- (void)handleSetKeyTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0;
- (void)handleTapWithElement:(long long)a0;
- (double)horizontalOffsetForTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0;
- (void)impactOccured;
- (id)initWithFilmStripViewClass:(Class)a0 spec:(id)a1 traitCollection:(id)a2;
- (double)offsetForTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0;
- (void)performAnimatedChanges:(id /* block */)a0;
- (void)prepareForImpact;
- (void)setAsset:(id)a0 videoComposition:(id)a1;
- (void)setPlayheadStyle:(unsigned long long)a0 animate:(BOOL)a1;
- (struct { long long x0; int x1; unsigned int x2; long long x3; })timeAtPoint:(struct CGPoint { double x0; double x1; })a0;
- (BOOL)tryZoomAtTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0;
- (void)updateTraitCollection:(id)a0;

@end