luxlabs header browser preview


@class NSDictionary, PLImageGeometry, NSMutableArray, UILongPressGestureRecognizer, NSString, UIImage, PUPhotoEditToolActivationButton, PUPhotoEditToolbarButton, NSTimer, CEKBadgeTextView, NSMutableDictionary, NUCropModel, NUComposition, PUCropAspectFlipperView, PUAdjustmentsViewController, UIButton, NSObject, NSArray, UIView, PUCropToolControllerSpec, PUCropAspectViewController, PUCropPerspectiveAdjustmentsDataSource, PUCropPerspectiveView, PUCropAspect, PUVideoScrubberView, PUCropHandleView, PLPhotoEditRenderer, PUCropOverlayView;
@protocol OS_dispatch_queue;

@interface PUCropToolController : PUPhotoEditToolController <UIGestureRecognizerDelegate, PUCropTransformedImageViewDelegate, PUCropAspectViewControllerDelegate, PUCropPerspectiveAdjustmentsDataSourceDelegate, PUCropPerspectiveAdjustmentsDataSourceDelegate, PUAdjustmentViewControllerDelegate, PUVideoScrubberViewDelegate, UIPopoverPresentationControllerDelegate>

@property (retain, nonatomic) PUAdjustmentsViewController *adjustmentsViewController;
@property (retain, nonatomic) UIView *containerView;
@property (retain, nonatomic) UIView *adjustmentPickerView;
@property (retain, nonatomic) PUPhotoEditToolActivationButton *autoButton;
@property (nonatomic) long long autoButtonMode;
@property (retain, nonatomic) PUPhotoEditToolbarButton *rotateButton;
@property (retain, nonatomic) PUPhotoEditToolbarButton *flipButton;
@property (retain, nonatomic) PUPhotoEditToolbarButton *aspectButton;
@property (retain, nonatomic) PUCropPerspectiveView *cropView;
@property (retain, nonatomic) UIView *cropCanvasView;
@property (retain, nonatomic) PUCropOverlayView *cropOverlayView;
@property (retain, nonatomic) NSDictionary *cropHandleViewsByHandle;
@property (retain, nonatomic) PUCropHandleView *selectedCropHandleView;
@property (retain, nonatomic) UIView *rotateSnapshotView;
@property (retain, nonatomic) PUCropAspectViewController *cropAspectViewController;
@property (retain, nonatomic) PUCropAspectFlipperView *cropAspectFlipperView;
@property (nonatomic) struct CGSize { double width; double height; } minimumViewCropRectSizeForHandleGesture;
@property (retain, nonatomic) UIButton *aspectRatioLockButton;
@property (retain, nonatomic) PUCropPerspectiveAdjustmentsDataSource *dataSource;
@property (retain, nonatomic) NSMutableDictionary *initialLocationsInHandlesByHandle;
@property (nonatomic) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } initialHandlePanCropRect;
@property (nonatomic) BOOL contentViewsHidden;
@property (nonatomic) struct UIEdgeInsets { double top; double left; double bottom; double right; } previewViewInsets;
@property (nonatomic) BOOL wantsPreviewViewHidden;
@property (nonatomic) BOOL ignoreTrackingUpdates;
@property (retain, nonatomic) NSMutableDictionary *animationsByKeyPath;
@property (retain, nonatomic) NSMutableDictionary *animationTargetsByKeyPath;
@property (nonatomic) unsigned long long rotatingAnimationCount;
@property (nonatomic) unsigned long long contentViewsHiddenAnimationCount;
@property (nonatomic, getter=isTrackingAdjustmentControl) BOOL trackingAdjustmentControl;
@property (retain, nonatomic) NSTimer *badgeShowingExpirationTimer;
@property (nonatomic) BOOL toolBadgeDoesHide;
@property (nonatomic) BOOL modelLoadingSuspended;
@property (nonatomic) BOOL loadingStateFromModel;
@property (nonatomic) BOOL wasLoadingStateFromModelWhenTrackingBegan;
@property (nonatomic) BOOL needsImageLoad;
@property (nonatomic) BOOL initialImageLoaded;
@property (nonatomic) BOOL needsMediaLoad;
@property (nonatomic, getter=isActiveTool) BOOL activeTool;
@property (nonatomic) BOOL needsModelLoad;
@property (nonatomic) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } cropViewFrameForLastModelLoad;
@property (nonatomic, getter=isModelChangeLocal) BOOL modelChangeLocal;
@property (retain, nonatomic) NUComposition *lastKnownComposition;
@property (retain, nonatomic) PLPhotoEditRenderer *renderer;
@property (retain, nonatomic) PLImageGeometry *geometry;
@property (retain, nonatomic) NUCropModel *cropModel;
@property (retain, nonatomic) UIImage *image;
@property (nonatomic) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } inputExtent;
@property (nonatomic) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } viewCropRect;
@property (nonatomic) double straightenAngle;
@property (nonatomic) double pitchAngle;
@property (nonatomic) double yawAngle;
@property (retain, nonatomic) PUCropAspect *cropAspect;
@property (nonatomic) BOOL gridVisible;
@property (nonatomic) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } suggestedCrop;
@property (nonatomic) double suggestedStraightenAngle;
@property (nonatomic) BOOL hasAutoAppliedCropSuggestion;
@property (nonatomic) BOOL hasAppliedCropSuggestion;
@property (nonatomic) BOOL hasRequestedCropSuggestion;
@property (nonatomic) BOOL editValuesCalculatorDidFinishComputingGeometricValues;
@property (nonatomic) double suggestedPitchAngle;
@property (nonatomic) double suggestedYawAngle;
@property (nonatomic) BOOL hasAutoAppliedPerspectiveSuggestion;
@property (nonatomic) BOOL hasAppliedPerspectiveSuggestion;
@property (nonatomic) BOOL hasRequestedPerspectiveSuggestion;
@property (retain, nonatomic) PUVideoScrubberView *videoScrubberView;
@property (nonatomic) struct { long long value; int timescale; unsigned int flags; long long epoch; } videoScrubberSeekTime;
@property (nonatomic) BOOL videoScrubberIsInteracting;
@property (nonatomic) struct CGSize { double width; double height; } screenSize;
@property (nonatomic) double screenScale;
@property (retain, nonatomic) NSObject<OS_dispatch_queue> *imageLoadingQueue;
@property (retain, nonatomic) NSMutableArray *imageLoadingQueueCompletionBlocks;
@property (nonatomic) BOOL imageLoadingInProgress;
@property (nonatomic) BOOL mediaViewLoadingInProgress;
@property (retain, nonatomic) UILongPressGestureRecognizer *accessibilityLongPressGestureRecognizer;
@property (retain, nonatomic) CEKBadgeTextView *badgeView;
@property (readonly, nonatomic) NSArray *toolKeyCommands;
@property (readonly, nonatomic) PUCropToolControllerSpec *toolControllerSpec;
@property (nonatomic) long long initialAction;
@property (retain, nonatomic) struct CGImage { } *gainMapImage;
@property (nonatomic) float gainMapValue;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

