def blit_surf_a_on_b(
    surf_a: Surface,
    surf_b: Surface,
    topleft_or_rect: { 
        'widget_name': 'literal_entry',
        'type': (tuple, list, Rect),
    } = (0, 0),
    area=None,
    special_flags=0,
) -> [
    {'name': 'surf_b', 'type': Surface},
    {'name': 'affected_rect', 'type': Rect},
]:
    """Draw surface a onto b and return affected area and surface b."""
    affected_rect = surf_b.blit(surf_a, topleft_or_rect, area, special_flags)

    return {
        'surf_b': surf_b,
        'affected_rect': affected_rect,
    }
Draw surface a onto b and return affected area and surface b.
nodezator/graphman/capsulenode/pygamedefs.py