当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript VerticalObjects.getLinesViewportData方法代码示例

本文整理汇总了TypeScript中vs/editor/common/viewLayout/verticalObjects.VerticalObjects.getLinesViewportData方法的典型用法代码示例。如果您正苦于以下问题:TypeScript VerticalObjects.getLinesViewportData方法的具体用法?TypeScript VerticalObjects.getLinesViewportData怎么用?TypeScript VerticalObjects.getLinesViewportData使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在vs/editor/common/viewLayout/verticalObjects.VerticalObjects的用法示例。


在下文中一共展示了VerticalObjects.getLinesViewportData方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: getLinesViewportData

	/**
	 * Get all the lines and their relative vertical offsets that are positioned inside `viewport`.
	 *
	 * @param viewport The viewport.
	 * @return A structure describing the lines positioned between `verticalOffset1` and `verticalOffset2`.
	 */
	public getLinesViewportData(visibleBox:editorCommon.IViewport): editorCommon.IViewLinesViewportData {

		var viewportData = this.verticalObjects.getLinesViewportData(visibleBox.top, visibleBox.top + visibleBox.height, this.configuration.editor.lineHeight);

		var decorationsResolver = this.model.getDecorationsResolver(viewportData.startLineNumber, viewportData.endLineNumber);
		viewportData.getDecorationsInViewport = () => decorationsResolver.getDecorations();
		viewportData.getInlineDecorationsForLineInViewport = (lineNumber:number) => decorationsResolver.getInlineDecorations(lineNumber);

		return viewportData;
	}
开发者ID:578723746,项目名称:vscode,代码行数:16,代码来源:linesLayout.ts

示例2: getLinesViewportData

	/**
	 * Get all the lines and their relative vertical offsets that are positioned inside `viewport`.
	 *
	 * @param viewport The viewport.
	 * @return A structure describing the lines positioned between `verticalOffset1` and `verticalOffset2`.
	 */
	public getLinesViewportData(visibleBox:editorCommon.Viewport): ViewLinesViewportData {
		let partialData = this.verticalObjects.getLinesViewportData(visibleBox.top, visibleBox.top + visibleBox.height, this._lineHeight);
		let decorationsData = this.model.getDecorationsViewportData(partialData.startLineNumber, partialData.endLineNumber);
		let visibleRange = new Range(
			partialData.startLineNumber,
			1,
			partialData.endLineNumber,
			this.model.getLineMaxColumn(partialData.endLineNumber)
		);

		return new ViewLinesViewportData(partialData, visibleRange, decorationsData);
	}
开发者ID:Clizhuowei,项目名称:vscode,代码行数:18,代码来源:linesLayout.ts

示例3: getLinesViewportData

	/**
	 * Get all the lines and their relative vertical offsets that are positioned inside `viewport`.
	 *
	 * @param viewport The viewport.
	 * @return A structure describing the lines positioned between `verticalOffset1` and `verticalOffset2`.
	 */
	public getLinesViewportData(visibleBox:editorCommon.Viewport): ViewLinesViewportData {
		let partialData = this.verticalObjects.getLinesViewportData(visibleBox.top, visibleBox.top + visibleBox.height, this._lineHeight);
		let decorationsData = this.model.getDecorationsViewportData(partialData.startLineNumber, partialData.endLineNumber);
		let visibleRange = new Range(
			partialData.startLineNumber,
			1,
			partialData.endLineNumber,
			this.model.getLineMaxColumn(partialData.endLineNumber)
		);

		let startLineNumber =  partialData.startLineNumber === partialData.endLineNumber || partialData.relativeVerticalOffset[0] >= partialData.viewportTop ? partialData.startLineNumber : partialData.startLineNumber + 1;
		let endLineNumber = partialData.relativeVerticalOffset[partialData.relativeVerticalOffset.length - 1] + this._lineHeight <= partialData.viewportTop + partialData.viewportHeight ? partialData.endLineNumber : partialData.endLineNumber - 1;
		let visibleRangeWithCompleteLines = new Range(
			startLineNumber,
			1,
			endLineNumber,
			this.model.getLineMaxColumn(endLineNumber)
		);

		return new ViewLinesViewportData(partialData, visibleRange, visibleRangeWithCompleteLines, decorationsData);
	}
