luxlabs header browser preview


@class UIPanGestureRecognizer, _UIHyperregionUnion, SBSystemGestureManager, SBWindowScene, NSDictionary, SBPIPPinchGestureRecognizer, SBSystemPointerInteractionManager, SBPIPInteractionSettings, NSMutableArray, NSMutableDictionary, UIView, NSString, _SBPIPInteractionControllerTransitionInfo, UIViewFloatAnimatableProperty, SBPIPRotationGestureRecognizer, _UIHyperInteractor, SBPIPInteractionControllerVisualizationView, SBPIPContentViewLayoutSettings;
@protocol SBPIPInteractionControllerDelegate, BSInvalidatable, SBPIPInteractionControllerDataSource;

@interface SBPIPInteractionController : NSObject <UIGestureRecognizerDelegate, SBPIPSystemGestureRecognizerDelegate, PTSettingsKeyPathObserver, SBSystemPointerInteractionDelegate, SBPIPPositionHyperregionComposerDelegate> {
    id<SBPIPInteractionControllerDelegate> _delegate;
    UIView *_interactionTargetView;
    NSString *_shortDescription;
    long long _shouldStash;
    BOOL _didLastSettleInStashedState;
    BOOL _didHandleGestureEndState;
    BOOL _gesturesWereCancelled;
    BOOL _isChangingSize;
    BOOL _threeTouchesPanDetected;
    SBSystemGestureManager *_systemGestureManagerForResizing;
    SBSystemPointerInteractionManager *_systemPointerInteractionManager;
    unsigned long long _hoveringOverEdge;
    unsigned long long _pointerIsHoveringOverEdge;
    struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } _pointerRegion;
    struct CGSize { double width; double height; } _toBeAppliedPreferredContentSize;
    UIViewFloatAnimatableProperty *_layoutProgressProperty;
    unsigned long long _allLayoutSessionUpdateReasons;
    unsigned long long _gesturesEndedLayoutReason;
    SBPIPPinchGestureRecognizer *_pinchGestureRecognizer;
    SBPIPRotationGestureRecognizer *_rotationGestureRecognizer;
    UIPanGestureRecognizer *_panGestureRecognizer;
    UIPanGestureRecognizer *_edgeResizeGestureRecognizer;
    UIPanGestureRecognizer *_externalPanDrivingGestureRecognizer;
    UIPanGestureRecognizer *_panWhileResizingGestureRecognizer;
    struct SBPIPPositionGeometryContext { struct CGSize { double width; double height; } pipCurrentSize; struct CGSize { double width; double height; } pipLastSteadySize; struct CGSize { double width; double height; } pipStashedSize; struct CGPoint { double x; double y; } pipAnchorPointOffset; struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } containerBounds; struct UIEdgeInsets { double top; double left; double bottom; double right; } edgeInsets; struct UIEdgeInsets { double top; double left; double bottom; double right; } minimumPadding; struct UIEdgeInsets { double top; double left; double bottom; double right; } stashedMinimumPadding; unsigned long long offscreenCorners; long long orientation; } _geometryContext;
    NSDictionary *_resolvedPositionRegionsMap;
    NSMutableArray *_positionRegionComposers;
    _UIHyperregionUnion *_stashedLeftRegion;
    _UIHyperregionUnion *_stashedRightRegion;
    _UIHyperInteractor *_positionInteractor;
    _UIHyperInteractor *_rotationInteractor;
    _UIHyperInteractor *_scaleInteractor;
    double _pinchGestureBaselineScale;
    double _edgeResizeGestureBaselineWidthScale;
    double _edgeResizeGestureBaselineHeightScale;
    double _edgeResizeGestureBaselineWidth;
    double _edgeResizeGestureBaselineHeight;
    double _pinchGestureScaleFactor;
    double _lastStashedProgress;
    struct CGPoint { double x; double y; } _panGestureLocationOffset;
    struct CGPoint { double x; double y; } _anchorPoint;
    struct CGAffineTransform { double a; double b; double c; double d; double tx; double ty; } _stashTabCompensationTransform;
    struct CGAffineTransform { double a; double b; double c; double d; double tx; double ty; } _rotationTransform;
    unsigned long long _inFlightAnimatedLayouts;
    id /* block */ _pendingInteractionCompletion;
    SBPIPInteractionSettings *_interactionSettings;
    id<BSInvalidatable> _stateCaptureInvalidatable;
    SBPIPContentViewLayoutSettings *_layoutSettings;
    UIView *_pointerHitTestBlocker;
    SBPIPInteractionControllerVisualizationView *_positionRegionVisualizationView;
    SBWindowScene *_targetWindowScene;
    NSMutableDictionary *_scenePersistentIdentifierToEdgeInsets;
    NSMutableDictionary *_scenePersistentIdentifierToStashedPadding;
    _SBPIPInteractionControllerTransitionInfo *_pendingTransition;
}

