diff options
Diffstat (limited to 'src/sliceitoff/display/display.py')
| -rw-r--r-- | src/sliceitoff/display/display.py | 24 | 
1 files changed, 22 insertions, 2 deletions
| diff --git a/src/sliceitoff/display/display.py b/src/sliceitoff/display/display.py index 151bb11..af61d49 100644 --- a/src/sliceitoff/display/display.py +++ b/src/sliceitoff/display/display.py @@ -1,16 +1,36 @@  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.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() +        self.screen.fill("magenta") +        for group in groups: +            group.draw(self.screen)          pygame.display.flip()      def __del__(self): |