本文整理匯總了TypeScript中vs/editor/browser/viewLayout/layoutProvider.LayoutProvider.getLinesViewportData方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript LayoutProvider.getLinesViewportData方法的具體用法?TypeScript LayoutProvider.getLinesViewportData怎麽用?TypeScript LayoutProvider.getLinesViewportData使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類vs/editor/browser/viewLayout/layoutProvider.LayoutProvider
的用法示例。
在下文中一共展示了LayoutProvider.getLinesViewportData方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: Error
visibleRangeForPositionRelativeToEditor: (lineNumber: number, column: number) => {
if (this._isDisposed) {
throw new Error('ViewImpl.keyboardHandler.visibleRangeForPositionRelativeToEditor: View is disposed');
}
this._flushAccumulatedAndRenderNow();
let linesViewPortData = this.layoutProvider.getLinesViewportData();
let visibleRanges = this.viewLines.visibleRangesForRange2(new Range(lineNumber, column, lineNumber, column), linesViewPortData.visibleRangesDeltaTop);
if (!visibleRanges) {
return null;
}
return visibleRanges[0];
},
示例2: getCompletelyVisibleLinesRangeInViewport
public getCompletelyVisibleLinesRangeInViewport(): Range {
if (this._isDisposed) {
throw new Error('ViewImpl.getCompletelyVisibleLinesRangeInViewport: View is disposed');
}
let partialData = this.layoutProvider.getLinesViewportData();
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._context.configuration.editor.lineHeight <= partialData.viewportTop + partialData.viewportHeight ? partialData.endLineNumber : partialData.endLineNumber - 1;
let completelyVisibleLinesRange = new Range(
startLineNumber,
1,
endLineNumber,
this._context.model.getLineMaxColumn(endLineNumber)
);
return this._context.model.coordinatesConverter.convertViewRangeToModelRange(completelyVisibleLinesRange);
}
示例3: _actualRender
private _actualRender(): void {
if (!dom.isInDOM(this.domNode.domNode)) {
return;
}
let viewPartsToRender = this._getViewPartsToRender();
if (!this.viewLines.shouldRender() && viewPartsToRender.length === 0) {
// Nothing to render
this.keyboardHandler.writeToTextArea();
return;
}
let partialViewportData = this.layoutProvider.getLinesViewportData();
this._context.model.setViewport(partialViewportData.startLineNumber, partialViewportData.endLineNumber, partialViewportData.centeredLineNumber);
let viewportData = new ViewportData(partialViewportData, this._context.model);
if (this.viewLines.shouldRender()) {
this.viewLines.renderText(viewportData, () => {
this.keyboardHandler.writeToTextArea();
});
this.viewLines.onDidRender();
// Rendering of viewLines might cause scroll events to occur, so collect view parts to render again
viewPartsToRender = this._getViewPartsToRender();
} else {
this.keyboardHandler.writeToTextArea();
}
let renderingContext = new RenderingContext(this.viewLines, this.layoutProvider, viewportData);
// Render the rest of the parts
for (let i = 0, len = viewPartsToRender.length; i < len; i++) {
let viewPart = viewPartsToRender[i];
viewPart.prepareRender(renderingContext);
}
for (let i = 0, len = viewPartsToRender.length; i < len; i++) {
let viewPart = viewPartsToRender[i];
viewPart.render(renderingContext);
viewPart.onDidRender();
}
}