Пример #1
0
    def generate_bars(self, sizes):
        """
        creates the bars if they aren't already, else updates them

        :param sizes: sizes of bars
        :return:
        """
        bar_width = self.surface.get_rect().size[0] / self.size

        for i, y in enumerate(sizes):

            try:
                bar = self.bars[y]
                bar.position = Vector2D.custom(self.surface,
                                               i * bar_width,
                                               y - 1,
                                               inverty=True)
                continue
            except KeyError:
                bar = Rectangle(Vector2D.custom(self.surface,
                                                i * bar_width,
                                                y - 1,
                                                inverty=True),
                                Vector2D(bar_width, y),
                                color=Color.lerp(y / self.max, colors.RED,
                                                 colors.GREEN, colors.BLUE)
                                if self.color is None else self.color)

                self.bars[y] = bar
Пример #2
0
    def _update_change(self, bar_width, sizes, color):
        for i, y in sizes:
            bar = self.bars[y]
            bar.position = Vector2D.custom(self.surface,
                                           i * bar_width,
                                           y - 1,
                                           inverty=True)

            # highlight the bar
            bar.color = color
            self.previous_changed.append(y)
Пример #3
0
framerate = 0
t0 = time.time()

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            AppDatabase.database().save()
            sys.exit()

        grid.event(event)
        manager.event(event)

    screen.fill(colors.BLACK)

    grid.update()
    grid.draw(screen)

    manager.update()
    manager.draw(screen)

    t1 = time.time()
    framerate = 1 / (t1 - t0)
    t0 = t1

    Text(f'{framerate:.2f} fps',
         position=Vector2D.custom(screen.get_rect().size, 60, 0, invertx=True),
         color=colors.WHITE).draw(screen)

    pygame.display.flip()
Пример #4
0
manager = WidgetManager([info])

grid = GridManager(Vector2D(40, 40), info)

framerate = 0
t0 = time.time()

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()

        grid.event(event)
        manager.event(event)

    screen.fill(colors.BLACK)

    grid.update()
    grid.draw(screen)

    manager.update()
    manager.draw(screen)

    t1 = time.time()
    framerate = 1 / (t1 - t0)
    t0 = t1

    Text(f'{framerate:.2f} fps', position=Vector2D.custom(screen, 60, 0, invertx=True), color=colors.WHITE).draw(screen)

    pygame.display.flip()