luxlabs header browser preview


@class NSArray, NSString, NSMutableDictionary, NSPointerArray, NSMutableArray;

@interface SKShader : NSObject <NSCopying, NSSecureCoding> {
    NSMutableArray *_uniforms;
    NSArray *_attributes;
    NSMutableDictionary *_uniformData;
    NSString *_source;
    NSString *_fileName;
    BOOL _isPrecompiledMetal;
    NSString *_compileLog;
    BOOL _programDirty;
    BOOL _programWithTransformDirty;
    NSPointerArray *_targetNodes;
    BOOL _usesTimeUniform;
    BOOL _usesPathLengthUniform;
    BOOL _usesSpriteSizeUniform;
    struct shared_ptr<jet_program> { struct jet_program *__ptr_; struct __shared_weak_count *__cntrl_; } _backingProgram;
    struct shared_ptr<jet_program> { struct jet_program *__ptr_; struct __shared_weak_count *__cntrl_; } _backingProgramWithTransform;
    struct map<std::string, std::shared_ptr<jet_buffer_pool>, std::less<std::string>, std::allocator<std::pair<const std::string, std::shared_ptr<jet_buffer_pool>>>> { struct __tree<std::__value_type<std::string, std::shared_ptr<jet_buffer_pool>>, std::__map_value_compare<std::string, std::__value_type<std::string, std::shared_ptr<jet_buffer_pool>>, std::less<std::string>>, std::allocator<std::__value_type<std::string, std::shared_ptr<jet_buffer_pool>>>> { void *__begin_node_; struct __compressed_pair<std::__tree_end_node<std::__tree_node_base<void *> *>, std::allocator<std::__tree_node<std::__value_type<std::string, std::shared_ptr<jet_buffer_pool>>, void *>>> { struct __tree_end_node<std::__tree_node_base<void *> *> { void *__left_; } __value_; } __pair1_; struct __compressed_pair<unsigned long, std::__map_value_compare<std::string, std::__value_type<std::string, std::shared_ptr<jet_buffer_pool>>, std::less<std::string>>> { unsigned long long __value_; } __pair3_; } __tree_; } _attributeBuffers;
}

@property (class, readonly) BOOL supportsSecureCoding;

@property (readonly) NSArray *_textureUniforms;
@property (readonly) void *_attributeBuffers;
@property (readonly) struct shared_ptr<jet_program> { struct jet_program *x0; struct __shared_weak_count *x1; } _backingProgram;
@property (readonly) struct shared_ptr<jet_program> { struct jet_program *x0; struct __shared_weak_count *x1; } _backingProgramWithTransform;
@property (readonly) struct shared_ptr<jet_command_buffer> { struct jet_command_buffer *x0; struct __shared_weak_count *x1; } _commands;
@property BOOL performFullCapture;
@property (copy) NSString *source;
@property (copy) NSArray *uniforms;
@property (copy, nonatomic) NSArray *attributes;

+ (id)shader;
+ (id)precompiledMetalShaderWithFile:(id)a0 uniforms:(id)a1;
+ (id)shaderWithFileNamed:(id)a0;
+ (id)shaderWithSource:(id)a0;
+ (id)shaderWithSource:(id)a0 uniforms:(id)a1;

- (id)initWithSource:(id)a0;
- (id)init;
- (void)encodeWithCoder:(id)a0;
- (id).cxx_construct;
- (BOOL)isValid;
- (void).cxx_destruct;
- (id)initWithCoder:(id)a0;
- (id)copyWithZone:(struct _NSZone { } *)a0;
- (void)_addTargetNode:(id)a0;
- (id)fragmentPrelude;
- (BOOL)_backingProgramIsDirty;
- (struct shared_ptr<jet_command_buffer> { struct jet_command_buffer *x0; struct __shared_weak_count *x1; })_commandsForBatchOffset:(int)a0 count:(int)a1;
- (id)_fullMetalVertexSourceWithImplementation:(BOOL)a0;
- (id)_fullVertexSourceWithImplementation:(long long)a0;
- (id)_generateMetalSource;
- (id)_getLegacyUniformData;
- (id)_getMetalFragmentFunctionName;
- (id)_getMetalFragmentShaderSource;
- (id)_getMetalVertexOutDefinition;
- (id)_getMetalVertexShaderSource:(BOOL)a0;
- (id)_getShaderCompilationLog;
- (struct shared_ptr<jet_program> { struct jet_program *x0; struct __shared_weak_count *x1; })_makeBackingProgramWithImplementation:(long long)a0;
- (void)_removeTargetNode:(id)a0;
- (void)_setUniformsDirty;
- (BOOL)_usesPathLengthUniform;
- (BOOL)_usesTimeUniform;
- (void)addUniform:(id)a0;
- (id)fragmentPreludeMetal;
- (id)fullFragmentSource;
- (id)fullMetalFragmentSource;
- (id)fullMetalVertexSource;
- (id)fullMetalVertexWithTransformSource;
- (id)fullVertexSource;
- (id)fullVertexWithTransformSource;
- (void)generateFragmentAttributeDeclares:(id *)a0;
- (void)generateVertexAttributeDeclares:(id *)a0 statements:(id *)a1;
- (id)initWithSource:(id)a0 uniforms:(id)a1;
- (BOOL)isEqualToShader:(id)a0;
- (void)removeUniformNamed:(id)a0;
- (id)uniformNamed:(id)a0;

@end