Create shared file for viewport constants

This commit is contained in:
Daniel Imms
2024-07-10 12:40:02 -07:00
parent d6f7133fa6
commit 1096b7f17f
3 changed files with 12 additions and 11 deletions
+2 -6
View File
@@ -6,6 +6,7 @@
import type { Terminal, ITerminalAddon } from '@xterm/xterm';
import type { FitAddon as IFitApi } from '@xterm/addon-fit';
import { IRenderDimensions } from 'browser/renderer/shared/Types';
import { ViewportConstants } from 'browser/shared/Constants';
interface ITerminalDimensions {
/**
@@ -22,11 +23,6 @@ interface ITerminalDimensions {
const MINIMUM_COLS = 2;
const MINIMUM_ROWS = 1;
// Must remain in sync with the value in core's viewport
const enum Constants {
DEFAULT_SCROLL_BAR_WIDTH = 14
}
export class FitAddon implements ITerminalAddon , IFitApi {
private _terminal: Terminal | undefined;
@@ -71,7 +67,7 @@ export class FitAddon implements ITerminalAddon , IFitApi {
const scrollbarWidth = (this._terminal.options.scrollback === 0
? 0
: (this._terminal.options.overviewRulerWidth || Constants.DEFAULT_SCROLL_BAR_WIDTH));
: (this._terminal.options.overviewRulerWidth || ViewportConstants.DEFAULT_SCROLL_BAR_WIDTH));
const parentElementStyle = window.getComputedStyle(this._terminal.element.parentElement);
const parentElementHeight = parseInt(parentElementStyle.getPropertyValue('height'));
+2 -5
View File
@@ -4,6 +4,7 @@
*/
import { ICoreBrowserService, IRenderService, IThemeService } from 'browser/services/Services';
import { ViewportConstants } from 'browser/shared/Constants';
import { EventEmitter, runAndSubscribe } from 'common/EventEmitter';
import { Disposable, toDisposable } from 'common/Lifecycle';
import { IBufferService, IOptionsService } from 'common/services/Services';
@@ -12,10 +13,6 @@ import { SmoothScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollable
import type { ScrollableElementChangeOptions } from 'vs/base/browser/ui/scrollbar/scrollableElementOptions';
import { Scrollable, ScrollbarVisibility, type ScrollEvent } from 'vs/base/common/scrollable';
const enum Constants {
DEFAULT_SCROLL_BAR_WIDTH = 14
}
export class Viewport extends Disposable {
protected _onRequestScrollLines = this.register(new EventEmitter<number>());
@@ -118,7 +115,7 @@ export class Viewport extends Disposable {
return {
mouseWheelScrollSensitivity: this._optionsService.rawOptions.scrollSensitivity,
fastScrollSensitivity: this._optionsService.rawOptions.fastScrollSensitivity,
verticalScrollbarSize: this._optionsService.rawOptions.overviewRulerWidth || Constants.DEFAULT_SCROLL_BAR_WIDTH
verticalScrollbarSize: this._optionsService.rawOptions.overviewRulerWidth || ViewportConstants.DEFAULT_SCROLL_BAR_WIDTH
};
}
+8
View File
@@ -0,0 +1,8 @@
/**
* Copyright (c) 2024 The xterm.js authors. All rights reserved.
* @license MIT
*/
export const enum ViewportConstants {
DEFAULT_SCROLL_BAR_WIDTH = 14
}