def _scroll(self):
        for x in range(self._width):
            for y in range(self._height - 1):
                self._screenchar[x][y] = self._screenchar[x][y+1]
                self._screenfgcolor[x][y] = self._screenfgcolor[x][y+1]
                self._screenbgcolor[x][y] = self._screenbgcolor[x][y+1]
                self._screenRdelta[x][y] = self._screenRdelta[x][y+1]
                self._screenGdelta[x][y] = self._screenGdelta[x][y+1]
                self._screenBdelta[x][y] = self._screenBdelta[x][y+1]
            self._screenchar[x][self._height-1] = ' ' # bottom row is blanked
            self._screenfgcolor[x][self._height-1] = self._fgcolor
            self._screenbgcolor[x][self._height-1] = self._bgcolor
            self._screenRdelta[x][self._height-1] = self._rdelta
            self._screenGdelta[x][self._height-1] = self._gdelta
            self._screenBdelta[x][self._height-1] = self._bdelta
        self._screendirty = [[True] * self._height for i in range(self._width)]
        self._scrollcount += 1
Scroll the content of the entire screen up one row. This is done when characters are printed to the screen that go past the end of the last row.
dataset/ETHPy150Open asweigart/pygcurse/pygcurse/__init__.py/PygcurseSurface._scroll