def _visible_text_point(view, row, col):
    """Return the text_point of row,col clipped to the visible viewport.

    Arguments:
        view (sublime.View):
            the view to return the text_point for
        row (int):
            the row to use for text_point calculation
        col (int):
            the column relative to the first visible column of the viewport
            which is defined by the horizontal scroll position.
    Returns:
        int: The text_point of row & col within the viewport.
    """
    viewport = view.visible_region()
    _, vp_col = view.rowcol(viewport.begin())
    return view.text_point(row, vp_col + col)