luxlabs header browser preview


@class NSTimer;

@interface PVPanAndZoomManager : NSObject {
    struct PVTransformAnimationInfo { struct { long long value; int timescale; unsigned int flags; long long epoch; } time; struct CGPoint { double x; double y; } translation; double scale; double rotation; } _workingTransformTranslate;
    struct PVTransformAnimationInfo { struct { long long value; int timescale; unsigned int flags; long long epoch; } time; struct CGPoint { double x; double y; } translation; double scale; double rotation; } _workingTransformScale;
    struct PVTransformAnimationInfo { struct { long long value; int timescale; unsigned int flags; long long epoch; } time; struct CGPoint { double x; double y; } translation; double scale; double rotation; } _workingTransformRotate;
    BOOL _isEditingTranslate;
    BOOL _isEditingScale;
    BOOL _isEditingRotate;
    double _mediaAspectRatio;
    double _viewAspectRatio;
    double _minScale;
    double _adjustedMaxScale;
    BOOL _skipFirstSnap;
    double _scaleWhileSnapped;
    NSTimer *_snapTimer;
}

@property (nonatomic) struct CGSize { double width; double height; } mediaSize;
@property (nonatomic) struct CGSize { double width; double height; } viewSize;
@property (nonatomic) int fillMode;
@property (nonatomic) double maxScale;
@property (nonatomic) double zoomSnapScale;
@property (nonatomic) BOOL isZoomSnapEnabled;
@property (nonatomic) double zoomSnapThreshold;
@property (nonatomic) BOOL isTranslationDirectionLockEnabled;
@property (nonatomic) double translationDirectionLockThreshold;
@property (nonatomic) BOOL disableTranslation;
@property (nonatomic) BOOL disableScale;
@property (nonatomic) BOOL disableRotation;

+ (double)calculateMaxScale:(double)a0 forMediaAspectRatio:(double)a1 viewAspectRatio:(double)a2 fillMode:(int)a3;
+ (struct CGPoint { double x0; double x1; })adjustPositionToKeepMediaInViewBounds:(struct CGPoint { double x0; double x1; })a0 scale:(double)a1 minScale:(double)a2 mediaAspectRatio:(double)a3 viewAspectRatio:(double)a4 fillMode:(int)a5 outNeedsUpdate:(out BOOL *)a6;
+ (double)calculateMinScaleForMediaAspectRatio:(double)a0 viewAspectRatio:(double)a1 fillMode:(int)a2;
+ (struct CGPoint { double x0; double x1; })maximumNormalizedPositionForScale:(double)a0 minScale:(double)a1 position:(struct CGPoint { double x0; double x1; })a2 mediaAspectRatio:(double)a3 viewAspectRatio:(double)a4 fillMode:(int)a5;
+ (double)maximumNormalizedPositionInAxisForScale:(double)a0 minScale:(double)a1 isMediaAxisNormal:(BOOL)a2 isPositionBelowZero:(BOOL)a3;
+ (id)panAndZoomManagerWithMediaSize:(struct CGSize { double x0; double x1; })a0 viewSize:(struct CGSize { double x0; double x1; })a1 fillMode:(int)a2 maxScale:(double)a3;
+ (struct PVTransformAnimationInfo { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct CGPoint { double x0; double x1; } x1; double x2; double x3; })transformAnimInfoForScale:(double)a0 atNormalizedLocationInView:(struct CGPoint { double x0; double x1; })a1 minScale:(double)a2 currentScale:(double)a3 currentTranslation:(struct CGPoint { double x0; double x1; })a4 mediaAspectRatio:(double)a5 viewAspectRatio:(double)a6 fillMode:(int)a7 outNeedsUpdate:(out BOOL *)a8;

- (void).cxx_destruct;
- (BOOL)isEditing;
- (void)cancelEditing;
- (void)cancelSnapTimer;
- (void)beginEditingTransform:(struct PVTransformAnimationInfo { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct CGPoint { double x0; double x1; } x1; double x2; double x3; })a0 transformType:(int)a1 updateOtherWorkingTransforms:(BOOL)a2;
- (struct PVTransformAnimationInfo { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct CGPoint { double x0; double x1; } x1; double x2; double x3; })endEditingTransformForType:(int)a0;
- (id)initWithMediaSize:(struct CGSize { double x0; double x1; })a0 viewSize:(struct CGSize { double x0; double x1; })a1 fillMode:(int)a2 maxScale:(double)a3;
- (BOOL)isEditingTransformType:(int)a0;
- (void)onSnapTimer:(id)a0;
- (void)setIsEditingTransform:(BOOL)a0 type:(int)a1;
- (void)updateMaxScale;
- (void)updateMediaAspectRatio;
- (void)updateMinScale;
- (struct PVTransformAnimationInfo { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct CGPoint { double x0; double x1; } x1; double x2; double x3; })updateRotation:(double)a0 normalizedLocationInView:(struct CGPoint { double x0; double x1; })a1 outNeedsUpdate:(out BOOL *)a2;
- (struct PVTransformAnimationInfo { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct CGPoint { double x0; double x1; } x1; double x2; double x3; })updateScale:(double)a0 normalizedLocationInView:(struct CGPoint { double x0; double x1; })a1 outNeedsUpdate:(out BOOL *)a2;
- (struct PVTransformAnimationInfo { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct CGPoint { double x0; double x1; } x1; double x2; double x3; })updateTranslation:(struct CGPoint { double x0; double x1; })a0 outNeedsUpdate:(out BOOL *)a1;
- (void)updateViewAspectRatio;

@end