- (void)updateViewConstraints;
- (void)viewWillAppear:(BOOL)a0;
- (void)dealloc;
- (id)filter;
- (void)viewDidLayoutSubviews;
- (void)viewDidLoad;
- (BOOL)isHDREnabled;
- (id)initWithNibName:(id)a0 bundle:(id)a1;
- (id)localizedName;
- (void).cxx_destruct;
- (void)viewDidAppear:(BOOL)a0;
- (void)setDelegate:(id)a0;
- (BOOL)wantsSecondaryToolbarVisible;
- (BOOL)gestureRecognizer:(id)a0 shouldRecognizeSimultaneouslyWithGestureRecognizer:(id)a1;
- (void)_accessibilityLongPressChanged:(id)a0;
- (long long)_defaultOrientation;
- (id)_animationForKeyPath:(id)a0;
- (void)rotateAssetsClockwise:(id)a0;
- (void)rotateAssetsCounterclockwise:(id)a0;
- (void)_cancelDelayedRecomposeCropRect;
- (void)_setAnimationTarget:(id)a0 forKeyPath:(id)a1;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_suggestedCropRectForImageRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0;
- (void)prepareForSave:(BOOL)a0;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_addHeight:(double)a0 toRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 anchorTop:(BOOL)a2;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_addWidth:(double)a0 toRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 anchorLeft:(BOOL)a2;
- (id)_animateValueFromValue:(double)a0 toValue:(double)a1 interpolation:(id /* block */)a2 completion:(id /* block */)a3;
- (id)_animationTargetForKeyPath:(id)a0;
- (struct CGVector { double x0; double x1; })_applyAspectOfCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 toHandleMovement:(struct CGVector { double x0; double x1; })a1;
- (void)_applyCropAndPerspectiveSuggestion;
- (void)_applyCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 straightenAngle:(double)a1 pitchAngle:(double)a2 yawAngle:(double)a3 isAutoCrop:(BOOL)a4;
- (void)_aspectButtonTapped:(id)a0;
- (void)_aspectLockButtonTapped;
- (void)_autoApplyCropAndPerspectiveSuggestionIfNeeded;
- (void)_autoRecomposeCropRect;
- (void)_cancelAnimationForKeyPath:(id)a0;
- (void)_closeAspectRatioPicker;
- (struct CGVector { double x0; double x1; })_correctInputVector:(struct CGVector { double x0; double x1; })a0 forHandle:(unsigned long long)a1 onCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a2 lockDirection:(BOOL)a3;
- (void)_createRendererIfNeeded;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_cropCanvasFrame;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_cropRectFromPanningHandle:(unsigned long long)a0 byAmount:(struct CGVector { double x0; double x1; })a1;
- (void)_cropToggleTapped:(id)a0;
- (double)_currentEDRHeadroomForScreen:(id)a0;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_defaultImageCropRect;
- (double)_defaultPitchAngle;
- (double)_defaultStraightenAngle;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_defaultViewCropRect;
- (double)_defaultYawAngle;
- (struct CGVector { double x0; double x1; })_deltaMaskForHandle:(unsigned long long)a0;
- (void)_flipButtonTapped:(id)a0;
- (void)_gridButtonTapped:(id)a0;
- (void)_handleCropHandlePan:(id)a0;
- (void)_handleDidCreateEditedImage:(id)a0 inputExtent:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1;
- (void)_handleRenderedVideoWithURL:(id)a0 originalLivePhoto:(id)a1 success:(BOOL)a2 error:(id)a3;
- (void)_handleTouchingGesture:(id)a0;
- (BOOL)_hasConstraintsForKey:(id)a0;
- (BOOL)_hasCropSuggestion;
- (BOOL)_hasPerspectiveSuggestion;
- (void)_hideGrid;
- (void)_hideGridDelayed;
- (void)_hideMaskedContent;
- (void)_hideMaskedContentDelayed;
- (void)_installRenderedImageAndDisplayIfNeeded;
- (void)_invalidateConstraintsForKey:(id)a0;
- (void)_layoutAdjustmentTools;
- (void)_loadCropSuggestionIfNeeded;
- (void)_loadImageIfNeededWithCompletion:(id /* block */)a0;
- (void)_loadMediaIfNeeded;
- (void)_loadPerspectiveSuggestionIfNeeded;
- (void)_loadStateFromModelAnimated:(BOOL)a0;
- (double)_maximumEDRHeadroomForScreen:(id)a0;
- (BOOL)_needsRecomposeCropRect;
- (void)_performGeometryChange:(id /* block */)a0 animated:(BOOL)a1;
- (void)_performInitialAction;
- (void)_performLocalCropModelChanges:(id /* block */)a0;
- (void)_performLocalModelChanges:(id /* block */)a0;
- (struct CGPoint { double x0; double x1; })_pointForHandle:(unsigned long long)a0;
- (struct CGPoint { double x0; double x1; })_pointForHandle:(unsigned long long)a0 onCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1;
- (void)_preferredContentSizeCategoryChanged;
- (void)_recomposeCropRectAnimated:(BOOL)a0;
- (void)_recomposeCropRectDelayed;
- (void)_removeSnapshotView:(id)a0;
- (void)_resetAllValuesAnimated:(BOOL)a0;
- (void)_resetAllValuesAnimated:(BOOL)a0 skipLayerTransformUpdate:(BOOL)a1;
- (void)_rotateButtonTapped:(id)a0;
- (void)_rotateByApplyingOrientation:(long long)a0;
- (void)_setAnimation:(id)a0 forKeyPath:(id)a1;
- (void)_setContentViewsHidden:(BOOL)a0 animated:(BOOL)a1;
- (void)_setContentViewsHidden:(BOOL)a0 animated:(BOOL)a1 completion:(id /* block */)a2;
- (void)_setCropAspect:(id)a0 animated:(BOOL)a1;
- (void)_setPitchAngle:(double)a0 animated:(BOOL)a1;
- (void)_setStraightenAngle:(double)a0 animated:(BOOL)a1;
- (void)_setViewCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 animated:(BOOL)a1;
- (void)_setYawAngle:(double)a0 animated:(BOOL)a1;
- (void)_setupCropModelFromCompositionController:(id)a0;
- (void)_showGridAndCancelDelayedHide;
- (void)_showMaskedContentAndCancelDelayedHide;
- (void)_toggleCropAndPerspective;
- (void)_updateAspectRatioControls;
- (void)_updateBadgeTextWithInfo:(id)a0;
- (void)_updateCropActionButtons;
- (void)_updateCropCanvasConstraintsIfNeeded;
- (void)_updateCropToggleButton;
- (void)_updateCropToggleButtonMode;
- (void)_updateCropToggleConstraintsIfNeeded;
- (void)_updateCropViewsForInteraction;
- (void)_updatePreviewViewInsets;
- (void)adjustmentsDataChanged:(id)a0;
- (id)adjustmentsRenderer:(id)a0;
- (void)adjustmentsViewControllerDidUpdateSelectedControl:(id)a0;
- (void)adjustmentsViewControllerSliderDidEndScrubbing:(id)a0;
- (void)adjustmentsViewControllerSliderWillBeginScrubbing:(id)a0;
- (void)adjustmentsViewControllerToolDidEndScrubbing:(id)a0;
- (void)adjustmentsViewControllerToolWillBeginScrubbing:(id)a0;
- (void)aspectRatioLockChanged;
- (void)baseMediaInvalidated;
- (void)basePhotoInvalidated;
- (BOOL)canBecomeActiveTool;
- (BOOL)canResetToDefaultValue;
- (id)centerToolbarView;
- (void)compositionControllerDidChangeForAdjustments:(id)a0;
- (void)createVideoScrubber;
- (void)cropAspectController:(id)a0 cropAspectSelected:(id)a1;
- (void)cropAspectFlipperView:(id)a0 cropOrientationSelected:(long long)a1;
- (void)cropTransformedImageViewDidEndTracking:(id)a0;
- (void)cropTransformedImageViewDidTrack:(id)a0;
- (void)cropTransformedImageViewWillBeginTracking:(id)a0;
- (void)decreaseSliderValue:(BOOL)a0;
- (void)didBecomeActiveTool;
- (void)didResignActiveTool;
- (void)editValuesCalculatorDidFinishComputingGeometricValues:(id)a0;
- (void)editValuesCalculatorHasChangedGeometricValues:(id)a0;
- (void)handleResigningCropTool;
- (BOOL)handlesMediaViewInsets;
- (BOOL)handlesVideoPlaying;
- (void)increaseSliderValue:(BOOL)a0;
- (BOOL)installGestureRecognizer:(id)a0 type:(unsigned long long)a1;
- (id)leadingToolbarViews;
- (id)localizedResetToolActionTitle;
- (id)offlineKeyCommands;
- (struct UIEdgeInsets { double x0; double x1; double x2; double x3; })preferredPreviewViewInsets;
- (void)prepareForToolTransitionWithCompletion:(id /* block */)a0;
- (void)resetToDefaultValueAnimated:(BOOL)a0;
- (void)resetToolLabelHidingTimer;
- (id)selectedToolbarIconGlyphName;
- (void)setAspectRatioLocked:(BOOL)a0;
- (void)setLayoutOrientation:(long long)a0 withTransitionCoordinator:(id)a1;
- (BOOL)setLockedCropAspectIfNeededIgnoringCurrentLock:(BOOL)a0;
- (void)setupWithAsset:(id)a0 compositionController:(id)a1 editSource:(id)a2 valuesCalculator:(id)a3;
- (void)showBadgeView:(BOOL)a0 animated:(BOOL)a1;
- (void)showToolLabel;
- (void)showVideoScrubber:(BOOL)a0;
- (BOOL)supportsPreviewingOriginal;
- (BOOL)suppressesEditUpdates;
- (long long)toolControllerTag;
- (id)toolbarIcon;
- (id)toolbarIconGlyphName;
- (id)trailingToolbarViews;
- (void)updateAspectRatioLockButton;
- (void)updateCropAspectRatioOrientation:(long long)a0;
- (void)updateVideoFrameWithScrubber;
- (void)updateViewOrdering;
- (void)videoScrubberViewDidScrubTo:(struct { long long x0; int x1; unsigned int x2; long long x3; })a0;
- (void)videoScrubberViewInteractionDone;
- (BOOL)wantsDefaultPreviewView;
- (BOOL)wantsSliderKeyControl;
- (void)willBecomeActiveTool;
- (void)willResignActiveTool;

@end