def _get_save_button_surf():
    """Create and return surface representing save button."""

    ## text
    text_surf = render_text(text='Save on disk', **NORMAL_TEXT_SETTINGS)

    ## icon


    _arrow_down_icon = render_layered_icon(
        chars=[chr(ordinal) for ordinal in (50, 51)],
        dimension_name="height",
        dimension_value=12,
        rotation_degrees=180,
        colors=[
            BLACK,
            (30, 130, 70),
        ],
    )

    _ssd_icon = render_layered_icon(
        chars=[chr(ordinal) for ordinal in range(83, 87)],
        dimension_name="width",
        dimension_value=18,
        colors=[
            BLACK,
            (255, 0, 0),
            (0, 0, 255),
            (140, 140, 140),
        ],
        background_width=20,
        background_height=24,
        retrieve_pos_from="midbottom",
        assign_pos_to="midbottom",
        offset_pos_by=(0, -2),
    )

    icon_surf = combine_surfaces(
        [_ssd_icon, _arrow_down_icon],
        retrieve_pos_from="midbottom",
        assign_pos_to="midbottom",
        offset_pos_by=(0, -10),
    )


    ## final combination

    surf = combine_surfaces(
        (text_surf, icon_surf),
        retrieve_pos_from="midright",
        assign_pos_to="midleft",
        offset_pos_by=(4, 0),
        padding=6,
        background_color=HTSL_CANVAS_BG,
    )

    draw_border(surf, color=HTSL_GENERAL_TEXT_FG, thickness=2)

    return surf
Create and return surface representing save button.
nodezator/htsl/codeblock.py