luxlabs header browser preview


@class NSURL, UIImage, NSDate, PXImageLayerModulator, CALayer, UIView, PUBrowsingViewModel, UIColor, NSString, PUImageRequester, PXNumberAnimator, PUAssetViewModel, NSData, PUMediaProvider, PXImageModulationManager, UIImageView;
@protocol PUImageRequesterResult, PXVKImageAnalysisInteraction, PUDisplayAsset, PLTileableLayer, PUImageTileViewControllerPresentingDelegate;

@interface PUImageTileViewController : PUTileViewController <PUImageRequesterObserver, PUBrowsingViewModelChangeObserver, PXVKImageAnalysisInteractionDelegate, PXChangeObserver, PUAssetViewModelChangeObserver> {
    struct { BOOL respondsToPresentingViewController; BOOL respondsToShouldShowVisualIntelligenceOverlay; BOOL respondsToShouldEnableSubjectLiftingForVisualIntelligenceOverlay; BOOL respondsToPPTShouldSignalDeferredProcessingDoneAndFinalImageDisplayed; } _presentingDelegateFlags;
}

@property (nonatomic, setter=_setNeedsUpdateImage:) BOOL _needsUpdateImage;
@property (nonatomic, setter=_setNeedsUpdateImageLayerModulator:) BOOL _needsUpdateImageLayerModulator;
@property (nonatomic, setter=_setNeedsUpdateImageLayerModulatorInput:) BOOL _needsUpdateImageLayerModulatorInput;
@property (nonatomic, setter=_setNeedsUpdateFullSizeImageMetadata:) BOOL _needsUpdateFullSizeImageMetadata;
@property (nonatomic, setter=_setNeedsUpdateFullSizeTiledLayer:) BOOL _needsUpdateFullSizeTiledLayer;
@property (nonatomic, setter=_setTargetSize:) struct CGSize { double width; double height; } _targetSize;
@property (nonatomic) BOOL needsUpdateTargetSize;
@property (nonatomic) BOOL needsUpdateVisualIntelligenceOverlayContentsRect;
@property (readonly, nonatomic) UIImageView *_imageView;
@property (retain, nonatomic) UIView *tiledLayerHostingView;
@property (retain, nonatomic) PXNumberAnimator *tiledLayerAlphaAnimator;
@property (retain, nonatomic, setter=_setFullSizeImageData:) NSData *_fullSizeImageData;
@property (retain, nonatomic, setter=_setFullSizeImageURL:) NSURL *_fullSizeImageURL;
@property (nonatomic, setter=_setFullSizeImageOrientation:) long long _fullSizeImageOrientation;
@property (nonatomic, setter=_setFullSizeImageUntransformedSize:) struct CGSize { double width; double height; } _fullSizeImageUntransformedSize;
@property (nonatomic, setter=_setFullSizeImageSize:) struct CGSize { double width; double height; } _fullSizeImageSize;
@property (retain, nonatomic, setter=_setFullSizeTiledLayer:) CALayer<PLTileableLayer> *_fullSizeTiledLayer;
@property (nonatomic, setter=_setDisplayingFullQualityImage:) BOOL _isDisplayingFullQualityImage;
@property (nonatomic, setter=_setAssetLoadingStage:) long long _assetLoadingStage;
@property (retain, nonatomic, setter=_setAssetLoadingStartDate:) NSDate *_assetLoadingStartDate;
@property (nonatomic, setter=_setShouldUsePenultimateVersionForNextImageUpdate:) BOOL shouldUsePenultimateVersionForNextImageUpdate;
@property (nonatomic) BOOL canUseFullSizeTiledLayer;
@property (nonatomic) BOOL requiresFullQualityImage;
@property (retain, nonatomic) id<PUImageRequesterResult> displayedImageRequestResult;
@property (nonatomic) BOOL shouldAnimateToFullQualityResult;
@property (nonatomic) BOOL shouldRetainNonFinalImageUntilZoom;
@property (retain, nonatomic, setter=_setImageRequester:) PUImageRequester *_imageRequester;
@property (retain, nonatomic) PXImageLayerModulator *imageLayerModulator;
@property (retain, nonatomic) id<PXVKImageAnalysisInteraction> imageInteraction;
@property (readonly, nonatomic) UIImage *image;
@property (readonly, nonatomic) BOOL gainMapImageIsAvailable;
@property (readonly, nonatomic) struct CGImage { } *gainMapImage;
@property (readonly, nonatomic) float gainMapValue;
@property (retain, nonatomic) PUBrowsingViewModel *browsingViewModel;
@property (retain, nonatomic) PUAssetViewModel *assetViewModel;
@property (retain, nonatomic) id<PUDisplayAsset> asset;
@property (retain, nonatomic) PUMediaProvider *mediaProvider;
@property (retain, nonatomic) PXImageModulationManager *imageModulationManager;
@property (copy, nonatomic) UIColor *placeholderColor;
@property (weak, nonatomic) id<PUImageTileViewControllerPresentingDelegate> presentingDelegate;
@property (nonatomic) BOOL animatesImageTransitions;
@property (nonatomic) BOOL shouldUseFullSizeImageData;
@property (nonatomic) BOOL visualImageInteractionEnabled;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (id)_supportedZoomImageFormats;

