luxlabs header browser preview


@class NSTimer, UIView, NSArray, NSDate, CAMZoomButtonPlatter, CAMFeedbackController, NSSet, CAMZoomDial, NSString, CAMZoomButton, CAMZoomControlButtonMaskView;
@protocol CAMZoomControlDelegate;

@interface CAMZoomControl : UIControl <CAMZoomButtonDelegate> {
    struct { BOOL respondsToDidChangeZoomFactor; BOOL respondsToCanToggleBetweenZoomFactors; BOOL respondsToToggleBetweenZoomFactors; BOOL respondsToCanPlayHaptics; BOOL respondsToDidChangeShowingZoomDial; } _delegateFlags;
}

@property (readonly, nonatomic) CAMZoomButton *_zoomButton;
@property (readonly, nonatomic) CAMZoomDial *_zoomDial;
@property (readonly, nonatomic) UIView *_dialClippingView;
@property (readonly, nonatomic) CAMZoomControlButtonMaskView *_buttonMaskView;
@property (readonly, nonatomic) CAMZoomButtonPlatter *_buttonPlatter;
@property (nonatomic, setter=_setZoomControlMode:) long long _zoomControlMode;
@property (retain, nonatomic, setter=_setZoomFactors:) NSArray *_zoomFactors;
@property (retain, nonatomic, setter=_setDisplayZoomFactors:) NSArray *_displayZoomFactors;
@property (retain, nonatomic, setter=_setZoomPoints:) NSArray *_zoomPoints;
@property (nonatomic, setter=_setCreateButtonForMaxZoomFactor:) BOOL _createButtonForMaxZoomFactor;
@property (nonatomic, getter=_isZoomDialEnabled, setter=_setZoomDialEnabled:) BOOL _zoomDialEnabled;
@property (nonatomic, setter=_setShouldShowZoomDial:) BOOL _shouldShowZoomDial;
@property (readonly, nonatomic) BOOL _shouldHideZoomButtonBackground;
@property (nonatomic, getter=_isPlatterLayoutCompact, setter=_setPlatterLayoutCompact:) BOOL _platterLayoutCompact;
@property (readonly, nonatomic) double _displayMinimumZoomFactor;
@property (readonly, nonatomic) double _displayMaximumZoomFactor;
@property (readonly, nonatomic) NSArray *_switchOverZoomFactors;
@property (readonly, nonatomic) BOOL _shouldSnapDialToSwitchOverZoomFactors;
@property (readonly, nonatomic) BOOL _shouldUseZoomDialMask;
@property (readonly, nonatomic, getter=_isButtonPlatterSupportedForConfiguration) BOOL _buttonPlatterSupportedForConfiguration;
@property (readonly, nonatomic) BOOL _shouldShowButtonPlatter;
@property (nonatomic, setter=_setStartTouchLocation:) struct CGPoint { double x; double y; } _startTouchLocation;
@property (nonatomic, setter=_setPreviousTouchLocation:) struct CGPoint { double x; double y; } _previousTouchLocation;
@property (nonatomic, setter=_setPreviousTouchTime:) double _previousTouchTime;
@property (nonatomic, getter=_isEligibleForSwipeDownToDismiss, setter=_setEligibleForSwipeDownToDismiss:) BOOL _eligibleForSwipeDownToDismiss;
@property (nonatomic, getter=_isEligibleForZoomFactorLabelTaps, setter=_setEligibleForZoomFactorLabelTaps:) BOOL _eligibleForZoomFactorLabelTaps;
@property (retain, nonatomic, setter=_setZoomDialVisibilityTimer:) NSTimer *_zoomDialVisibilityTimer;
@property (retain, nonatomic, setter=_setStartTimeForHideAnimationInProgress:) NSDate *_startTimeForHideAnimationInProgress;
@property (nonatomic, setter=_setHideAnimationInProgressDuration:) double _hideAnimationInProgressDuration;
@property (retain, nonatomic, setter=_setHighlightedZoomButton:) CAMZoomButton *_highlightedZoomButton;
@property (readonly, nonatomic) CAMFeedbackController *_feedbackController;
@property (retain, nonatomic, setter=_setSignificantHapticDisplayValues:) NSArray *_significantHapticDisplayValues;
@property (retain, nonatomic, setter=_setSignificantHapticDisplayValueEpsilons:) NSArray *_significantHapticDisplayValueEpsilons;
@property (retain, nonatomic, setter=_setSignificantHapticDisplayValueSwitchOverIndexes:) NSSet *_significantHapticDisplayValueSwitchOverIndexes;
@property (nonatomic) long long _lastHapticZone;
@property (nonatomic, setter=_setSnappedZoomFactor:) double _snappedZoomFactor;
@property (nonatomic, setter=_setUnsnappingProgress:) double _unsnappingProgress;
@property (readonly, nonatomic) double displayZoomValue;
@property (readonly, nonatomic) NSArray *zoomPoints;
@property (nonatomic) long long preferredCustomLens;
@property (nonatomic) double leftMargin;
@property (nonatomic) struct UIEdgeInsets { double top; double left; double bottom; double right; } contentInsets;
@property (nonatomic) double zoomButtonMaxYWhenContracted;
@property (readonly, nonatomic) double zoomDialBorderWidth;
@property (nonatomic) double zoomDialRadius;
@property (nonatomic) double zoomDialContentMaskingHeight;
@property (weak, nonatomic) id<CAMZoomControlDelegate> delegate;
@property (nonatomic) long long layoutStyle;
@property (readonly, nonatomic) BOOL allowsContinuousZoom;
@property (readonly, nonatomic) long long zoomButtonContentType;
@property (nonatomic) double zoomFactor;
@property (readonly, nonatomic) double minimumZoomFactor;
@property (readonly, nonatomic) double maximumZoomFactor;
@property (readonly, nonatomic) long long zoomButtonSymbol;
@property (nonatomic) double minAvailableZoomFactor;
@property (nonatomic) double maxAvailableZoomFactor;
@property (readonly, nonatomic, getter=isShowingZoomDial) BOOL showingZoomDial;
@property (nonatomic) BOOL hideFocalLengthLabels;
@property (nonatomic) long long orientation;
@property (nonatomic) long long zoomButtonAccessoryState;
@property (readonly, nonatomic, getter=isPlatterExpanded) BOOL platterExpanded;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