开发者ID:GYGit,项目名称:vscode,代码行数:27,代码来源:linesLayout.ts

示例4: test

	test('VerticalObjects getLinesViewportData 2 & getWhitespaceViewportData', () => {
		var verticalObjects = new VerticalObjects();
		verticalObjects.replaceLines(10);
		var a = verticalObjects.insertWhitespace(6, 0, 100);
		var b = verticalObjects.insertWhitespace(7, 0, 50);

		// 10 lines
		// whitespace: - a(6,100), b(7, 50)
		assert.equal(verticalObjects.getTotalHeight(10), 250);
		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(1, 10), 0);
		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(2, 10), 10);
		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(3, 10), 20);
		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(4, 10), 30);
		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(5, 10), 40);
		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(6, 10), 50);
		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(7, 10), 160);
		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(8, 10), 220);
		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(9, 10), 230);
		assert.equal(verticalObjects.getVerticalOffsetForLineNumber(10, 10), 240);

		// viewport 50->160
		var viewportData = verticalObjects.getLinesViewportData(50, 160, 10);
		assert.equal(viewportData.startLineNumber, 6);
		assert.equal(viewportData.endLineNumber, 6);
		assert.deepEqual(viewportData.relativeVerticalOffset, [50]);
		assert.equal(viewportData.visibleRangesDeltaTop, -50);
		var whitespaceData = verticalObjects.getWhitespaceViewportData(50, 160, 10);
		assert.deepEqual(whitespaceData, [{
			id: a,
			afterLineNumber: 6,
			verticalOffset: 60,
			height: 100
		}]);

		// viewport 50->219
		viewportData = verticalObjects.getLinesViewportData(50, 219, 10);
		assert.equal(viewportData.startLineNumber, 6);
		assert.equal(viewportData.endLineNumber, 7);
		assert.deepEqual(viewportData.relativeVerticalOffset, [50, 160]);
		assert.equal(viewportData.visibleRangesDeltaTop, -50);
		whitespaceData = verticalObjects.getWhitespaceViewportData(50, 219, 10);
		assert.deepEqual(whitespaceData, [{
			id: a,
			afterLineNumber: 6,
			verticalOffset: 60,
			height: 100
		}, {
			id: b,
			afterLineNumber: 7,
			verticalOffset: 170,
			height: 50
		}]);

		// viewport 50->220
		viewportData = verticalObjects.getLinesViewportData(50, 220, 10);
		assert.equal(viewportData.startLineNumber, 6);
		assert.equal(viewportData.endLineNumber, 7);
		assert.deepEqual(viewportData.relativeVerticalOffset, [50, 160]);
		assert.equal(viewportData.visibleRangesDeltaTop, -50);

		// viewport 50->250
		viewportData = verticalObjects.getLinesViewportData(50, 250, 10);
		assert.equal(viewportData.startLineNumber, 6);
		assert.equal(viewportData.endLineNumber, 10);
		assert.deepEqual(viewportData.relativeVerticalOffset, [50, 160, 220, 230, 240]);
		assert.equal(viewportData.visibleRangesDeltaTop, -50);
	});
开发者ID:pk-codebox-evo,项目名称:ide-microsoft-vscode,代码行数:67,代码来源:verticalObjects.test.ts

示例5: getLinesViewportData

	/**
	 * Get all the lines and their relative vertical offsets that are positioned inside `viewport`.
	 *
	 * @param viewport The viewport.
	 * @return A structure describing the lines positioned between `verticalOffset1` and `verticalOffset2`.
	 */
	public getLinesViewportData(visibleBox: editorCommon.Viewport): IPartialViewLinesViewportData {
		return this.verticalObjects.getLinesViewportData(visibleBox.top, visibleBox.top + visibleBox.height, this._lineHeight);
	}
开发者ID:pk-codebox-evo,项目名称:ide-microsoft-vscode,代码行数:9,代码来源:linesLayout.ts


注:本文中的vs/editor/common/viewLayout/verticalObjects.VerticalObjects.getLinesViewportData方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。