def __init__(self, **kwargs): self.size = kwargs.get('size', (32, 32)) self.pattern = kwargs.get('pattern', 'hsv') self.datatype = kwargs.get('datatype', chr) self.arraytype = datatype_map[self.datatype]['array'] self.oglbuffertype = datatype_map[self.datatype]['ogl'] self.color_format = kwargs.get('color_format', 'rgb') self.update_threads = collections.deque() self.threaded_updater = ThreadedUpdater( job_complete_cb=self.on_threaded_job_complete) self.threaded_updater.start() self.grid = PixelGrid(size=self.size) self.build_texture() self.build_pattern() self.blit_texture()