luxlabs header browser preview


@class NSString, NSArray, NSMutableDictionary, NSMutableArray;
@protocol MTLBuffer, MTLDevice;

@interface TSDGPUDataBuffer : NSObject <TSDMTLDataBuffer> {
    unsigned long long _currentBufferIndex;
    NSMutableArray *_arrayBuffers;
    NSMutableDictionary *_attributeToArrayBuffersDictionary;
    unsigned long long _elementArrayCount;
    unsigned short *_gLElementData;
    BOOL _gLElementDataBufferWasSetup;
    unsigned int _gLElementDataBuffer;
    id<MTLBuffer> _metalElementData;
    struct CGSize { double width; double height; } _gLElementMeshSize;
    unsigned long long _gLElementQuadParticleCount;
    BOOL _conformsToMetalProtocol;
    id<MTLDevice> _device;
    unsigned int _gLVertexArrayObjects[2];
    BOOL _isUpdatingRawDataBuffer;
    BOOL _didTeardown;
    BOOL _isEnabled;
}

@property (nonatomic) unsigned long long metalDrawMode;
@property (readonly) unsigned long long positionAttributeIndex;
@property (readonly) unsigned long long texCoordAttributeIndex;
@property (readonly) unsigned long long centerAttributeIndex;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;
@property (readonly) unsigned long long vertexCount;
@property (readonly) NSArray *vertexAttributes;
@property (nonatomic) unsigned int drawMode;
@property (readonly) BOOL isDynamicallyBuffered;

+ (id)newDataBufferWithVertexAttributes:(id)a0 meshSize:(struct CGSize { double x0; double x1; })a1;
+ (id)newDataBufferWithVertexAttributes:(id)a0 meshSize:(struct CGSize { double x0; double x1; })a1 device:(id)a2;
+ (id)newDataBufferWithVertexAttributes:(id)a0 quadParticleCount:(unsigned long long)a1;
+ (id)newDataBufferWithVertexAttributes:(id)a0 quadParticleCount:(unsigned long long)a1 device:(id)a2;
+ (id)newDataBufferWithVertexAttributes:(id)a0 vertexCount:(unsigned long long)a1 indexElementCount:(unsigned long long)a2;
+ (id)newDataBufferWithVertexAttributes:(id)a0 vertexCount:(unsigned long long)a1 indexElementCount:(unsigned long long)a2 device:(id)a3;
+ (id)newDataBufferWithVertexRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 textureRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1;
+ (id)newDataBufferWithVertexRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 textureRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 device:(id)a2;
+ (id)newDataBufferWithVertexRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 textureRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 meshSize:(struct CGSize { double x0; double x1; })a2;
+ (id)newDataBufferWithVertexRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 textureRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 meshSize:(struct CGSize { double x0; double x1; })a2 device:(id)a3;
+ (id)newDataBufferWithVertexRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 textureRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 meshSize:(struct CGSize { double x0; double x1; })a2 textureFlipped:(BOOL)a3;
+ (id)newDataBufferWithVertexRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 textureRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 meshSize:(struct CGSize { double x0; double x1; })a2 textureFlipped:(BOOL)a3 device:(id)a4;
+ (id)newDataBufferWithVertexRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 textureRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 meshSize:(struct CGSize { double x0; double x1; })a2 textureFlipped:(BOOL)a3 includeCenterAttribute:(BOOL)a4;
+ (id)newDataBufferWithVertexRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 textureRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 meshSize:(struct CGSize { double x0; double x1; })a2 textureFlipped:(BOOL)a3 includeCenterAttribute:(BOOL)a4 addTransparentBorder:(BOOL)a5;
+ (id)newDataBufferWithVertexRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 textureRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 meshSize:(struct CGSize { double x0; double x1; })a2 textureFlipped:(BOOL)a3 includeCenterAttribute:(BOOL)a4 addTransparentBorder:(BOOL)a5 device:(id)a6;
+ (id)newDataBufferWithVertexRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 textureRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 meshSize:(struct CGSize { double x0; double x1; })a2 textureFlipped:(BOOL)a3 includeCenterAttribute:(BOOL)a4 device:(id)a5;
+ (id)newDataBufferWithVertexRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 textureRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 textureFlipped:(BOOL)a2;
+ (id)newDataBufferWithVertexRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 textureRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 textureFlipped:(BOOL)a2 device:(id)a3;
+ (void)p_addTransparentBorderInsetToTextureRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } *)a0 vertexRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } *)a1;

