from kivy.graphics.instructions cimport Instruction, Canvas from kivy.graphics.texture cimport Texture from kivy.graphics.vbo cimport VBO, VertexBatch from kivy.graphics.shader cimport Shader from kivy.graphics.fbo cimport Fbo cdef class Context: cdef list observers cdef list observers_before cdef list l_texture cdef list l_canvas cdef list l_fbo cdef object lr_texture cdef list lr_canvas cdef object lr_vbo cdef object lr_fbo_rb cdef object lr_fbo_fb cdef object lr_shadersource cdef list lr_shader cdef void register_texture(self, Texture texture) cdef void register_canvas(self, Canvas canvas) cdef void register_fbo(self, Fbo fbo) cdef void dealloc_texture(self, Texture texture) cdef void dealloc_vbo(self, VBO vbo) cdef void dealloc_vertexbatch(self, VertexBatch vbo) cdef void dealloc_shader(self, Shader shader) cdef void dealloc_shader_source(self, int shader) cdef void dealloc_fbo(self, Fbo fbo) cdef object trigger_gl_dealloc cpdef void flush(self) cpdef Context get_context()