def paint_editing_and_lineno_areas(self, area_bg_color, lineno_bg_color):
        """Draw editing area on self.image.

        Parameters
        ==========
        area_bg_color (3-tuple/list or pygame.color.Color)
            represent the rgb values of the color used
            to fill the editing area.
        lineno_bg_color (3-tuple/list or pygame.color.Color)
            represent the rgb values of the color used
            to fill the area surrounding the line numbers.
        """
        ### paint editing area

        ## reference topleft coordinates of text editor
        x, y = self.rect.topleft

        ## blit editing area on the self.image

        # obtain rect equal to editing area, but positioned
        # relative to the origin of the text editor surface
        offset_editing_area = EDITING_AREA_RECT.move(-x, -y)

        # now add just a bit of padding to the left of
        # this area by changing the left coordinates and
        # width

        offset_editing_area.left += -5
        offset_editing_area.width += 5

        # fill the area with the color for the background
        # of the text editing area

        draw_rect(self.image, area_bg_color, offset_editing_area)

        ## draw an outline for the editing area as well

        # define outline rect
        editing_outline = offset_editing_area.inflate(2, 2)

        # draw it
        draw_rect(self.image, BLACK, editing_outline, 1)

        ### paint lineno area

        ## define lineno area

        lineno_area = (
            ## left is 10 pixels to the left of the text
            ## editor
            10,
            ## top is the same as the top from the outline of
            ## the editing area
            editing_outline.top,
            ## our width goes from the left of text editor
            ## rect, which is zero, to the left of the outline
            ## for the editing area, but since we added 10
            ## to our left as can be seen above, we subtract
            ## 10 here to compensate
            editing_outline.left - 10,
            ## height is the same as the height from the
            ## outline of the editing area
            editing_outline.height,
        )

        ## fill line number area
        draw_rect(self.image, lineno_bg_color, lineno_area)

        ## outline line number area
        draw_rect(self.image, BLACK, lineno_area, 1)
Draw editing area on self.image.

        Parameters
        ==========
        area_bg_color (3-tuple/list or pygame.color.Color)
            represent the rgb values of the color used
            to fill the editing area.
        lineno_bg_color (3-tuple/list or pygame.color.Color)
            represent the rgb values of the color used
            to fill the area surrounding the line numbers.
        
nodezator/textman/editor/main.py