luxlabs header browser preview


@class UIImageView, NSMutableDictionary, UIViewPropertyAnimator, NSObject, SFFloatSpringProperty, UIVisualEffectView, SFMagicHeadSettings, NSMutableArray, UIView, SFMagicHeadPlaceholderView, UIColor, UIControl, SFMagicHead, NSUUID;
@protocol OS_dispatch_source, SFMagicHeadWheelViewDelegate;

@interface SFMagicHeadWheelView : UIView <SFMagicHeadDelegate>

@property BOOL invalidated;
@property long long guidanceState;
@property long long rotationState;
@property BOOL rotatedAfterSelectionWasMade;
@property double radius;
@property (retain) UIView *contentView;
@property (retain) UIImageView *canChangeSelectionView;
@property (retain) UIVisualEffectView *dotsContainer;
@property unsigned long long numberOfDots;
@property double dotsRadius;
@property (retain) UIColor *dotsColor;
@property (retain) UIControl *selectedHeadControl;
@property (retain) NSMutableDictionary *identifierToSelectionMarkerView;
@property (retain) SFMagicHeadPlaceholderView *placeHolderView;
@property (retain) NSObject<OS_dispatch_source> *suppressGuidanceHapticsTimer;
@property long long proposedRotationState;
@property long long consecutiveRotationChangeRequests;
@property (retain) SFFloatSpringProperty *rotationSpringProperty;
@property (retain) SFFloatSpringProperty *pitchSpringProperty;
@property (retain) SFFloatSpringProperty *rollSpringProperty;
@property double previousAngle;
@property (retain) NSMutableArray *dots;
@property (retain) UIViewPropertyAnimator *selectionAnimator;
@property (nonatomic, getter=isEnabled) BOOL enabled;
@property (nonatomic) BOOL noUWBCapableDevices;
@property (retain, nonatomic) SFMagicHeadSettings *settings;
@property (weak) NSObject<SFMagicHeadWheelViewDelegate> *delegate;
@property (readonly, nonatomic) NSUUID *nodeIdentifier;
@property (retain, nonatomic) SFMagicHead *selectedHead;
@property (readonly, nonatomic, getter=isMagicHead) BOOL magicHead;

+ (Class)layerClass;
+ (double)clampedRotationDegrees:(double)a0;
+ (double)rotationWithShortestDistanceFromDegrees:(double)a0 toDegrees:(double)a1;

- (void)dealloc;
- (void)invalidate;
- (void)setFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0;
- (void).cxx_destruct;
- (void)layoutSubviews;
- (void)loadSettings;
- (void)hideDots:(BOOL)a0 withAnimationDuration:(double)a1;
- (void)updateVelocityWithCurrentAngle:(double)a0;
- (BOOL)canChangeSelectionWhenInRotationState:(long long)a0 guidanceState:(long long)a1 description:(id *)a2 ignoreDisabling:(BOOL)a3;
- (BOOL)canChangeSelectionWithDescription:(id *)a0;
- (BOOL)canChangeSelectionWithDescription:(id *)a0 ignoreDisabling:(BOOL)a1;
- (struct CGPoint { double x0; double x1; })centerOfContentBounds;
- (BOOL)configureSelectedHeadWithNode:(id)a0 slotNode:(id)a1 isSameAsSelected:(BOOL)a2;
- (void)cozyUpAnimationForHead:(id)a0;
- (void)createSprings;
- (void)deviceRotatedToDegrees:(double)a0 withPitch:(double)a1 andRoll:(double)a2;
- (BOOL)guidanceStatesEnabled;
- (void)hapticsForHideDots:(BOOL)a0;
- (void)hideSelection:(BOOL)a0;
- (BOOL)inGuidanceStates;
- (BOOL)inGuidanceStatesWhenInState:(long long)a0;
- (id)initWithNumberOfDots:(unsigned long long)a0 dotsRadius:(double)a1 isMagicHead:(BOOL)a2;
- (void)lostSelectedNode;
- (void)magicHead:(id)a0 requestingSubtitleTextChangeForState:(long long)a1;
- (void)magicHeadDidFinishTransferForHead:(id)a0;
- (void)magicHeadDidStartTransferForHead:(id)a0;
- (void)magicHeadDidTerminateTransferForHead:(id)a0;
- (void)pulseSelectedHead;
- (void)scaleDots:(BOOL)a0;
- (void)selectAnimationForHead:(id)a0 withDismissHead:(id)a1;
- (void)selectedHeadHighlighted;
- (void)selectedHeadHightlightCancel;
- (void)selectedHeadTapped;
- (void)setMarkerViewForIdentifier:(id)a0 atPositionDegree:(double)a1;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })squareBounds;
- (void)startSuppressGuidanceHapticsTimer;
- (void)stopSuppressGuidanceHapticsTimer;
- (BOOL)transitionToGuidanceState:(long long)a0;
- (void)transitionToRotationState:(long long)a0 bypassSampling:(BOOL)a1;
- (void)triggerContractDotsHaptic;
- (long long)triggerCountForCandidateRotationState:(long long)a0;
- (void)triggerExpandDotsHaptic;
- (void)triggerReSelectedHaptic;
- (void)triggerSelectedHaptic;
- (void)updateCanChangeSelectionUI;
- (void)updatePlaceHolderView;
- (BOOL)updateSelectedHead:(id)a0;
- (BOOL)updateSelectedNode:(id)a0;
- (BOOL)updateSelectedSlotNode:(id)a0;
- (void)updateSelectionControlState;
- (void)updateVisibilityOfComponents;

@end