src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.ts/Widget/_getTopAndBottomLeft
class Widget:	private _getTopAndBottomLeft(ctx: RenderingContext): [Coordinate, Coordinate] | [null, null] {
		if (!this._viewRange) {
			return [null, null];
		}

		const visibleRangesForRange = ctx.linesVisibleRangesForRange(this._viewRange, false);
		if (!visibleRangesForRange || visibleRangesForRange.length === 0) {
			return [null, null];
		}

		let firstLine = visibleRangesForRange[0];
		let lastLine = visibleRangesForRange[0];
		for (const visibleRangesForLine of visibleRangesForRange) {
			if (visibleRangesForLine.lineNumber < firstLine.lineNumber) {
				firstLine = visibleRangesForLine;
			}
			if (visibleRangesForLine.lineNumber > lastLine.lineNumber) {
				lastLine = visibleRangesForLine;
			}
		}

		let firstLineMinLeft = Constants.MAX_SAFE_SMALL_INTEGER;//firstLine.Constants.MAX_SAFE_SMALL_INTEGER;
		for (const visibleRange of firstLine.ranges) {
			if (visibleRange.left < firstLineMinLeft) {
				firstLineMinLeft = visibleRange.left;
			}
		}

		let lastLineMinLeft = Constants.MAX_SAFE_SMALL_INTEGER;//lastLine.Constants.MAX_SAFE_SMALL_INTEGER;
		for (const visibleRange of lastLine.ranges) {
			if (visibleRange.left < lastLineMinLeft) {
				lastLineMinLeft = visibleRange.left;
			}
		}

		const topForPosition = ctx.getVerticalOffsetForLineNumber(firstLine.lineNumber) - ctx.scrollTop;
		const topLeft = new Coordinate(topForPosition, firstLineMinLeft);

		const topForBottomLine = ctx.getVerticalOffsetForLineNumber(lastLine.lineNumber) - ctx.scrollTop;
		const bottomLeft = new Coordinate(topForBottomLine, lastLineMinLeft);

		return [topLeft, bottomLeft];
	}