123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- /*---------------------------------------------------------------------------------------------
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Licensed under the MIT License. See License.txt in the project root for license information.
- *--------------------------------------------------------------------------------------------*/
- export class RestrictedRenderingContext {
- constructor(viewLayout, viewportData) {
- this._restrictedRenderingContextBrand = undefined;
- this._viewLayout = viewLayout;
- this.viewportData = viewportData;
- this.scrollWidth = this._viewLayout.getScrollWidth();
- this.scrollHeight = this._viewLayout.getScrollHeight();
- this.visibleRange = this.viewportData.visibleRange;
- this.bigNumbersDelta = this.viewportData.bigNumbersDelta;
- const vInfo = this._viewLayout.getCurrentViewport();
- this.scrollTop = vInfo.top;
- this.scrollLeft = vInfo.left;
- this.viewportWidth = vInfo.width;
- this.viewportHeight = vInfo.height;
- }
- getScrolledTopFromAbsoluteTop(absoluteTop) {
- return absoluteTop - this.scrollTop;
- }
- getVerticalOffsetForLineNumber(lineNumber) {
- return this._viewLayout.getVerticalOffsetForLineNumber(lineNumber);
- }
- getDecorationsInViewport() {
- return this.viewportData.getDecorationsInViewport();
- }
- }
- export class RenderingContext extends RestrictedRenderingContext {
- constructor(viewLayout, viewportData, viewLines) {
- super(viewLayout, viewportData);
- this._renderingContextBrand = undefined;
- this._viewLines = viewLines;
- }
- linesVisibleRangesForRange(range, includeNewLines) {
- return this._viewLines.linesVisibleRangesForRange(range, includeNewLines);
- }
- visibleRangeForPosition(position) {
- return this._viewLines.visibleRangeForPosition(position);
- }
- }
- export class LineVisibleRanges {
- constructor(outsideRenderedLine, lineNumber, ranges) {
- this.outsideRenderedLine = outsideRenderedLine;
- this.lineNumber = lineNumber;
- this.ranges = ranges;
- }
- }
- export class HorizontalRange {
- constructor(left, width) {
- this._horizontalRangeBrand = undefined;
- this.left = Math.round(left);
- this.width = Math.round(width);
- }
- static from(ranges) {
- const result = new Array(ranges.length);
- for (let i = 0, len = ranges.length; i < len; i++) {
- const range = ranges[i];
- result[i] = new HorizontalRange(range.left, range.width);
- }
- return result;
- }
- toString() {
- return `[${this.left},${this.width}]`;
- }
- }
- export class FloatHorizontalRange {
- constructor(left, width) {
- this._floatHorizontalRangeBrand = undefined;
- this.left = left;
- this.width = width;
- }
- toString() {
- return `[${this.left},${this.width}]`;
- }
- static compare(a, b) {
- return a.left - b.left;
- }
- }
- export class HorizontalPosition {
- constructor(outsideRenderedLine, left) {
- this.outsideRenderedLine = outsideRenderedLine;
- this.originalLeft = left;
- this.left = Math.round(this.originalLeft);
- }
- }
- export class VisibleRanges {
- constructor(outsideRenderedLine, ranges) {
- this.outsideRenderedLine = outsideRenderedLine;
- this.ranges = ranges;
- }
- }
|