the display of athmos has been implemented
This commit is contained in:
27
athmos.py
27
athmos.py
@ -1,12 +1,33 @@
|
||||
from .fonts import *
|
||||
from .colors import *
|
||||
import pygame
|
||||
import math
|
||||
|
||||
MAX_COUNT = 9
|
||||
|
||||
class Athmos:
|
||||
|
||||
def __init__(self, screen):
|
||||
self.index = 0
|
||||
self.filenames = []
|
||||
self.screen = screen
|
||||
self.show_list = True
|
||||
self.surface = pygame.Surface((self.screen.get_width()/3, self.get_display_count()*40), pygame.SRCALPHA)
|
||||
|
||||
def get_display_count(self):
|
||||
return min(MAX_COUNT, len(self.filenames))
|
||||
|
||||
def update(self):
|
||||
name = font_helvetica16.render("kir", False, color_primary_light)
|
||||
self.screen.blit(name, ((self.screen.get_width() - name.get_width())/2,
|
||||
20))
|
||||
if self.show_list:
|
||||
for i in range(self.get_display_count()):
|
||||
text = self.filenames[(i-self.index-math.floor(self.get_display_count()/2))%len(self.filenames)]
|
||||
# opacity = math.floor(i * 2 * 255 / MAX_COUNT if i < MAX_COUNT/2 else 255 - i * 2 * 255 / MAX_COUNT)
|
||||
if i == math.floor(self.get_display_count()/2):
|
||||
text_surface = font_helvetica16.render(text, False, "black", color_primary_light)
|
||||
else:
|
||||
text_surface = font_helvetica16.render(text, False, color_primary_light)
|
||||
# name.set_alpha(opacity)
|
||||
self.surface.blit(text_surface, ((0, self.surface.get_height()/self.get_display_count()*i)))
|
||||
|
||||
self.screen.blit(self.surface, ((self.screen.get_width() - self.surface.get_width())/2,
|
||||
(self.screen.get_height() - self.surface.get_height())/2))
|
||||
Reference in New Issue
Block a user