luxlabs header browser preview


@class NSString, NUCropModel, _UIDynamicAnimation, CALayer, CAShapeLayer, PHLivePhotoView, PLImageGeometry, PXImageModulationManager, PXImageLayerModulator, PUCropGestureHandler;

@interface PUCropPerspectiveView : PUCropTransformedImageView <NUMediaViewDelegate, UIGestureRecognizerDelegate, PUCropGestureHandlerDelegate> {
    PLImageGeometry *_imageGeometry;
    PHLivePhotoView *_livePhotoView;
    PXImageModulationManager *_imageModulationManager;
    PXImageLayerModulator *_imageLayerModulator;
    struct { long long value; int timescale; unsigned int flags; long long epoch; } _cachedVideoSeekTime;
    PUCropGestureHandler *_gestureHandler;
    BOOL _muted;
    BOOL _needsLayerTransformUpdate;
    BOOL _layerTransformUpdateAnimated;
    BOOL _needsUpdateLayerTransforms;
    BOOL _needsUpdateLayerTransformsAnimated;
    BOOL _isDebugging;
    CALayer *_imageLayer;
    CALayer *_mediaSuperlayer;
    CALayer *_mediaLayer;
    CALayer *_debugLayer;
    CAShapeLayer *_debugViewRectLayer;
    CAShapeLayer *_debugCropRectLayer;
    CAShapeLayer *_debugQuadLayer;
    NUCropModel *_cropModel;
    _UIDynamicAnimation *_currentAnimation;
    double _lastPitchRadians;
    double _lastYawRadians;
    double _lastRollRadians;
    double _lastImageZoomScale;
    struct CGVector { double dx; double dy; } _lastPanRubberBandOffset;
    struct CGPoint { double x; double y; } _lastModelCropCenter;
    struct CGPoint { double x; double y; } _lastViewCropCenter;
    double _lastUICroppingRectToImageScale;
}

@property (readonly, nonatomic) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } imageCropRect;
@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)_invalidateImageLayerModulator;
- (void)setOrientation:(long long)a0;
- (void)dealloc;
- (void)setMuted:(BOOL)a0;
- (void)setImageSize:(struct CGSize { double x0; double x1; })a0;
- (id)initWithFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0;
- (void).cxx_destruct;
- (void)setImage:(id)a0;
- (BOOL)isMuted;
- (void)layoutSubviews;
- (BOOL)gestureRecognizer:(id)a0 shouldRecognizeSimultaneouslyWithGestureRecognizer:(id)a1;
- (void)setLivePhoto:(id)a0;
- (void)handlePinchGesture:(id)a0;
- (void)handlePanGesture:(id)a0;
- (void)setYawAngle:(double)a0;
- (void)setPitchAngle:(double)a0;
- (struct CGSize { double x0; double x1; })masterImageSize;
- (void)didTrackWithCropGestureHandler:(id)a0;
- (void)setCanvasFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0;
- (id)_animateValueFromValue:(double)a0 toValue:(double)a1 interpolation:(id /* block */)a2 completion:(id /* block */)a3;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_croppingRect;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_fullCropRect;
- (struct CATransform3D { double x0; double x1; double x2; double x3; double x4; double x5; double x6; double x7; double x8; double x9; double x10; double x11; double x12; double x13; double x14; double x15; })_imageOrientationTransform;
- (struct CATransform3D { double x0; double x1; double x2; double x3; double x4; double x5; double x6; double x7; double x8; double x9; double x10; double x11; double x12; double x13; double x14; double x15; })_imageOrientationTransformWithoutTranslation;
- (void)_invalidateImageModulationManager;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_modelCropRectUnorientedInUICoords;
- (struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })_modelSpaceToViewSpaceTransformWithModelCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 currentViewCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1;
- (void)_resetCropRect;
- (void)_setCropModel:(id)a0;
- (void)_setupMediaWithComposition:(id)a0;
- (struct CGSize { double x0; double x1; })_sizeRotatedIfNeeded:(struct CGSize { double x0; double x1; })a0;
- (void)_updateImageModulation;
- (double)_viewScaleWithModelCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0;
- (double)_zoomScaleForCurrentCropRectAndModelRect;
- (double)_zoomScaleForModelCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0;
- (id)cropModel;
- (void)didBeginTrackingWithCropGestureHandler:(id)a0;
- (void)didEndTrackingWithCropGestureHandler:(id)a0;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })imageCropRectForViewRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })imageOrientedViewCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0;
- (struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })imageOrientedViewCropTransform;
- (struct CGPoint { double x0; double x1; })imagePointForViewPoint:(struct CGPoint { double x0; double x1; })a0;
- (void)mediaViewDidFinishRendering:(id)a0;
- (void)setAutoloopComposition:(id)a0;
- (void)setImageCropRectFromViewCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 animated:(BOOL)a1;
- (void)setImageModulationOptions:(struct { long long x0; float x1; })a0;
- (void)setModelCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 viewCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1;
- (void)setNeedsLayerTransformsUpdateAnimated:(BOOL)a0;
- (void)setStraightenAngle:(double)a0;
- (void)setVideoComposition:(id)a0 withSeekTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a1;
- (void)tearDownMediaViewAndLayers;
- (void)updateLayerTransformsAnimated:(BOOL)a0;
- (void)updateLayerTransformsAnimated:(BOOL)a0 viewCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 modelCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a2;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })validateViewCropRectAgainstModelCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })viewCropRectForImageRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })viewOrientedViewCropRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0;
- (void)willBeginTrackingWithCropGestureHandler:(id)a0;

@end