def show_slide(self, n=None): timerstart = time.time() x, y, width, height = self.allocation self.__surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, width, height) self.__renderer.renderSlideToSurface(self.__surface, n) self.instr_ink = [] self.self_ink = [] self.redo_stack = [] instr = self.__deck.getInstructorInk() selfink, text = self.__deck.getSelfInkOrSubmission() for path in instr: self.instr_ink.append(ink.Path(path)) for path in selfink: self.self_ink.append(ink.Path(path)) self.queue_draw() self.__logger.debug("Rendering slide took " + str(time.time() - timerstart) + " seconds")
def do_button_press_event(self, event): if self.__deck.getActiveSubmission() == -1 or self.__is_instr: self.__last_pos = (event.x, event.y) self.__cur_path = ink.Path() self.__cur_path.color = self.__canvas.cur_color self.__cur_path.pen = self.__canvas.cur_pen self.__cur_path.add((event.x, event.y)) self.__canvas.add_ink_path(self.__cur_path)
def remote_ink_added(self, event, inkstr): self.__canvas.add_ink_path(ink.Path(inkstr), ink_from_instr=True) self.__canvas.queue_draw()