Beispiel #1
0
 def drag_slider(self, poll_sleep):
     base = self.bar_start[0] - (self.SLIDER_WIDTH / 2)
     interval = (self.range_max - self.range_min - 1) / self.bar_width
     while pygame.mouse.get_pressed()[0]:
         new_x = pygame.mouse.get_pos()[0] - self.x
         new_x = max(new_x, base)
         new_x = min(new_x, base + self.bar_width)
         self.slider.x = new_x
         self.slider.force_highlight = True
         self.current = self.range_min + int(((new_x - base) * interval))
         time.sleep(poll_sleep)
         pump()
     self.slider.force_highlight = False
Beispiel #2
0
 def drag_slider(self, poll_sleep):
     base = self.bar_start[0] - (self.SLIDER_WIDTH / 2)
     interval = (self.range_max - self.range_min - 1) / self.bar_width
     while pygame.mouse.get_pressed()[0]:
         new_x = pygame.mouse.get_pos()[0] - self.x
         new_x = max(new_x, base)
         new_x = min(new_x, base + self.bar_width)
         self.slider.x = new_x
         self.slider.force_highlight = True
         self.current = self.range_min + int(((new_x - base) * interval))
         time.sleep(poll_sleep)
         pump()
     self.slider.force_highlight = False
Beispiel #3
0
    def drag_dialog(self):
        # pygame doesn't properly set relative position on first call for some
        # reason...
        pygame.mouse.get_rel()
        self.title.force_highlight = True
        while pygame.mouse.get_pressed()[0]:
            mouse_delta = pygame.mouse.get_rel()
            new_x = max(self.x + mouse_delta[0], 0)
            new_x = min(new_x, get_picasso().get_width() - self.width)

            new_y = max(self.y + mouse_delta[1], 0)
            new_y = min(new_y, get_picasso().get_height() - self.height)

            self.move_to(new_x, new_y)
            time.sleep(0)
            pump()
        self.title.force_highlight = False
Beispiel #4
0
    def drag_dialog(self):
        # pygame doesn't properly set relative position on first call for some
        # reason...
        pygame.mouse.get_rel()
        self.title.force_highlight = True
        while pygame.mouse.get_pressed()[0]:
            mouse_delta = pygame.mouse.get_rel()
            new_x = max(self.x + mouse_delta[0], 0)
            new_x = min(new_x, get_picasso().get_width() - self.width)
    
            new_y = max(self.y + mouse_delta[1], 0)
            new_y = min(new_y, get_picasso().get_height() - self.height)

            self.move_to(new_x, new_y)
            time.sleep(0)
            pump()
        self.title.force_highlight = False
Beispiel #5
0
    def draw_canvas(self):
        pump()
        self.window.blit(self.background, (0, 0))

        # make a deep copy of layers first to avoid race condition where dict
        # size can change during iteration. try to do it lockless, if we're
        # still having issues, fix with mutex
        try:
            for _, level in sorted(self.canvas.iteritems()):
                for asset in level:
                    if isinstance(asset, PicassoAsset):
                        self.window.blit(asset.draw(), asset.get_coordinate())
                    else:
                        risk.logger.warn("None asset detected in canvas, ",
                            "skipping...[%s]" % asset)
        except RuntimeError:
            risk.logger.error("ignoring dictionary size change...")
        fps_asset = self.get_fps_asset()
        self.window.blit(fps_asset.draw(), fps_asset.get_coordinate())
        self.cursor.x, self.cursor.y = pygame.mouse.get_pos()
        self.window.blit(self.cursor.draw(), self.cursor.get_coordinate())
        pygame.display.flip()
Beispiel #6
0
    def draw_canvas(self):
        pump()
        self.window.blit(self.background, (0, 0))

        # make a deep copy of layers first to avoid race condition where dict
        # size can change during iteration. try to do it lockless, if we're
        # still having issues, fix with mutex
        try:
            for _, level in sorted(self.canvas.iteritems()):
                for asset in level:
                    if isinstance(asset, PicassoAsset):
                        self.window.blit(asset.draw(), asset.get_coordinate())
                    else:
                        risk.logger.warn("None asset detected in canvas, ",
                                         "skipping...[%s]" % asset)
        except RuntimeError:
            risk.logger.error("ignoring dictionary size change...")
        fps_asset = self.get_fps_asset()
        self.window.blit(fps_asset.draw(), fps_asset.get_coordinate())
        self.cursor.x, self.cursor.y = pygame.mouse.get_pos()
        self.window.blit(self.cursor.draw(), self.cursor.get_coordinate())
        pygame.display.flip()