Add new dimensions properties, helper creation function

Part of #3925
This commit is contained in:
Daniel Imms
2022-10-15 10:31:43 -07:00
parent 869ce3aa35
commit ddc4e75583
6 changed files with 80 additions and 68 deletions
@@ -3,6 +3,8 @@
* @license MIT
*/
import { IDimensions, IOffset, IRenderDimensions } from 'browser/renderer/shared/Types';
export function throwIfFalsy<T>(value: T | undefined | null): T {
if (!value) {
throw new Error('value must not be falsy');
@@ -28,3 +30,41 @@ function isBoxOrBlockGlyph(codepoint: number): boolean {
export function excludeFromContrastRatioDemands(codepoint: number): boolean {
return isPowerlineGlyph(codepoint) || isBoxOrBlockGlyph(codepoint);
}
export function createRenderDimensions(): IRenderDimensions {
return {
css: {
canvas: createDimension(),
cell: createDimension()
},
device: {
canvas: createDimension(),
cell: createDimension(),
char: {
width: 0,
height: 0,
left: 0,
top: 0
}
},
scaledCharWidth: 0,
scaledCharHeight: 0,
scaledCellWidth: 0,
scaledCellHeight: 0,
scaledCharLeft: 0,
scaledCharTop: 0,
scaledCanvasWidth: 0,
scaledCanvasHeight: 0,
canvasWidth: 0,
canvasHeight: 0,
actualCellWidth: 0,
actualCellHeight: 0
};
}
function createDimension(): IDimensions {
return {
width: 0,
height: 0
};
}
+32 -12
View File
@@ -27,19 +27,39 @@ export interface ICharAtlasConfig {
colors: IColorSet;
}
export interface IDimensions {
width: number;
height: number;
}
export interface IOffset {
top: number;
left: number;
}
export interface IRenderDimensions {
scaledCharWidth: number;
scaledCharHeight: number;
scaledCellWidth: number;
scaledCellHeight: number;
scaledCharLeft: number;
scaledCharTop: number;
scaledCanvasWidth: number;
scaledCanvasHeight: number;
canvasWidth: number;
canvasHeight: number;
actualCellWidth: number;
actualCellHeight: number;
css: {
canvas: IDimensions;
cell: IDimensions;
};
device: {
canvas: IDimensions;
cell: IDimensions;
char: IDimensions & IOffset;
};
/** @deprecated */ scaledCharWidth: number;
/** @deprecated */ scaledCharHeight: number;
/** @deprecated */ scaledCellWidth: number;
/** @deprecated */ scaledCellHeight: number;
/** @deprecated */ scaledCharLeft: number;
/** @deprecated */ scaledCharTop: number;
/** @deprecated */ scaledCanvasWidth: number;
/** @deprecated */ scaledCanvasHeight: number;
/** @deprecated */ canvasWidth: number;
/** @deprecated */ canvasHeight: number;
/** @deprecated */ actualCellWidth: number;
/** @deprecated */ actualCellHeight: number;
}
export interface IRequestRedrawEvent {