diff --git a/dungeonbattle/display/display.py b/dungeonbattle/display/display.py index fafcfeb..64314e9 100644 --- a/dungeonbattle/display/display.py +++ b/dungeonbattle/display/display.py @@ -10,6 +10,7 @@ class Display: y: int width: int height: int + pad: Any def __init__(self, screen: Any, pack: Optional[TexturePack] = None): self.screen = screen @@ -23,6 +24,8 @@ class Display: self.y = y self.width = width self.height = height + if self.pad: + self.pad.resize(height - 1, width - 1) def refresh(self, *args) -> None: if len(args) == 4: diff --git a/dungeonbattle/display/display_manager.py b/dungeonbattle/display/display_manager.py index c4d3768..2564579 100644 --- a/dungeonbattle/display/display_manager.py +++ b/dungeonbattle/display/display_manager.py @@ -34,14 +34,13 @@ class DisplayManager: self.rows // 5, self.cols) if self.game.state == GameMode.MAINMENU: self.mainmenudisplay.refresh(0, 0, self.rows, self.cols) + self.resize_window() - def ensure_resized(self, *pads) -> bool: + def resize_window(self) -> bool: """ - If the window got resized, ensure that the pads are also resized. + If the window got resized, ensure that the screen size got updated. """ y, x = self.screen.getmaxyx() if self.screen else (0, 0) - for pad in pads: - pad.resize(y, x) if self.screen and curses.is_term_resized(self.rows, self.cols): curses.resizeterm(y, x) return True diff --git a/dungeonbattle/display/menudisplay.py b/dungeonbattle/display/menudisplay.py index 6bcf9fc..257b271 100644 --- a/dungeonbattle/display/menudisplay.py +++ b/dungeonbattle/display/menudisplay.py @@ -44,8 +44,8 @@ class MenuDisplay(Display): self.width + self.x) self.update_pad() self.pad.refresh(cornery, 0, self.y + 1, self.x + 2, - self.height - 1 + self.y, - self.width - 1 + self.x) + self.height - 2 + self.y, + self.width - 2 + self.x) @property def preferred_width(self) -> int: diff --git a/dungeonbattle/game.py b/dungeonbattle/game.py index f0989c9..3dc60cc 100644 --- a/dungeonbattle/game.py +++ b/dungeonbattle/game.py @@ -69,7 +69,6 @@ class Game: self.display_refresh() key = screen.getkey() self.handle_key_pressed(self.translate_key(key)) - self.display_refresh() def translate_key(self, key: str) -> KeyValues: """