luxlabs header browser preview


@class UIColor;
@protocol DKOpenGLRendererDelegate;

@interface DKOpenGLRenderer : NSObject {
    BOOL _didNotifyRendererDelegate;
    int mBufferSize;
    unsigned int mWetPaintProg;
    unsigned int mDryPaintProg;
    unsigned int mCompositeProg;
    unsigned int mTextureProg;
    unsigned int mColorProg;
    unsigned int mAttributes;
    unsigned int mVbo;
    struct _NSRange { unsigned long long location; unsigned long long length; } mVertexRange;
    struct vector<Vertex, std::allocator<Vertex>> { struct Vertex *__begin_; struct Vertex *__end_; struct __compressed_pair<Vertex *, std::allocator<Vertex>> { struct Vertex *__value_; } __end_cap_; } mContiguousVertexStorage;
    struct vector<VertexGroup, std::allocator<VertexGroup>> { struct VertexGroup *__begin_; struct VertexGroup *__end_; struct __compressed_pair<VertexGroup *, std::allocator<VertexGroup>> { struct VertexGroup *__value_; } __end_cap_; } mVertexHistory;
    struct vector<std::pair<float __attribute__((ext_vector_type(2))), float __attribute__((ext_vector_type(2)))>, std::allocator<std::pair<float __attribute__((ext_vector_type(2))), float __attribute__((ext_vector_type(2)))>>> { void *__begin_; void *__end_; struct __compressed_pair<std::pair<float __attribute__((ext_vector_type(2))), float __attribute__((ext_vector_type(2)))> *, std::allocator<std::pair<float __attribute__((ext_vector_type(2))), float __attribute__((ext_vector_type(2)))>>> { void *__value_; } __end_cap_; } mNonCollisionSegments;
    void /* unknown type, empty encoding */ U_COLOR;
    struct vector<Page, std::allocator<Page>> { struct Page *__begin_; struct Page *__end_; struct __compressed_pair<Page *, std::allocator<Page>> { struct Page *__value_; } __end_cap_; } mPages;
    unsigned int mWetPaintBufferFBO;
    unsigned int mWetPaintBufferT;
    void /* unknown type, empty encoding */ mWetPaintBufferSize;
    BOOL mSharedContext;
    BOOL mPaperTexIsShared;
    unsigned int mPaperTex;
    void /* unknown type, empty encoding */ mWinSize;
    void /* unknown type, empty encoding */ mCanvasSize;
    void /* unknown type, empty encoding */ mCanvasOffset;
    float mTime;
    float mTimeWetBecameDirty;
    float mParticleLifespan;
    struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } mDirtyCanvasRegion;
    int mCompositeProgViewportUniformLocation;
    int mCompositeColorUniformLocation;
    int mWetPaintProgTimeUniformLocation;
    int mWetPaintProgSubtractEndPointsOnlyUniformLocation;
    int mWetPaintProgLifespanUniformLocation;
    int mDryPaintProgXCoordOffsetUniformLocation;
    int mColorProgColorUniformLocation;
    int mColorProgModelViewProjectionUniformLocation;
    int mTextureProgModelViewProjectionUniformLocation;
}

@property (weak, nonatomic) id<DKOpenGLRendererDelegate> delegate;
@property (retain, nonatomic) UIColor *inkColor;
@property (nonatomic) double lineWidthScale;
@property (nonatomic) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } bounds;
@property (readonly, nonatomic) struct CGSize { double width; double height; } contentSize;
@property (nonatomic, getter=isUndoEnabled) BOOL undoEnabled;
@property (nonatomic) BOOL ignoreFirstUndoItem;
@property (nonatomic) double backingScale;
@property (nonatomic) BOOL drawingEnabled;
@property (nonatomic) BOOL allowWetComposite;
@property (nonatomic) long long numPages;

- (void)draw;
- (void)clear;
- (id)init;
- (void)dealloc;
- (void)teardown;
- (id)snapshotImage;
- (void)update;
- (id).cxx_construct;
- (void).cxx_destruct;
- (void)undo;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })getVertexBounds;
- (void)addPoints:(id)a0 withSegmentLength:(unsigned long long)a1;
- (void)appendVertexHistoryElement;
- (BOOL)canvasIsEmpty;
- (void)clearComposite;
- (void)clearDryPaintBuffer;
- (void)clearWetPaintBuffer;
- (void)destroyFrameBuffers;
- (BOOL)detectCollision:(id)a0 :(SEL)a1;
- (void)didBeginNewStroke;
- (void)didCompleteStroke;
- (void)didResize;
- (void)drawComposite;
- (void)drawContiguousVertexStorageImmediatelyWithLayeredBlending:(BOOL)a0;
- (BOOL)initGL;
- (id)initWithBounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 scale:(double)a1;
- (id)initWithBounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 scale:(double)a1 bufferSize:(int)a2 sharedContext:(BOOL)a3;
- (void)initializeFrameBuffers;
- (void)redrawEntireDrawingImmediatelyWithLayeredBlending:(BOOL)a0;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })regionWithVertices:(struct vector<Vertex, std::allocator<Vertex>> { struct Vertex *x0; struct Vertex *x1; struct __compressed_pair<Vertex *, std::allocator<Vertex>> { struct Vertex *x0; } x2; })a0 withInflationAmount:(float)a1;
- (void)removeVertexHistoryElement;
- (void)renderToComposite:(BOOL)a0;
- (void)renderToDryPaintBuffer;
- (void)renderToWetPaintBufferWithRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a0;
- (void)resetRendererState;
- (void)updateDryCycleIncludingComposite:(BOOL)a0;
- (void)updateDryForcefully;
- (void)updateVertexControllerWithData:(struct vector<Vertex, std::allocator<Vertex>> { struct Vertex *x0; struct Vertex *x1; struct __compressed_pair<Vertex *, std::allocator<Vertex>> { struct Vertex *x0; } x2; })a0 range:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a1 allowWet:(BOOL)a2;
- (void)updateVertexControllerWithDataRange:(struct _NSRange { unsigned long long x0; unsigned long long x1; })a0 allowWet:(BOOL)a1;
- (void)updateWet;

@end