def render_separator(
    length,
    is_horizontal=True,
    padding=5,
    thickness=5,
    background_color=WINDOW_BG,
    foreground_color=SHADOW_COLOR,
    highlight_color=HIGHLIGHT_COLOR,
):
    """Return a tkinter.Separator-like surface.

    Parameters
    ==========

    length (integer)
        integer representing the length of the separator
        in pixels, used for either the width or height,
        depending on the desired orientation.
    is_horizontal (boolean, default is True)
        Hints the separator line orientation. If False, the
        separator surface will be rotated at the end to
        assume a vertical orientation.
    padding (integer, default is 5)
        padding to be added at the edges of the surface, so
        that the separator line don't touch them (if desired).
        It is an integer representing the amount of pixels.
    thickness (integer, default is 5)
        how thick the separator surface is.
    background_color
    foreground_color
    highlight_color
    (tuple or list of r, g, b integer values ranging from 0
    to 255)
        represents colors for background, foreground (the
        line) and highlight color (another line just below
        the foreground).
    """
    ### create the surface
    surf = render_rect(length, thickness, background_color)

    ### define variables for common usage

    start_y = end_y = (thickness // 2) - 1

    start_x = 0 + padding
    end_x = length - padding

    ### draw separator

    start = start_x, start_y
    end = end_x, end_y

    draw_line(surf, foreground_color, start, end, 1)

    ### draw depth highlight

    highlight_start = start_x, start_y + 1
    highlight_end = end_x, end_y + 1

    draw_line(surf, highlight_color, highlight_start, highlight_end, 1)

    ### if requested, put surface in vertical position

    if not is_horizontal:

        # we rotate minus 90 degrees so highlight end up
        # to the left of the separator line which
        # simulates the direction from which a fictious
        # source of light hits the surface;
        surf = rotate_surface(surf, -90)

    ### finally, return the surface
    return surf
Return a tkinter.Separator-like surface.

    Parameters
    ==========

    length (integer)
        integer representing the length of the separator
        in pixels, used for either the width or height,
        depending on the desired orientation.
    is_horizontal (boolean, default is True)
        Hints the separator line orientation. If False, the
        separator surface will be rotated at the end to
        assume a vertical orientation.
    padding (integer, default is 5)
        padding to be added at the edges of the surface, so
        that the separator line don't touch them (if desired).
        It is an integer representing the amount of pixels.
    thickness (integer, default is 5)
        how thick the separator surface is.
    background_color
    foreground_color
    highlight_color
    (tuple or list of r, g, b integer values ranging from 0
    to 255)
        represents colors for background, foreground (the
        line) and highlight color (another line just below
        the foreground).
    
nodezator/surfsman/render.py