- (void)dealloc;
- (void)teardown;
- (void).cxx_destruct;
- (struct { float x0; float x1; float x2; })GLPoint3DForAttribute:(id)a0 atIndex:(unsigned long long)a1;
- (struct { float x0; float x1; float x2; float x3; })GLPoint4DForAttribute:(id)a0 atIndex:(unsigned long long)a1;
- (float)metalFloatForAttribute:(id)a0 atIndex:(unsigned long long)a1;
- (void)disableWithDevice:(id)a0;
- (void)drawWithEncoder:(id)a0 atIndex:(unsigned long long)a1;
- (void)drawWithEncoder:(id)a0 atIndex:(unsigned long long)a1 advanceDynamicBuffer:(BOOL)a2;
- (void)drawWithEncoder:(id)a0 atIndex:(unsigned long long)a1 range:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a2;
- (void)drawWithEncoder:(id)a0 atIndex:(unsigned long long)a1 range:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a2 advanceDynamicBuffer:(BOOL)a3;
- (void)enableDataBuffer;
- (void)encodeWithEncoder:(id)a0 atIndex:(unsigned long long)a1;
- (id)initWithVertexAttributes:(id)a0 meshSize:(struct CGSize { double x0; double x1; })a1 bufferCount:(unsigned long long)a2;
- (id)initWithVertexAttributes:(id)a0 vertexCount:(unsigned long long)a1 indexElementCount:(unsigned long long)a2 bufferCount:(unsigned long long)a3;
- (id)initWithVertexRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 textureRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 meshSize:(struct CGSize { double x0; double x1; })a2 textureFlipped:(BOOL)a3 includeCenterAttribute:(BOOL)a4;
- (id)initWithVertexRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 textureRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 meshSize:(struct CGSize { double x0; double x1; })a2 textureFlipped:(BOOL)a3 includeCenterAttribute:(BOOL)a4 addTransparentBorder:(BOOL)a5;
- (struct { float x0; float x1; })metalPoint2DForAttribute:(id)a0 atIndex:(unsigned long long)a1;
- (struct { float x0; float x1; float x2; })metalPoint3DForAttribute:(id)a0 atIndex:(unsigned long long)a1;
- (struct { float x0; float x1; float x2; float x3; })metalPoint4DForAttribute:(id)a0 atIndex:(unsigned long long)a1;
- (BOOL)p_setAttributeUpdateData:(struct { long long x0; unsigned long long x1; BOOL x2; char *x3; unsigned long long x4; unsigned long long x5; unsigned long long x6; BOOL x7; struct _NSRange { unsigned long long x0; unsigned long long x1; } x8; unsigned long long x9; } *)a0 fromAttribute:(id)a1;
- (void)p_setupElementArrayBufferIfNecessary;
- (void)setCGFloat:(double)a0 forAttribute:(id)a1 atIndex:(unsigned long long)a2;
- (void)setDataForAttribute:(id)a0 atIndex:(unsigned long long)a1 fromAttribute:(id)a2 dataBuffer:(id)a3 index:(unsigned long long)a4;
- (void)setGLPoint2D:(struct { float x0; float x1; })a0 forAttribute:(id)a1 atIndex:(unsigned long long)a2;
- (void)setGLPoint3D:(struct { float x0; float x1; float x2; })a0 forAttribute:(id)a1 atIndex:(unsigned long long)a2;
- (void)setGLPoint4D:(struct { float x0; float x1; float x2; float x3; })a0 forAttribute:(id)a1 atIndex:(unsigned long long)a2;
- (void)setGLushort:(unsigned short)a0 forIndexElement:(unsigned long long)a1;
- (void)setMetalFloat:(float)a0 forAttribute:(id)a1 atIndex:(unsigned long long)a2;
- (void)setMetalPoint2D:(struct { float x0; float x1; })a0 forAttribute:(id)a1 atIndex:(unsigned long long)a2;
- (void)setMetalPoint3D:(struct { float x0; float x1; float x2; })a0 forAttribute:(id)a1 atIndex:(unsigned long long)a2;
- (void)setMetalPoint4D:(struct { float x0; float x1; float x2; float x3; })a0 forAttribute:(id)a1 atIndex:(unsigned long long)a2;
- (void)updateDataBufferAttributes:(id)a0 withBlock:(id /* block */)a1;
- (void)updateDataBufferAttributesWithBlock:(id /* block */)a0;
- (void)updateMetalDataBufferAttributes:(id)a0 withBlock:(id /* block */)a1;
- (id)vertexAttributeNamed:(id)a0;

@end