mirror of
https://github.com/microsoft/vscode.git
synced 2026-07-10 16:49:36 +01:00
Remove bigNumbersDelta (#194712)
If I understand correctly, this is just a hack to support IE. However, IE is no longer supported, so this is no longer necessary.
This commit is contained in:
@@ -22,7 +22,6 @@ export abstract class RestrictedRenderingContext {
|
||||
public readonly scrollHeight: number;
|
||||
|
||||
public readonly visibleRange: Range;
|
||||
public readonly bigNumbersDelta: number;
|
||||
|
||||
public readonly scrollTop: number;
|
||||
public readonly scrollLeft: number;
|
||||
@@ -40,7 +39,6 @@ export abstract class RestrictedRenderingContext {
|
||||
this.scrollHeight = this._viewLayout.getScrollHeight();
|
||||
|
||||
this.visibleRange = this.viewportData.visibleRange;
|
||||
this.bigNumbersDelta = this.viewportData.bigNumbersDelta;
|
||||
|
||||
const vInfo = this._viewLayout.getCurrentViewport();
|
||||
this.scrollTop = vInfo.top;
|
||||
|
||||
@@ -537,7 +537,7 @@ class Widget {
|
||||
this.domNode.setTop(this._renderData.coordinate.top);
|
||||
this.domNode.setLeft(this._renderData.coordinate.left);
|
||||
} else {
|
||||
this.domNode.setTop(this._renderData.coordinate.top + ctx.scrollTop - ctx.bigNumbersDelta);
|
||||
this.domNode.setTop(this._renderData.coordinate.top + ctx.scrollTop);
|
||||
this.domNode.setLeft(this._renderData.coordinate.left);
|
||||
}
|
||||
|
||||
|
||||
@@ -662,7 +662,7 @@ export class ViewLines extends ViewPart implements IVisibleLinesHost<ViewLine>,
|
||||
// (3) handle scrolling
|
||||
this._linesContent.setLayerHinting(this._canUseLayerHinting);
|
||||
this._linesContent.setContain('strict');
|
||||
const adjustedScrollTop = this._context.viewLayout.getCurrentScrollTop() - viewportData.bigNumbersDelta;
|
||||
const adjustedScrollTop = this._context.viewLayout.getCurrentScrollTop();
|
||||
this._linesContent.setTop(-adjustedScrollTop);
|
||||
this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft());
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ export class Margin extends ViewPart {
|
||||
public render(ctx: RestrictedRenderingContext): void {
|
||||
this._domNode.setLayerHinting(this._canUseLayerHinting);
|
||||
this._domNode.setContain('strict');
|
||||
const adjustedScrollTop = ctx.scrollTop - ctx.bigNumbersDelta;
|
||||
const adjustedScrollTop = ctx.scrollTop;
|
||||
this._domNode.setTop(-adjustedScrollTop);
|
||||
|
||||
const height = Math.min(ctx.scrollHeight, 1000000);
|
||||
|
||||
@@ -166,7 +166,7 @@ export class ViewCursor {
|
||||
left -= paddingLeft;
|
||||
}
|
||||
|
||||
const top = ctx.getVerticalOffsetForLineNumber(position.lineNumber) - ctx.bigNumbersDelta;
|
||||
const top = ctx.getVerticalOffsetForLineNumber(position.lineNumber);
|
||||
return new ViewCursorRenderData(top, left, paddingLeft, width, this._lineHeight, textContent, textContentClassName);
|
||||
}
|
||||
|
||||
@@ -196,7 +196,7 @@ export class ViewCursor {
|
||||
textContentClassName = this._getTokenClassName(position);
|
||||
}
|
||||
|
||||
let top = ctx.getVerticalOffsetForLineNumber(position.lineNumber) - ctx.bigNumbersDelta;
|
||||
let top = ctx.getVerticalOffsetForLineNumber(position.lineNumber);
|
||||
let height = this._lineHeight;
|
||||
|
||||
// Underline might interfere with clicking
|
||||
|
||||
@@ -374,7 +374,7 @@ export class ViewZones extends ViewPart {
|
||||
let newHeight = 0;
|
||||
let newDisplay = 'none';
|
||||
if (visibleZones.hasOwnProperty(id)) {
|
||||
newTop = visibleZones[id].verticalOffset - ctx.bigNumbersDelta;
|
||||
newTop = visibleZones[id].verticalOffset;
|
||||
newHeight = visibleZones[id].height;
|
||||
newDisplay = 'block';
|
||||
// zone is visible
|
||||
|
||||
@@ -644,17 +644,6 @@ export class LinesLayout {
|
||||
let currentVerticalOffset = startLineNumberVerticalOffset;
|
||||
let currentLineRelativeOffset = currentVerticalOffset;
|
||||
|
||||
// IE (all versions) cannot handle units above about 1,533,908 px, so every 500k pixels bring numbers down
|
||||
const STEP_SIZE = 500000;
|
||||
let bigNumbersDelta = 0;
|
||||
if (startLineNumberVerticalOffset >= STEP_SIZE) {
|
||||
// Compute a delta that guarantees that lines are positioned at `lineHeight` increments
|
||||
bigNumbersDelta = Math.floor(startLineNumberVerticalOffset / STEP_SIZE) * STEP_SIZE;
|
||||
bigNumbersDelta = Math.floor(bigNumbersDelta / lineHeight) * lineHeight;
|
||||
|
||||
currentLineRelativeOffset -= bigNumbersDelta;
|
||||
}
|
||||
|
||||
const linesOffsets: number[] = [];
|
||||
|
||||
const verticalCenter = verticalOffset1 + (verticalOffset2 - verticalOffset1) / 2;
|
||||
@@ -721,7 +710,6 @@ export class LinesLayout {
|
||||
}
|
||||
|
||||
return {
|
||||
bigNumbersDelta: bigNumbersDelta,
|
||||
startLineNumber: startLineNumber,
|
||||
endLineNumber: endLineNumber,
|
||||
relativeVerticalOffset: linesOffsets,
|
||||
|
||||
@@ -34,11 +34,6 @@ export class ViewportData {
|
||||
*/
|
||||
public readonly visibleRange: Range;
|
||||
|
||||
/**
|
||||
* Value to be substracted from `scrollTop` (in order to vertical offset numbers < 1MM)
|
||||
*/
|
||||
public readonly bigNumbersDelta: number;
|
||||
|
||||
/**
|
||||
* Positioning information about gaps whitespace.
|
||||
*/
|
||||
@@ -56,7 +51,6 @@ export class ViewportData {
|
||||
this.startLineNumber = partialData.startLineNumber | 0;
|
||||
this.endLineNumber = partialData.endLineNumber | 0;
|
||||
this.relativeVerticalOffset = partialData.relativeVerticalOffset;
|
||||
this.bigNumbersDelta = partialData.bigNumbersDelta | 0;
|
||||
this.whitespaceViewportData = whitespaceViewportData;
|
||||
|
||||
this._model = model;
|
||||
|
||||
@@ -151,10 +151,6 @@ export interface IWhitespaceChangeAccessor {
|
||||
}
|
||||
|
||||
export interface IPartialViewLinesViewportData {
|
||||
/**
|
||||
* Value to be substracted from `scrollTop` (in order to vertical offset numbers < 1MM)
|
||||
*/
|
||||
readonly bigNumbersDelta: number;
|
||||
/**
|
||||
* The first (partially) visible line number.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user