luxlabs header browser preview


@class NSMutableDictionary, NSIndexSet, NSString, PXGMetalRenderContext, NSMutableIndexSet, NSObject, PXGColorProgram;
@protocol PXGMetalTextureAtlasDelegate, MTLTexture, OS_dispatch_queue;

@interface PXGMetalTextureAtlas : PXGImageTexture <PXGMetalSpriteTexture> {
    PXGMetalRenderContext *_metalRenderContext;
    NSObject<OS_dispatch_queue> *_layoutQueue;
    NSObject<OS_dispatch_queue> *_syncQueue;
    long long _cols;
    NSMutableIndexSet *_thumbnailIndexesUsedBySprites;
    NSMutableIndexSet *_spriteIndexesUsedBySprites;
    NSMutableIndexSet *_dirtySpriteIndexes;
    unsigned int *_spriteIndexByThumbnailIndex;
    NSIndexSet *_renderedSpriteIndexes;
    _Atomic short _count;
    NSMutableIndexSet *_thumbnailIndexesPendingCheckin;
    NSMutableIndexSet *_thumbnailIndexesBeingCheckedIn;
    _Atomic unsigned char _isPerformingThumbnailCheckin;
    char *_retainCountByThumbnailIndex;
    struct { float x0; } *_guarded_textureInfoByThumbnailIndex;
    NSMutableIndexSet *_syncQueue_availableThumbnailIndexes;
    NSMutableDictionary *_syncQueue_thumbnailsInUseByRenderPass;
    struct { int x0; unsigned int x1; unsigned int x2; } *_syncQueue_pendingThumbnailRequestInfo;
    unsigned long long _syncQueue_pendingThumbnailRequestInfoCount;
    unsigned long long _syncQueue_pendingThumbnailRequestInfoCapacity;
}

@property (readonly, copy, nonatomic) NSIndexSet *thumbnailIndexesUsedBySprites;
@property (readonly, nonatomic) NSIndexSet *renderedSpriteIndexes;
@property (weak, nonatomic) id<PXGMetalTextureAtlasDelegate> delegate;
@property (readonly) BOOL isUnused;
@property (readonly, nonatomic) unsigned long long pixelFormat;
@property (readonly, nonatomic) struct CGSize { double width; double height; } thumbnailSize;
@property (readonly, nonatomic) float thumbnailCropIn;
@property (readonly, nonatomic) unsigned int capacity;
@property (readonly, nonatomic) unsigned int count;
@property (readonly, nonatomic) BOOL mipmapped;
@property (nonatomic) BOOL mipmapsDirty;
@property (retain, nonatomic) NSIndexSet *skipRenderSpriteIndexes;
@property (readonly, nonatomic) id<MTLTexture> texture;
@property (readonly, nonatomic) id<MTLTexture> chromaTexture;
@property (readonly, nonatomic) PXGColorProgram *colorProgram;
@property (nonatomic) long long renderPipelineIndex;
@property (readonly, nonatomic) BOOL isAtlas;
@property (readonly, nonatomic) BOOL isCaptureTexture;
@property (readonly, nonatomic) int shaderFlags;
@property (readonly, nonatomic) float alpha;
@property (readonly, nonatomic) unsigned int spriteCount;
@property (readonly, nonatomic) NSIndexSet *spriteIndexes;
@property (readonly, nonatomic) BOOL hasSprites;
@property (readonly, nonatomic) long long estimatedByteSize;
@property (readonly, nonatomic) unsigned char presentationType;
@property (readonly, nonatomic) struct CGImage { } *imageRepresentation;
@property (readonly, nonatomic) struct CGSize { double x0; double x1; } pixelSize;
@property (readonly, nonatomic) BOOL isOpaque;
@property (readonly, nonatomic) BOOL isDegraded;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (unsigned int)maxCapacityForThumbnailSize:(struct CGSize { double x0; double x1; })a0 pixelFormat:(unsigned long long)a1;

- (void)prepareForRender:(long long)a0;
- (void)cleanupAfterRender:(long long)a0;
- (id)init;
- (void)_syncQueue_checkinThumbnailIndex:(unsigned int)a0;
- (void)dealloc;
- (void)_syncQueue_releaseThumbnailAtIndex:(long long)a0;
- (void)getSpriteIndexes:(unsigned int *)a0 maxSpriteCount:(unsigned int)a1;
- (void)_syncQueue_retainThumbnailsAtIndexes:(id)a0;
- (void)getTextureInfos:(struct { float x0; } *)a0 forSpriteIndexes:(unsigned int *)a1 geometries:(const struct { struct { double x0; double x1; double x2; } x0; } *)a2 spriteStyles:(const struct { float x0; struct { union { struct { float x0; float x1; float x2; float x3; } x0; float x1[4]; } x0; } x1; float x2; float x3; float x4; float x5; unsigned short x6; unsigned char x7; float x8; struct { void /* unknown type, empty encoding */ x0[4]; } x9; } *)a3 spriteInfos:(const struct { unsigned char x0; unsigned char x1; float x2; long long x3; unsigned short x4; unsigned char x5; } *)a4 screenScale:(double)a5 count:(unsigned int)a6;
- (BOOL)containsSpriteIndex:(unsigned int)a0;
- (void)addSpriteWithTextureRequestID:(int)a0 thumbnailData:(id)a1 size:(struct CGSize { double x0; double x1; })a2 bytesPerRow:(unsigned long long)a3 contentsRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a4;
- (void)_invalidateRenderedSpriteIndexes;
- (void)removeSpriteIndex:(unsigned int)a0;
- (void)_syncQueue_resizeStorageIfNeeded;
- (void)processPendingTextureRequestIDsWithHandler:(id /* block */)a0;
- (unsigned int)_syncQueue_checkoutNextThumbnailIndex;
- (void)addSpriteWithTextureRequestID:(int)a0 deliveryOrder:(unsigned int)a1;
- (void).cxx_destruct;
- (void)_syncQueue_releaseThumbnailsAtIndexes:(id)a0;
- (void)_syncQueue_retainThumbnailAtIndex:(long long)a0;
- (void)enumerateSpriteIndexes:(id /* block */)a0;
- (id)initWithThumbnailSize:(struct CGSize { double x0; double x1; })a0 pixelFormat:(unsigned long long)a1 capacity:(unsigned int)a2 mipmapped:(BOOL)a3 colorProgram:(id)a4 context:(id)a5 layoutQueue:(id)a6;
- (void)_checkinPendingThumbnailIndexesIfNeeded;
- (void)removeSpriteIndex:(unsigned int)a0 atThumbnailIndex:(unsigned int)a1;
- (void)processPendingThumbnailRequestIDsWithHandler:(id /* block */)a0;
- (id)getAndClearDirtySpriteIndexesIntersectingSet:(id)a0;
- (void)applyChangeDetails:(id)a0;

@end