def draw_children_on_scroll_area(self):
        """Draw children colliding w/ the scroll area.

        The children colliding with the scroll area are
        drawn in the body surface.
        """
        ### retrieve child to draw (children colliding with
        ### the scroll_area

        children_to_draw = (
            child for child in self.children if self.scroll_area.colliderect(child.rect)
        )

        ### calculate the offset between the body rect
        ### topleft coordinates and the origin of the screen,
        ### which happens to be equal to the inverse of the
        ### topleft coordinates
        offset = tuple(-n for n in self.body.rect.topleft)

        ### iterate over children, blitting them on the
        ### body surface using the offset to move their
        ### rects non-destructively, so they are drawn
        ### in the appropriate position in the body surface

        for child in children_to_draw:
            self.body.image.blit(child.image, child.rect.move(offset))
Draw children colliding w/ the scroll area.

        The children colliding with the scroll area are
        drawn in the body surface.
        
nodezator/menu/submenu/scroll.py