- (void)_setButtonPlatterCollapsed:(BOOL)a0 animated:(BOOL)a1;
- (void)_updateButtonAccessoryAnimated:(BOOL)a0;
- (void)setOrientation:(long long)a0 animated:(BOOL)a1;
- (id)initWithLayoutStyle:(long long)a0;
- (void)cancelTrackingWithEvent:(id)a0;
- (void)traitCollectionDidChange:(id)a0;
- (double)_displayZoomValueForZoomFactor:(double)a0;
- (void)_setShouldShowZoomDial:(BOOL)a0 animationDuration:(long long)a1 afterDelay:(double)a2;
- (double)_distanceFromDialClippingViewToPoint:(struct CGPoint { double x0; double x1; })a0;
- (void)_handleAccessoryTappedForButton:(id)a0;
- (void)setShouldShowZoomDial:(BOOL)a0 animationDuration:(long long)a1;
- (void)setZoomButtonSymbol:(long long)a0 animated:(BOOL)a1;
- (void)_setPlatterLayoutCompact:(BOOL)a0 animated:(BOOL)a1;
- (void)setZoomButtonAccessoryState:(long long)a0 animated:(BOOL)a1;
- (void)zoomButtonDidLayout;
- (double)_normalizeValue:(double)a0 betweenMinimumValue:(double)a1 maximumValue:(double)a2;
- (void)_configureForControlMode:(long long)a0 zoomFactor:(double)a1 zoomFactors:(id)a2 displayZoomFactors:(id)a3 zoomButtonContentType:(long long)a4 animated:(BOOL)a5;
- (BOOL)_isWithinZoomButtonBoundsWithTouch:(id)a0;
- (void)_handleButtonTappedForContinuousModeWithPlatter:(id)a0;
- (void)_configureForControlMode:(long long)a0 zoomFactor:(double)a1 zoomPoints:(id)a2 zoomButtonContentType:(long long)a3 animated:(BOOL)a4;
- (BOOL)_isPointWithinZoomButtonAccessory:(struct CGPoint { double x0; double x1; })a0;
- (void)_setZoomDialEnabled:(BOOL)a0 animationDuration:(long long)a1;
- (void)_updateHaptics:(BOOL)a0;
- (double)_zoomFactorForDisplayZoomValue:(double)a0;
- (struct UIEdgeInsets { double x0; double x1; double x2; double x3; })alignmentRectInsets;
- (void)_updateSubviewsAlphasWithDuration:(double)a0 forConfigurationChange:(BOOL)a1;
- (BOOL)_isTouchWithinButtonPlatter:(id)a0;
- (void)_cancelDelayedZoomDialVisibilityChange;
- (double)_dampingFactorForDistanceFromDialForPoint:(struct CGPoint { double x0; double x1; })a0;
- (void)removeAnimationFromView:(id)a0 forKeys:(id)a1;
- (void)configureForZoomSymbolToggle;
- (BOOL)continueTrackingWithTouch:(id)a0 withEvent:(id)a1;
- (BOOL)configureForContinuousZoomWithZoomFactor:(double)a0 zoomPoints:(id)a1 createButtonForMaxZoomFactor:(BOOL)a2 compactPlatterLayout:(BOOL)a3 animated:(BOOL)a4;
- (void)_updateDisplayZoomFactorsAnimated:(BOOL)a0;
- (void)_handleButtonTappedForSelection:(id)a0;
- (BOOL)beginTrackingWithTouch:(id)a0 withEvent:(id)a1;
- (void)setLeftMargin:(double)a0 animated:(BOOL)a1;
- (BOOL)_shouldInterceptTouchesForHidingZoomDial;
- (void)_updateMaskViewForZoomButtonHighlightingTransform;
- (void)_handleButtonTapped:(id)a0 forAccessoryTap:(BOOL)a1;
- (double)_dampingFactorForMovementFromPoint:(struct CGPoint { double x0; double x1; })a0 toPoint:(struct CGPoint { double x0; double x1; })a1;
- (double)_accelerationForMovementFromPointFromPoint:(struct CGPoint { double x0; double x1; })a0 toPoint:(struct CGPoint { double x0; double x1; })a1 elapsedTime:(double)a2;
- (void)_updateDisplayedValuesAllowingFlashingSubstate:(BOOL)a0 animated:(BOOL)a1;
- (void).cxx_destruct;
- (void)_configureForControlMode:(long long)a0 zoomFactor:(double)a1 zoomPoints:(id)a2 zoomFactors:(id)a3 displayZoomFactors:(id)a4 createButtonForMaxZoomFactor:(BOOL)a5 zoomButtonContentType:(long long)a6 compactPlatterLayout:(BOOL)a7 animated:(BOOL)a8;
- (void)configureForDualDeviceWithZoomFactor:(double)a0 minimumZoomFactor:(double)a1 displayMinimumZoomFactor:(double)a2 maximumZoomFactor:(double)a3 displayMaximumZoomFactor:(double)a4 dualCameraSwitchOverZoomFactor:(double)a5 displayDualCameraSwitchOverZoomFactor:(double)a6;
- (void)_setZoomFactor:(double)a0 interactionType:(long long)a1 shouldNotifyDelegate:(BOOL)a2;
- (void)_updateSignificantValuesForHaptics;
- (unsigned long long)_numberOfZoomPlatterButtonsForZoomFactorCount:(unsigned long long)a0;
- (double)_additionalAccelerationForMovementFromPoint:(struct CGPoint { double x0; double x1; })a0 toPoint:(struct CGPoint { double x0; double x1; })a1 deltaX:(double)a2;
- (void)_cleanupForCancelTracking;
- (void)_handleZoomDialVisibilityTimerFiredWithUserInfo:(id)a0;
- (id)hitTest:(struct CGPoint { double x0; double x1; })a0 withEvent:(id)a1;
- (long long)_hapticZoneForDisplayValue:(double)a0;
- (BOOL)_isPointWithinButtonPlatter:(struct CGPoint { double x0; double x1; })a0;
- (void)_setShouldShowZoomDial:(BOOL)a0 animationDuration:(long long)a1;
- (id)_accessorizedZoomButton;
- (void)configureForTripleDeviceWithZoomFactor:(double)a0 minimumZoomFactor:(double)a1 displayMinimumZoomFactor:(double)a2 maximumZoomFactor:(double)a3 displayMaximumZoomFactor:(double)a4 switchOverZoomFactor1:(double)a5 displaySwitchOverZoomFactor1:(double)a6 switchOverZoomFactor2:(double)a7 displaySwitchOverZoomFactor2:(double)a8;
- (void)_updateZoomButtonTappableEdgeInsets;
- (void)layoutSubviews;
- (double)_dampingFactorForPerpendicularityFromPoint:(struct CGPoint { double x0; double x1; })a0 toPoint:(struct CGPoint { double x0; double x1; })a1;
- (BOOL)_isTouchWithinZoomButtonAccessory:(id)a0;
- (void)_handleButtonTappedForDualCameraMode;
- (void)configureForSelectionOnlyWithDisplayZoomFactors:(id)a0 selectedIndex:(unsigned long long)a1 compactPlatterLayout:(BOOL)a2 animated:(BOOL)a3;
- (void)configureForSingleCameraPlusToggleWithZoomFactor:(double)a0 minimumZoomFactor:(double)a1 displayMinimumZoomFactor:(double)a2 maximumZoomFactor:(double)a3 displayMaximumZoomFactor:(double)a4;
- (void)endTrackingWithTouch:(id)a0 withEvent:(id)a1;
- (void)configureForToggleOnlyWithZoomFactor:(double)a0 displayZoomFactor:(double)a1;
- (void)_resetSnapping;
- (void)_handleButtonTappedForSingleCameraZoomPlusToggle;
- (void)_updateHapticEpsilons;

@end