import pygame from .static import ( Scaling, INTERNAL_WIDTH, INTERNAL_HEIGHT, INTERNAL_ASPECT) class Display(): def __init__(self): pygame.display.init() mode_info = pygame.display.Info() self.screen = pygame.display.set_mode( (mode_info.current_w, mode_info.current_h), pygame.FULLSCREEN | pygame.SCALED ) def get_scaling(self): w, h = self.screen.get_size() if w/h <= INTERNAL_ASPECT: scale = w / INTERNAL_WIDTH left = 0 top = int((h - INTERNAL_HEIGHT * scale) / 2) else : scale = h / INTERNAL_HEIGHT left = int((w - INTERNAL_WIDTH * scale) / 2) top = 0 return Scaling(scale, left, top) def update(self, groups = None): """ Updates the screen: clear, blit gropus and flip """ self.screen.fill("magenta") for group in groups: group.draw(self.screen) pygame.display.flip() def __del__(self): pygame.display.quit()