luxlabs header browser preview


@class NSHashTable, PXGViewEnvironment, NSArray, NSString, NSIndexSet, NSMutableDictionary, NSDictionary, NSObject, PXGEntityManager, NSMutableSet, PXGTextureManagerPreheatingStrategy, NSMapTable;
@protocol PXGTextureConverter, PXGMutableSpriteTexture, PXGTextureManagerDelegate, OS_dispatch_queue;

@interface PXGTextureManager : NSObject <PXGTextureProviderDelegate, PXGTextureAtlasManagerDelegate> {
    NSObject<OS_dispatch_queue> *_requestQueue;
    NSObject<OS_dispatch_queue> *_workQueue;
    NSObject<OS_dispatch_queue> *_processQueue;
    NSObject<OS_dispatch_queue> *_adjustQueue;
    NSObject<OS_dispatch_queue> *_deallocationsQueue;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _lookupLock;
    NSMapTable *_lookupLock_textureByKeyByPresentationType[3];
    struct unordered_map<int, PXGRequestDetails, std::hash<int>, std::equal_to<int>, std::allocator<std::pair<const int, PXGRequestDetails>>> { struct __hash_table<std::__hash_value_type<int, PXGRequestDetails>, std::__unordered_map_hasher<int, std::__hash_value_type<int, PXGRequestDetails>, std::hash<int>, std::equal_to<int>>, std::__unordered_map_equal<int, std::__hash_value_type<int, PXGRequestDetails>, std::equal_to<int>, std::hash<int>>, std::allocator<std::__hash_value_type<int, PXGRequestDetails>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<int, PXGRequestDetails>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<int, PXGRequestDetails>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<int, PXGRequestDetails>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<int, PXGRequestDetails>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<int, PXGRequestDetails>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<int, PXGRequestDetails>, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<int, PXGRequestDetails>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<int, PXGRequestDetails>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<int, PXGRequestDetails>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<int, std::__hash_value_type<int, PXGRequestDetails>, std::hash<int>, std::equal_to<int>>> { unsigned long long __value_; } __p2_; struct __compressed_pair<float, std::__unordered_map_equal<int, std::__hash_value_type<int, PXGRequestDetails>, std::equal_to<int>, std::hash<int>>> { float __value_; } __p3_; } __table_; } _lookupLock_requestDetailsByRequestID;
    NSHashTable *_spriteTexturesInUse;
    NSMapTable *_pendingSpriteTextureByRequestID;
    NSDictionary *_textureConverterByPresentationType;
    id<PXGTextureConverter> _atlasTextureConverter;
    unsigned char _atlasPresentationType;
    BOOL _didSwitchTextureConverter;
    NSMutableDictionary *_textureProviderByMediaKind;
    NSMapTable *_textureProvidersDisplayLinkRegistrationState;
    struct unordered_map<int, unsigned int, std::hash<int>, std::equal_to<int>, std::allocator<std::pair<const int, unsigned int>>> { struct __hash_table<std::__hash_value_type<int, unsigned int>, std::__unordered_map_hasher<int, std::__hash_value_type<int, unsigned int>, std::hash<int>, std::equal_to<int>>, std::__unordered_map_equal<int, std::__hash_value_type<int, unsigned int>, std::equal_to<int>, std::hash<int>>, std::allocator<std::__hash_value_type<int, unsigned int>>> { struct unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<int, unsigned int>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<int, unsigned int>, void *> *> *>>> { struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<int, unsigned int>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<int, unsigned int>, void *> *> *>>> { void **__value_; struct __bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<int, unsigned int>, void *> *> *>> { struct __compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<int, unsigned int>, void *> *> *>> { unsigned long long __value_; } __data_; } __value_; } __ptr_; } __bucket_list_; struct __compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<int, unsigned int>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<int, unsigned int>, void *>>> { struct __hash_node_base<std::__hash_node<std::__hash_value_type<int, unsigned int>, void *> *> { void *__next_; } __value_; } __p1_; struct __compressed_pair<unsigned long, std::__unordered_map_hasher<int, std::__hash_value_type<int, unsigned int>, std::hash<int>, std::equal_to<int>>> { unsigned long long __value_; } __p2_; struct __compressed_pair<float, std::__unordered_map_equal<int, std::__hash_value_type<int, unsigned int>, std::equal_to<int>, std::hash<int>>> { float __value_; } __p3_; } __table_; } _spriteIndexByRequestID;
    NSIndexSet *_loadedSpriteIndexes;
    struct { struct { unsigned int x0; } x0; int x1; unsigned char x2; unsigned char x3; unsigned short x4; void *x5; unsigned int x6; void *x7; unsigned int x8; unsigned int x9; unsigned char x10; } *_streamInfoBySpriteIndex;
    unsigned long long _streamInfoBySpriteIndexCount;
    unsigned long long _streamInfoBySpriteIndexCapacity;
    _Atomic unsigned char _isPerformingUpdateFromRequestQueue;
    unsigned long long _requestQueue_pendingSetNeedsUpdate;
    id<PXGMutableSpriteTexture> _emptyTexture;
    NSMutableSet *_placeholderTextures;
    NSArray *_trackedComponents;
}

