UNPKG

monaco-editor-core

Version:

A browser based code editor

28 lines (27 loc) 1.48 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { Range } from '../core/range.js'; /** * Contains all data needed to render at a specific viewport. */ export class ViewportData { constructor(selections, partialData, whitespaceViewportData, model) { this.selections = selections; this.startLineNumber = partialData.startLineNumber | 0; this.endLineNumber = partialData.endLineNumber | 0; this.relativeVerticalOffset = partialData.relativeVerticalOffset; this.bigNumbersDelta = partialData.bigNumbersDelta | 0; this.lineHeight = partialData.lineHeight | 0; this.whitespaceViewportData = whitespaceViewportData; this._model = model; this.visibleRange = new Range(partialData.startLineNumber, this._model.getLineMinColumn(partialData.startLineNumber), partialData.endLineNumber, this._model.getLineMaxColumn(partialData.endLineNumber)); } getViewLineRenderingData(lineNumber) { return this._model.getViewportViewLineRenderingData(this.visibleRange, lineNumber); } getDecorationsInViewport() { return this._model.getDecorationsInViewport(this.visibleRange); } }