@property (readonly, weak, nonatomic) id<SBPIPInteractionControllerDataSource> dataSource;
@property (readonly, weak, nonatomic) UIView *targetView;
@property (readonly, nonatomic) struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } initialFrame;
@property (readonly, nonatomic) double preferredScale;
@property (readonly, nonatomic) double currentNormalizedScale;
@property (readonly, nonatomic) double stashProgress;
@property (readonly, nonatomic) SBPIPContentViewLayoutSettings *layoutSettings;
@property (readonly, nonatomic) struct CGPoint { double x0; double x1; } position;
@property (readonly, nonatomic) unsigned long long canonicalPosition;
@property (readonly, nonatomic) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } nonoperationalFrame;
@property (readonly, nonatomic) NSString *debugName;
@property (weak, nonatomic) UIView *targetOverlayView;
@property (nonatomic, getter=isEnabled) BOOL enabled;
@property (nonatomic, getter=isStashed) BOOL stashed;
@property (nonatomic) double preferredNormalizedScale;
@property (nonatomic) struct CGSize { double width; double height; } preferredContentSize;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

- (void)_setupStateCapture;
- (BOOL)_isRotating;
- (void)settings:(id)a0 changedValueForKeyPath:(id)a1;
- (void)dealloc;
- (void)_removeGestureRecognizers;
- (BOOL)gestureRecognizer:(id)a0 shouldReceiveTouch:(id)a1;
- (void)_setupGestureRecognizers;
- (BOOL)gestureRecognizerShouldBegin:(id)a0;
- (id)styleForRegion:(id)a0 forView:(id)a1;
- (BOOL)isRotating;
- (id)regionAtLocation:(struct CGPoint { double x0; double x1; })a0 forView:(id)a1;
- (BOOL)shouldBeginPointerInteractionRequest:(id)a0 atLocation:(struct CGPoint { double x0; double x1; })a1 forView:(id)a2;
- (struct UIEdgeInsets { double x0; double x1; double x2; double x3; })pointerInteractionHitTestInsetsForView:(id)a0;
- (BOOL)isPinching;
- (void).cxx_destruct;
- (void)_updatePreferredContentSize;
- (void)pointerWillExitRegion;
- (BOOL)gestureRecognizer:(id)a0 shouldRecognizeSimultaneouslyWithGestureRecognizer:(id)a1;
- (double)_currentScale;
- (BOOL)_isInteractive;
- (BOOL)_isPanning;
- (BOOL)_isPinching;
- (void)handlePinchGesture:(id)a0;
- (void)handlePanGesture:(id)a0;
- (struct CGPoint { double x0; double x1; })_currentPosition;
- (double)_currentRotation;
- (void)_setDefaults;
- (void)_enumerateComposers:(id)a0 usingBlock:(id /* block */)a1;
- (struct CGSize { double x0; double x1; })_lastSteadySize;
- (void)_updateSettingsDrivenParameters;
- (BOOL)_isSizeAffectedByLayoutReasons:(unsigned long long)a0;
- (void)__handleGesturesEndedState:(id)a0;
- (void)__moveToAnchorPoint:(struct CGPoint { double x0; double x1; })a0 reason:(id)a1;
- (unsigned long long)__traitsForGesturesReasons:(unsigned long long)a0;
- (void)_adjustContentViewAnchorPointForGestureRecognizer:(id)a0;
- (void)_applyPreferredScale;
- (struct UIEdgeInsets { double x0; double x1; double x2; double x3; })_cachedEdgeInsetsForScene:(id)a0;
- (struct UIEdgeInsets { double x0; double x1; double x2; double x3; })_cachedStashedPaddingForScene:(id)a0;
- (void)_cancelAllGestures;
- (unsigned long long)_canonicalPositionForPoint:(struct CGPoint { double x0; double x1; })a0;
- (struct CGPoint { double x0; double x1; })_closestToDefaultCornersPosition;
- (struct CGPoint { double x0; double x1; })_convertPoint:(struct CGPoint { double x0; double x1; })a0 fromWindowForView:(id)a1 toWindowScene:(id)a2;
- (struct CGPoint { double x0; double x1; })_convertPoint:(struct CGPoint { double x0; double x1; })a0 toReferenceSpaceFromView:(id)a1;
- (struct CGPoint { double x0; double x1; })_convertPointToInteractionTargetView:(struct CGPoint { double x0; double x1; })a0 fromSystemGestureRecognizer:(id)a1;
- (struct CGPoint { double x0; double x1; })_currentPositionForLayoutReason:(unsigned long long)a0;
- (struct SBPIPPositionInteractionStateContext { BOOL x0; BOOL x1; BOOL x2; BOOL x3; struct CGPoint { double x0; double x1; } x4; struct CGPoint { double x0; double x1; } x5; struct CGPoint { double x0; double x1; } x6; double x7; double x8; })_currentPositionInteractionStateContext;
- (struct CGSize { double x0; double x1; })_currentSizeForLayoutReason:(unsigned long long)a0;
- (void)_enumeratePositionRegionComposersUsingBlock:(id /* block */)a0;
- (void)_handleGestureBeganState:(id)a0;
- (void)_handleGestureEndedState:(id)a0;
- (BOOL)_hasInFlightLayoutAnimations;
- (BOOL)_hasValidInteractionTargetView;
- (struct UIEdgeInsets { double x0; double x1; double x2; double x3; })_inFlightHitTestPadding;
- (struct CGPoint { double x0; double x1; })_interactionTargetViewPresentationPosition;
- (BOOL)_isGestureRecognizerRecognizing:(id)a0;
- (BOOL)_isGesturing;
- (BOOL)_isPositionCloserToStashedLeftRegion:(struct CGPoint { double x0; double x1; })a0 closestPointOut:(struct CGPoint { double x0; double x1; } *)a1;
- (BOOL)_isPreferredContentSizeDirty;
- (BOOL)_isSystemGestureRecognizer:(id)a0;
- (struct UIEdgeInsets { double x0; double x1; double x2; double x3; })_minimumStashedPadding:(struct UIEdgeInsets { double x0; double x1; double x2; double x3; })a0;
- (void)_noteStashProgress:(double)a0 withReason:(unsigned long long)a1;
- (void)_performInitialLayoutIfNeeded;
- (double)_proratedScaleForNormalizedScale:(double)a0;
- (BOOL)_regionIsStashedOne:(id)a0;
- (void)_removePointerInteraction;
- (void)_resetAnchorPoint;
- (id)_rotationHyperregion;
- (struct CGPoint { double x0; double x1; })_roundPosition:(struct CGPoint { double x0; double x1; })a0 forSize:(struct CGSize { double x0; double x1; })a1;
- (id)_scaleHyperregion;
- (BOOL)_setEdgeInsets:(struct UIEdgeInsets { double x0; double x1; double x2; double x3; })a0 forScene:(id)a1;
- (void)_setNeedsLayoutForTraits:(unsigned long long)a0 withReason:(unsigned long long)a1 behavior:(int)a2;
- (void)_setNeedsLayoutForTraits:(unsigned long long)a0 withReason:(unsigned long long)a1 behavior:(int)a2 layoutCompletion:(id /* block */)a3 interactionCompletion:(id /* block */)a4;
- (void)_setPreferredScale:(double)a0 additionalReasons:(unsigned long long)a1 animationBehavior:(int)a2;
- (BOOL)_setStashedPadding:(struct UIEdgeInsets { double x0; double x1; double x2; double x3; })a0 forScene:(id)a1;
- (void)_setupDefaultInteractorsAndHyperRegions;
- (void)_setupForInitialFrame;
- (void)_setupPointerInteraction;
- (void)_sizeChangeBeganWithBehavior:(int)a0;
- (void)_sizeChangeEnded;
- (double)_stashProgressForPosition:(struct CGPoint { double x0; double x1; })a0;
- (struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })_stashTabCompensationTransformForStashProgress:(double)a0 reason:(unsigned long long)a1;
- (struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })_transformFromDisplayArrangeSpaceToWindowScene:(id)a0;
- (struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })_transformToDisplayArrangementSpaceFromWindowScene:(id)a0;
- (void)_updateGeometryContextBoundsUsingMainDisplayWindowScene;
- (BOOL)_updateGeometryContextUsingTargetViewBounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 orientation:(long long)a1;
- (void)_updateHyperregionVisualizationIfNecessary;
- (void)_updateInteractorsAndCommit:(BOOL)a0;
- (void)_updatePIPSizeGeometryContext;
- (void)_updatePositionRegionComposers;
- (void)_updateResolvedPositionHyperRegionsMapWithGeometry:(struct SBPIPPositionGeometryContext { struct CGSize { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; struct CGSize { double x0; double x1; } x2; struct CGPoint { double x0; double x1; } x3; struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } x4; struct UIEdgeInsets { double x0; double x1; double x2; double x3; } x5; struct UIEdgeInsets { double x0; double x1; double x2; double x3; } x6; struct UIEdgeInsets { double x0; double x1; double x2; double x3; } x7; unsigned long long x8; long long x9; })a0 interactionState:(struct SBPIPPositionInteractionStateContext { BOOL x0; BOOL x1; BOOL x2; BOOL x3; struct CGPoint { double x0; double x1; } x4; struct CGPoint { double x0; double x1; } x5; struct CGPoint { double x0; double x1; } x6; double x7; double x8; })a1;
- (void)_updateTargetWindowSceneIfNeeded;
- (void)_updateTargetWindowSceneIfNeededUpdatingInteractors:(BOOL)a0;
- (void)addPositionRegionComposer:(id)a0;
- (struct CGPoint { double x0; double x1; })edgeResizeAnchorPoint;
- (void)finishTransitionToWindowScene:(id)a0;
- (BOOL)gestureRecognizerShouldFailForMovementPastHysteresis:(id)a0;
- (void)handleEdgeResizeGesture:(id)a0;
- (void)handleExternalPanGesture:(id)a0;
- (void)handleRotationGesture:(id)a0;
- (id)initWithInteractionTargetView:(id)a0 preferredContentSize:(struct CGSize { double x0; double x1; })a1 interactionSettings:(id)a2 dataSource:(id)a3 delegate:(id)a4;
- (void)layoutInteractedTraits:(unsigned long long)a0 withReason:(unsigned long long)a1 source:(id)a2;
- (void)layoutWithFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 reason:(id)a1 source:(id)a2 usingDisplayArrangementSpace:(BOOL)a3;
- (id)positionHyperregion;
- (void)positionRegionComposerDidInvalidate:(id)a0;
- (void)positionRegionComposerNeedsUpdate:(id)a0 behavior:(int)a1;
- (void)prepareForTransitionToWindowScene:(id)a0;
- (void)recalculateScale:(out double *)a0 baselineScale:(out double *)a1 forTranslationInView:(struct CGPoint { double x0; double x1; })a2;
- (struct SBPIPPositionGeometryContext { struct CGSize { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; struct CGSize { double x0; double x1; } x2; struct CGPoint { double x0; double x1; } x3; struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } x4; struct UIEdgeInsets { double x0; double x1; double x2; double x3; } x5; struct UIEdgeInsets { double x0; double x1; double x2; double x3; } x6; struct UIEdgeInsets { double x0; double x1; double x2; double x3; } x7; unsigned long long x8; long long x9; })regionComposer:(id)a0 transformGeometryContext:(struct SBPIPPositionGeometryContext { struct CGSize { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; struct CGSize { double x0; double x1; } x2; struct CGPoint { double x0; double x1; } x3; struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } x4; struct UIEdgeInsets { double x0; double x1; double x2; double x3; } x5; struct UIEdgeInsets { double x0; double x1; double x2; double x3; } x6; struct UIEdgeInsets { double x0; double x1; double x2; double x3; } x7; unsigned long long x8; long long x9; })a1 toWindowScene:(id)a2;
- (void)reloadHyperregionComposerData;
- (void)reloadInsets;
- (void)setContainerSize:(struct CGSize { double x0; double x1; })a0 withOrientation:(long long)a1 scene:(id)a2;
- (void)setContentLayoutSettings:(id)a0 animationBehavior:(int)a1;
- (void)setPlatformMetrics:(id)a0 contentSize:(struct CGSize { double x0; double x1; })a1 animationBehavior:(int)a2;
- (void)setPreferredNormalizedScale:(double)a0 additionalReasons:(unsigned long long)a1 animationBehavior:(int)a2;
- (id)targetWindowSceneForRegionComposer:(id)a0;
- (void)toggleUserPreferredScale;

@end