@property (retain) NSArray *textureAtlasManagers;
@property (readonly, nonatomic) long long streamCount;
@property (weak, nonatomic) id<PXGTextureManagerDelegate> delegate;
@property (readonly, nonatomic) PXGEntityManager *entityManager;
@property (readonly, nonatomic) NSObject<OS_dispatch_queue> *layoutQueue;
@property (copy, nonatomic) NSArray *textureConverters;
@property (retain, nonatomic) PXGTextureManagerPreheatingStrategy *preheatingStrategy;
@property (retain, nonatomic) PXGViewEnvironment *viewEnvironment;
@property (nonatomic) BOOL lowMemoryMode;
@property (nonatomic) BOOL allowLargerImagesDuringScrollingInLowMemoryMode;
@property (nonatomic) BOOL preferBGRA;
@property (nonatomic) BOOL preferMipmaps;
@property (nonatomic) unsigned long long preferredColorSpaceName;
@property (nonatomic) BOOL isInactive;
@property (readonly, nonatomic) NSDictionary *texturesByPresentationType;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

- (void)releaseCachedResources;
- (void)streamTexturesForSpritesInDataStore:(id)a0 presentationDataStore:(id)a1 changeDetails:(id)a2 layout:(id)a3 interactionState:(struct { long long x0; BOOL x1; BOOL x2; BOOL x3; unsigned long long x4; BOOL x5; BOOL x6; BOOL x7; struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } x8; })a4;
- (void)_processPixelBuffer:(struct __CVBuffer { } *)a0 options:(struct { BOOL x0; float x1; BOOL x2; })a1 adjustment:(id)a2 fromTextureProvider:(id)a3 withTextureConverter:(id)a4 forRequestID:(int)a5 requestDetails:(struct { unsigned char x0; unsigned int x1; })a6 deliveryOrder:(unsigned int)a7;
- (void)textureProvider:(id)a0 didProvideImageData:(id)a1 withSpecAtIndex:(long long)a2 size:(struct CGSize { double x0; double x1; })a3 bytesPerRow:(unsigned long long)a4 contentsRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a5 forRequestID:(int)a6;
- (void)_registerTextureConverter:(id)a0 forPresentationType:(unsigned char)a1;
- (void)dealloc;
- (void)_requestQueue_scheduleUpdateIfAllowed;
- (void)_processCGImage:(struct CGImage { } *)a0 options:(struct { BOOL x0; float x1; BOOL x2; })a1 adjustment:(id)a2 isDegraded:(BOOL)a3 fromTextureProvider:(id)a4 withTextureConverter:(id)a5 requestID:(int)a6 requestDetails:(struct { unsigned char x0; unsigned int x1; })a7 deliveryOrder:(unsigned int)a8;
- (void)_configureTextureProvider:(id)a0;
- (void)_configureTextureConverter:(id)a0;
- (void)_enumerateTextureProviders:(id /* block */)a0;
- (BOOL)_getRequestDetails:(out struct { unsigned char x0; unsigned int x1; } *)a0 forRequestID:(int)a1;
- (void)_requestQueue_setNeedsUpdate;
- (id)_storeTexture:(id)a0 forKey:(id)a1 replaceExisting:(BOOL)a2;
- (void)textureProviderNeedsToRegisterToDisplayLinkUpdates:(id)a0;
- (id)_existingTextureForPayload:(id)a0 presentationType:(unsigned char)a1;
- (id)_createTextureForCGImage:(struct CGImage { } *)a0 requestID:(int)a1 requestDetails:(struct { unsigned char x0; unsigned int x1; })a2 processingOptions:(struct { BOOL x0; float x1; BOOL x2; })a3 fromTextureProvider:(id)a4 withTextureConverter:(id)a5;
- (void)registerTextureProvider:(id)a0 forMediaKind:(unsigned char)a1;
- (void)_resizeStorageIfNeededForSpriteCount:(long long)a0;
- (id)_storeTexture:(id)a0 forPayload:(id)a1;
- (id)_textureAtlasManagerForImageDataSpec:(struct { unsigned long long x0; struct __CFString *x1; unsigned short x2; unsigned short x3; })a0;
- (void)_configureAllTextureConverters;
- (void)_updatePreheatingStrategy;
- (void)_configureAllTextureProviders;
- (id).cxx_construct;
- (id)initWithEntityManager:(id)a0 layoutQueue:(id)a1;
- (void)_setNeedsUpdate;
- (void)textureProvider:(id)a0 didProvideCGImage:(struct CGImage { } *)a1 options:(struct { BOOL x0; float x1; BOOL x2; })a2 adjustment:(id)a3 isDegraded:(BOOL)a4 forRequestID:(int)a5;
- (void)textureProvider:(id)a0 didProvidePayload:(id)a1 forRequestID:(int)a2;
- (id)_existingAdjustedTextureForSourceTexture:(id)a0 adjustment:(id)a1 wantsMipmaps:(BOOL)a2 presentationType:(unsigned char)a3;
- (id)_createTextureForCVPixelBuffer:(struct __CVBuffer { } *)a0 requestID:(int)a1 requestDetails:(struct { unsigned char x0; unsigned int x1; })a2 processingOptions:(struct { BOOL x0; float x1; BOOL x2; })a3 fromTextureProvider:(id)a4 withTextureConverter:(id)a5;
- (void)textureProviderNeedsToUnregisterFromDisplayLinkUpdates:(id)a0;
- (struct CGImage { } *)textureSnapshotForSpriteIndex:(unsigned int)a0;
- (void)simulateTextureLoad;
- (void)_blockOnThumbnailsIfNeededWithGeometries:(struct { struct { double x0; double x1; double x2; } x0; } *)a0 visibleRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 interactionState:(struct { long long x0; BOOL x1; BOOL x2; BOOL x3; unsigned long long x4; BOOL x5; BOOL x6; BOOL x7; struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } x8; })a2 fences:(id)a3;
- (void)_lookupLock_requestTexturesForSpritesInRange:(struct _PXGSpriteIndexRange { unsigned int x0; unsigned int x1; })a0 textureProvider:(id)a1 mediaKind:(unsigned char)a2 presentationType:(unsigned char)a3 isAppearing:(BOOL)a4 layout:(id)a5 leafSpriteIndexRange:(struct _PXGSpriteIndexRange { unsigned int x0; unsigned int x1; })a6 sprites:(struct { unsigned int x0; struct *x1; struct *x2; struct *x3; struct *x4; })a7 textureStreamInfos:(struct { struct { unsigned int x0; } x0; int x1; unsigned char x2; unsigned char x3; unsigned short x4; void *x5; unsigned int x6; void *x7; unsigned int x8; unsigned int x9; unsigned char x10; } *)a8 loadingStatus:(id)a9;
- (BOOL)streamUpdatedTexturesForDisplayLinkIfNeeded:(id)a0;
- (void)_applyAdjustment:(id)a0 withMipmaps:(BOOL)a1 toTexture:(id)a2 fromTextureProvider:(id)a3 withTextureConverter:(id)a4 forRequestID:(int)a5 deliveryOrder:(unsigned int)a6 requestDetails:(struct { unsigned char x0; unsigned int x1; })a7;
- (void)textureProvider:(id)a0 didProvidePixelBuffer:(struct __CVBuffer { } *)a1 options:(struct { BOOL x0; float x1; BOOL x2; })a2 adjustment:(id)a3 forRequestID:(int)a4;
- (id)_textureConverterForPresentationType:(unsigned char)a0 contentType:(unsigned long long)a1;
- (void).cxx_destruct;
- (void)_addTextureToTexturesInUse:(id)a0;
- (void)textureProvider:(id)a0 didProvideFailureWithError:(id)a1 forRequestID:(int)a2;
- (void)textureProvider:(id)a0 didProvideNothingForRequestID:(int)a1;
- (void)_enumerateSpriteTextures:(id /* block */)a0;
- (void)_removeAllTexturesForPresentationType:(unsigned char)a0;
- (id)_existingTextureForCGImage:(struct CGImage { } *)a0 processingOptions:(struct { BOOL x0; float x1; BOOL x2; })a1 presentationType:(unsigned char)a2;
- (void)_pruneTextures:(id)a0;
- (id)_existingTextureForKey:(id)a0 presentationType:(unsigned char)a1;
- (void)_streamTexturesForSpritesInDataStore:(id)a0 presentationDataStore:(id)a1 changeDetails:(id)a2 layout:(id)a3 interactionState:(struct { long long x0; BOOL x1; BOOL x2; BOOL x3; unsigned long long x4; BOOL x5; BOOL x6; BOOL x7; struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } x8; })a4 loadingStatus:(id)a5;
- (void)_handleProvidedSpriteTexture:(id)a0 fromTextureProvider:(id)a1 requestID:(int)a2 deliveryOrder:(unsigned int)a3;
- (id)_storeAdjustedTexture:(id)a0 forSourceTexture:(id)a1 adjustment:(id)a2 mipmaps:(BOOL)a3;
- (BOOL)textureAtlasManagerShouldPruneUnusedTextures:(id)a0;
- (void)_enumerateTextureConverters:(id /* block */)a0;
- (id)_storeTexture:(id)a0 forKey:(id)a1;
- (id)_existingTextureForPixelBuffer:(struct __CVBuffer { } *)a0 processingOptions:(struct { BOOL x0; float x1; BOOL x2; })a1 presentationType:(unsigned char)a2;
- (long long)_processTextureProviderResults;

@end