@class CAMFeedbackController, CAMMetalView, UILabel, CAMLiquidShutterRenderer, CAMShutterButtonRingView, CAMTrackingSpring, UIView, NSString, CAMSpring, CAMDynamicShutterGestureRecognizer, CEKDisplayLinkTarget, NSArray, CAMTimelapseShutterRingView, CADisplayLink, UIImageView; @protocol CAMDynamicShutterControlDelegate; @interface CAMDynamicShutterControl : UIControl { struct { BOOL respondsToTopLevelSuperview; BOOL respondsToDidShortPress; BOOL respondsToCanStartOnTouchDown; BOOL respondsToShouldBeginGesture; BOOL respondsToGesturesDidBegin; BOOL respondsToGesturesDidEnd; BOOL respondsToGesturesDidCancel; BOOL respondsToDidStart; BOOL respondsToDidStartWithGesture; BOOL respondsToDidStartZoomGesture; BOOL respondsToDidChangeRelativeZoomProgress; BOOL respondsToDidStop; BOOL respondsToDidPressLockButton; BOOL respondsToDidPresentCounter; BOOL respondsToDidDismissCounter; BOOL respondsToTouchAttemptedWhileDisabled; } _delegateFlags; } @property (readonly, nonatomic) CADisplayLink *_displayLink; @property (readonly, nonatomic) CEKDisplayLinkTarget *_displayLinkTarget; @property (readonly, nonatomic) CAMLiquidShutterRenderer *_liquidShutterRenderer; @property (readonly, nonatomic) CAMMetalView *_metalView; @property (readonly, nonatomic) CAMShutterButtonRingView *_centerOuterView; @property (retain, nonatomic) UIImageView *_centerOuterImageView; @property (readonly, nonatomic) UIView *_centerOuterLegibilityView; @property (retain, nonatomic) CAMTimelapseShutterRingView *_centerTimelapseOuterView; @property (readonly, nonatomic) UIView *_lockButtonOuterView; @property (readonly, nonatomic) UIView *_lockButtonOuterLegibilityView; @property (readonly, nonatomic) UIImageView *_videoLockImageView; @property (readonly, nonatomic) UIView *_leftLineView; @property (readonly, nonatomic) UIView *_leftLineLegibilityView; @property (readonly, nonatomic) UIView *_rightLineView; @property (readonly, nonatomic) UIView *_rightLineLegibilityView; @property (readonly, nonatomic) UILabel *_counterLabel; @property (retain, nonatomic) UIView *_spinnerView; @property (readonly, nonatomic) struct CAMShutterButtonSpec { double outerRingDiameter; double outerRingStrokeWidth; double stopSquareSideLength; double stopSquareCornerRadius; double interRingSpacing; } _shutterButtonSpec; @property (readonly, nonatomic) struct CAMShutterButtonSpec { double outerRingDiameter; double outerRingStrokeWidth; double stopSquareSideLength; double stopSquareCornerRadius; double interRingSpacing; } _lockButtonActiveSpec; @property (readonly, nonatomic) struct CAMShutterButtonSpec { double outerRingDiameter; double outerRingStrokeWidth; double stopSquareSideLength; double stopSquareCornerRadius; double interRingSpacing; } _lockButtonInactiveSpec; @property (readonly, nonatomic) struct CGPoint { double x0; double x1; } _shutterButtonCenter; @property (readonly, nonatomic) struct CGPoint { double x0; double x1; } _lockButtonCenter; @property (readonly, nonatomic) double _dragHandleXPosition; @property (nonatomic, setter=_setTouchBeganTime:) double _touchBeganTime; @property (nonatomic, setter=_setTouchSequencePhase:) long long _touchSequencePhase; @property (nonatomic, setter=_setFirstTouch:) struct { struct CGPoint { double x; double y; } point; double time; BOOL isWithinShutterButton; BOOL isWithinLockButton; } _firstTouch; @property (nonatomic, setter=_setMostRecentTouch:) struct { struct CGPoint { double x; double y; } point; double time; BOOL isWithinShutterButton; BOOL isWithinLockButton; } _mostRecentTouch; @property (readonly, nonatomic) CAMDynamicShutterGestureRecognizer *_gestureRecognizer; @property (nonatomic) BOOL _canZoom; @property (nonatomic, getter=isZooming, setter=setZooming:) BOOL zooming; @property (nonatomic) double _initalZoomGestureOffsetY; @property (readonly, nonatomic) CAMFeedbackController *_feedbackController; @property (readonly, nonatomic, getter=_isDraggingEnabled) BOOL _draggingEnabled; @property (readonly, nonatomic, getter=_isPastStartStopDragThreshold) BOOL _pastStartStopDragThreshold; @property (readonly, nonatomic, getter=_isPastCounterDragThreshold) BOOL _pastCounterDragThreshold; @property (nonatomic, setter=_setShutterState:) long long _shutterState; @property (nonatomic, setter=_setDragHandleState:) long long _dragHandleState; @property (nonatomic, setter=_setInnerShapeState:) long long _innerShapeState; @property (nonatomic, getter=_isExternalShutterPressed, setter=_setExternalShutterPressed:) BOOL _externalShutterPressed; @property (nonatomic) long long _externalShutterLongPressBehavior; @property (nonatomic, getter=_isExternalLockButtonPressed, setter=_setExternalLockButtonPressed:) BOOL _externalLockButtonPressed; @property (nonatomic, setter=_setCounterValue:) long long _counterValue; @property (nonatomic) BOOL _shouldCheckTouchUpEvents; @property (nonatomic, setter=_setIgnoreNextCancelledGesture:) BOOL _ignoreNextCancelledGesture; @property (readonly, nonatomic) NSArray *_springs; @property (readonly, nonatomic) CAMTrackingSpring *_dragHandleOffsetSpring; @property (readonly, nonatomic) CAMSpring *_dragHandleWidthSpring; @property (readonly, nonatomic) CAMSpring *_dragHandleColorIsWhiteSpring; @property (readonly, nonatomic) CAMSpring *_dragHandleAlphaSpring; @property (readonly, nonatomic) CAMSpring *_innerShapeWidthSpring; @property (readonly, nonatomic) CAMSpring *_innerShapePowerSpring; @property (readonly, nonatomic) CAMSpring *_innerShapeColorIsRedSpring; @property (readonly, nonatomic) CAMSpring *_innerShapeAlphaSpring; @property (readonly, nonatomic) CAMSpring *_drawLockUISpring; @property (readonly, nonatomic) CAMSpring *_expandLockRingSpring; @property (weak, nonatomic) id delegate; @property (nonatomic) struct { long long tapBehavior; long long longPressBehavior; long long dragRightBehavior; long long dragLeftBehavior; BOOL allowsZoom; long long lockBehavior; long long ringStyle; long long stopColor; long long idleColor; } settings; @property (nonatomic, getter=isSpinning) BOOL spinning; @property (nonatomic) BOOL showContrastBorder; @property (nonatomic) BOOL showDisabled; @property (nonatomic) double lockButtonCenterRightInset; @property (nonatomic) long long orientation; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (struct CAMShutterButtonSpec { double x0; double x1; double x2; double x3; double x4; })shutterButtonSpecForLayoutStyle:(long long)a0; - (void)setOrientation:(long long)a0 animated:(BOOL)a1; - (void)dealloc; - (BOOL)_shouldReceiveTouch:(struct { struct CGPoint { double x0; double x1; } x0; double x1; BOOL x2; BOOL x3; })a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_lockButtonFrame; - (struct CGSize { double x0; double x1; })intrinsicContentSize; - (BOOL)gestureRecognizerShouldBegin:(id)a0; - (void)_handlePress:(id)a0; - (void).cxx_destruct; - (id)hitTest:(struct CGPoint { double x0; double x1; })a0 withEvent:(id)a1; - (void)layoutSubviews; - (void)_updateSpinningAnimations; - (void)resetAnimated:(BOOL)a0; - (long long)incrementCounter; - (id)initWithMetalDevice:(id)a0 commandQueue:(id)a1; - (BOOL)_canDragCounter; - (void)_updateLeftLine; - (struct { struct CGPoint { double x0; double x1; } x0; double x1; BOOL x2; BOOL x3; })_touchForPoint:(struct CGPoint { double x0; double x1; })a0; - (void)metalViewDidChangeDrawableSize:(id)a0; - (double)_absoluteShutterToBottomDistance; - (BOOL)_canDragStartStop; - (void)_cancelTouchSequenceForReset:(BOOL)a0; - (long long)_consumeAndUpdateTouchSequencePhase; - (struct { double x0; double x1; double x2; double x3; })_dragHandleColor; - (void)_handleTapToStartStop; - (struct { double x0; double x1; double x2; double x3; })_innerShapeColor; - (BOOL)_isActiveTouchSequencePhase:(long long)a0; - (BOOL)_isHandleWithinLockRing; - (BOOL)_isPointWithinLockRingTouchArea:(struct CGPoint { double x0; double x1; })a0; - (BOOL)_isPointWithinShutterButtonTouchArea:(struct CGPoint { double x0; double x1; })a0; - (BOOL)_isStartStopShutterState:(long long)a0; - (BOOL)_isTrackingHandleState:(long long)a0; - (BOOL)_isValidChangeFromState:(long long)a0 toState:(long long)a1; - (id)_outerImage; - (void)_resetShutterState; - (void)_setDragHandleState:(long long)a0 animated:(BOOL)a1; - (void)_setInnerShapeState:(long long)a0 animated:(BOOL)a1; - (BOOL)_shouldShortPressOnTouchDown; - (BOOL)_shouldShortPressOnTouchUp; - (BOOL)_shouldStartStopOnTouchDown; - (BOOL)_shouldStartTrackingHandle; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_shutterButtonFrame; - (long long)_startGestureForShutterState:(long long)a0; - (void)_touchSequenceBegan:(struct { struct CGPoint { double x0; double x1; } x0; double x1; BOOL x2; BOOL x3; })a0; - (void)_touchSequenceCancelledForReset:(BOOL)a0; - (void)_touchSequenceChanged:(struct { struct CGPoint { double x0; double x1; } x0; double x1; BOOL x2; BOOL x3; })a0; - (void)_touchSequenceEnded:(struct { struct CGPoint { double x0; double x1; } x0; double x1; BOOL x2; BOOL x3; })a0 forReset:(BOOL)a1; - (void)_updateCenterLegibilityView; - (void)_updateCounterAlpha; - (void)_updateCounterLabelText; - (void)_updateDragHandleAlphaTarget; - (void)_updateDragHandleColorIsWhiteTarget; - (void)_updateDragHandleWidthTarget; - (void)_updateDrawLockUITarget; - (void)_updateExpandLockRingTarget; - (void)_updateForTargetTimestamp:(double)a0; - (void)_updateInnerShapeAlphaTarget; - (void)_updateInnerShapeColorIsRedTarget; - (void)_updateInnerShapePowerTarget; - (void)_updateInnerShapeWidthTarget; - (void)_updateLockGlyphTransformAndAlpha; - (void)_updateLockUI; - (void)_updateMetalViewAlpha; - (void)_updateOuterAndInnerLayersAnimated:(BOOL)a0; - (void)_updateRendererShapes; - (void)_updateRightLine; - (void)_updateSpringTargetsAnimated:(BOOL)a0; - (void)_updateStateForTouchPoint:(struct CGPoint { double x0; double x1; })a0; - (void)_updateStateToLongPressIfNeededWithPhase:(long long)a0; - (void)_updateStaticDragHandleOffsetTargetAnimated:(BOOL)a0; - (void)_updateTrackingDragHandleOffsetTargetWithPoint:(struct CGPoint { double x0; double x1; })a0; - (void)_updateTrackingSpringTargets; - (void)_updateViewsFromCurrentState; - (void)cancelZoom; - (void)externalButtonCancelled; - (BOOL)externalButtonPressedWithBehavior:(long long)a0; - (BOOL)externalButtonReleased; - (BOOL)externalLockButtonPressed; - (void)externalLockButtonReleased; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })frameForAlignmentRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 availableWidth:(double)a1; - (id)initWithMetalDevice:(id)a0 commandQueue:(id)a1 layoutStyle:(long long)a2; - (void)resetCounter; - (void)setSettings:(struct { long long x0; long long x1; long long x2; long long x3; BOOL x4; long long x5; long long x6; long long x7; long long x8; })a0 animated:(BOOL)a1; - (void)setShowDisabled:(BOOL)a0 animated:(BOOL)a1; @end