def PrintOnePage(self, dc, pageNumber, bounds):
        """
        Print the current page on the given device context.

        Return true if there is still more to print.
        """
        # Initialize state
        self.currentPage = pageNumber
        self.pageBounds = list(bounds)
        self.workBounds = list(self.pageBounds)
        self.SubtractDecorations(dc)

        # Print page adornments, including under-text decorations
        self.DrawPageDecorations(dc, False)
        for x in self.runningBlocks:
            x.Print(dc)

        # Print blocks until they won't fit or we run out of blocks
        while len(self.blocks) and self.blocks[0].Print(dc):
            self.DropCurrentBlock()

        # Finally, print over-the-text decorations
        self.DrawPageDecorations(dc, True)

        return len(self.blocks) > 0
dataset/ETHPy150Open ODM2/ODMToolsPython/odmtools/lib/ObjectListView/ListCtrlPrinter.py/ReportEngine.PrintOnePage/original