diff --git a/src/ui/UiConsole.py b/src/ui/UiConsole.py index 31c343c..7ed5f62 100644 --- a/src/ui/UiConsole.py +++ b/src/ui/UiConsole.py @@ -1,10 +1,26 @@ import pygame +from typing import Tuple, List +from pygame.font import FontType from src.ui.UiElement import UiElement class UiConsole(UiElement): - def __init__(self, rect: pygame.Rect, bgColor=(125, 125, 125), textColor=(255, 255, 255), font=None, antialias=True): + linesCount: int + antialias: bool + bgColor: Tuple[int, int, int] + font: pygame.font.Font + maxLines: int + lineHeight: int + linesImages: List[pygame.Surface] + topWrittenLineInd: int + consoleLines: List[str] + linesImagesCount: int + consoleWidth: float + image: pygame.Surface + + def __init__(self, rect: pygame.Rect, bgColor: Tuple[int, int, int] = (125, 125, 125), + textColor: Tuple[int, int, int] = (255, 255, 255), font: pygame.font.Font = None, antialias: bool = True): super().__init__(rect) self.textColor = textColor @@ -56,7 +72,7 @@ class UiConsole(UiElement): self.image.blit(self.linesImages[i], (0, writtenLines * self.lineHeight)) writtenLines += 1 - def addLinesToConsole(self, linesToAdd): + def addLinesToConsole(self, linesToAdd: List[str]): """ Adds lines to console's list of lines. If one line is too long to display, then it is being cut to pieces, so that it is appropriate size. @@ -91,7 +107,7 @@ class UiConsole(UiElement): self.linesImages.append(row) self.linesImagesCount += 1 - def addLinesToConsoleAndScrollToDisplayThem(self, linesToAdd): + def addLinesToConsoleAndScrollToDisplayThem(self, linesToAdd: List[str]): """ Adds given lines to console's list of lines, writes them and scrolls console down to display them. :param linesToAdd: Lines to add to console's list of lines and to display.