- (struct CGSize { double x0; double x1; })targetSizeForProposedTargetSize:(struct CGSize { double x0; double x1; })a0;
- (void)_updateFullSizeImageMetadataIfNeeded;
- (void)_updateVKAnalysisAndDisplayMode;
- (void)_invalidateFullSizeImageMetadata;
- (void)_updateAssetLoadingStage;
- (void)_updateImageLayerModulatorInputIfNeeded;
- (void)imageRequester:(id)a0 didProduceResult:(id)a1;
- (void)_handleShouldReloadAssetMediaNotification:(id)a0;
- (id)generateAssetTransitionInfo;
- (void)_cancelAllImageRequests;
- (void)_invalidateImage;
- (void)_updateFullSizeTiledLayerIfNeeded;
- (void)updateModulatorInputs;
- (void)updateModulator;
- (void)imageRequesterDidUpdateFullSizeImageData:(id)a0;
- (BOOL)_isDeferredProcessingFinished;
- (void)assetViewModelDidChange;
- (void)_setAssetWithoutUpdateIfNeeded:(id)a0;
- (void)_handleBrowsingViewModel:(id)a0 didChange:(id)a1;
- (BOOL)shouldAdoptResult:(id)a0 overExistingResult:(id)a1;
- (void)_invalidateTargetSize;
- (void)setPreloadedImage:(id)a0;
- (void)isViewControllerTransitioningDidChange;
- (void)didChangeVisibleRect;
- (BOOL)shouldAnimateAppearanceOfResult:(id)a0 overExistingResult:(id)a1;
- (void)_updateReadyForDisplay;
- (void)displayImageRequestResult:(id)a0;
- (void)_updateImageLayerModulatorIfNeeded;
- (void)setEdgeAntialiasingEnabled:(BOOL)a0;
- (id)_addVKImageInteractionToImageView;
- (void)_updateVisualIntelligenceUnitContentsRect;
- (void)viewModel:(id)a0 didChange:(id)a1;
- (void)_updateImageRequesterFullSizeImageDataProperties;
- (void)_removeVKImageInteractionFromImageView;
- (void)setGainMapImage:(struct CGImage { } *)a0;
- (void)_invalidateFullSizeTiledLayer;
- (void)_invalidateVisualIntelligenceOverlayContentsRect;
- (BOOL)vkVisualSearchExistsAtPoint:(struct CGPoint { double x0; double x1; })a0;
- (void)setGainMapValue:(float)a0;
- (void)_updateImageViewBackgroundColor;
- (BOOL)_allowsVKRemoveBackground;
- (id)presentingViewControllerForImageAnalysisInteraction:(id)a0;
- (void)assetDidChange;
- (void)imageAnalysisInteractionDidDismissVisualSearchController:(id)a0;
- (void)_updateImageIfNeeded;
- (void)_invalidateImageLayerModulator;
- (BOOL)shouldAvoidInPlaceSnapshottedFadeOut;
- (void)_setVisualIntelligenceAnalyzingImageIfNeeded;
- (void)_handleAssetViewModel:(id)a0 didChange:(id)a1;
- (void)_invalidateImageLayerModulatorInput;
- (void)applyLayoutInfo:(id)a0;
- (void)updateMutableImageLayerModulator:(id)a0;
- (void)_notifyDeferredProcessingDoneAndFinalImageDisplayedIfNeeded;
- (BOOL)vkViewExistsAtPoint:(struct CGPoint { double x0; double x1; })a0;
- (BOOL)wantsVisibleRectChanges;
- (void)_updateTargetSizeIfNeeded;
- (double)_screenScale;
- (void)_updateVisualIntelligenceOverlayContentsRectIfNeeded;
- (void)expectedPresentationSizeDidChange;
- (void)imageAnalysisInteraction:(id)a0 didTapVisualSearchIndicatorWithNormalizedBoundingBox:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1;
- (void)observable:(id)a0 didChange:(unsigned long long)a1 context:(void *)a2;
- (void)dealloc;
- (BOOL)_needsUpdate;
- (void)becomeReusable;
- (void)_invalidate;
- (void)_updateIfNeeded;
- (id)loadView;
- (void).cxx_destruct;

@end