

def resize(self, newwidth=None, newheight=None, fgcolor=None, bgcolor=None):
    '\n        Resize the number of cells wide and tall the surface is. If we are expanding the size of the surface, specify the foreground/background colors of the new cells.\n        '
    if ((newwidth == self._width) and (newheight == self._height)):
        return
    if (newwidth is None):
        newwidth = self._width
    if (newheight is None):
        newheight = self._height
    if (fgcolor is None):
        fgcolor = self._fgcolor
    fgcolor = getpygamecolor(fgcolor)
    if (bgcolor is None):
        bgcolor = self._bgcolor
    bgcolor = getpygamecolor(bgcolor)
    newchars = [([None] * newheight) for i in range(newwidth)]
    newfg = [([None] * newheight) for i in range(newwidth)]
    newbg = [([None] * newheight) for i in range(newwidth)]
    newdirty = [([True] * newheight) for i in range(newwidth)]
    newRdelta = [([0] * newheight) for i in range(newwidth)]
    newGdelta = [([0] * newheight) for i in range(newwidth)]
    newBdelta = [([0] * newheight) for i in range(newwidth)]
    for x in range(newwidth):
        for y in range(newheight):
            if ((x >= self._width) or (y >= self._height)):
                newfg[x][y] = fgcolor
                newbg[x][y] = bgcolor
                newRdelta[x][y] = self._rdelta
                newGdelta[x][y] = self._gdelta
                newBdelta[x][y] = self._bdelta
            else:
                newchars[x][y] = self._screenchar[x][y]
                newdirty[x][y] = self._screendirty[x][y]
                newfg[x][y] = self._screenfgcolor[x][y]
                newbg[x][y] = self._screenbgcolor[x][y]
                newRdelta[x][y] = self._screenRdelta[x][y]
                newGdelta[x][y] = self._screenGdelta[x][y]
                newBdelta[x][y] = self._screenBdelta[x][y]
    self._width = newwidth
    self._height = newheight
    self._pixelwidth = (self._width * self._cellwidth)
    self._pixelheight = (self._height * self._cellheight)
    self._cursorx = 0
    self._cursory = 0
    newsurf = pygame.Surface((self._pixelwidth, self._pixelheight))
    newsurf.blit(self._surfaceobj, (0, 0))
    self._surfaceobj = newsurf
    self._screenchar = newchars
    self._screenfgcolor = newfg
    self._screenbgcolor = newbg
    self._screendirty = newdirty
    if self._managesdisplay:
        self._windowsurface = pygame.display.set_mode((self._pixelwidth, self._pixelheight))
        self.update()
    elif self._autoupdate:
        self.update()

dataset/ETHPy150Open asweigart/pygcurse/pygcurse/__init__.py PygcurseSurface.resize/original