@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