@lightningjs/renderer
Version:
Lightning 3 Renderer
61 lines (60 loc) • 1.75 kB
TypeScript
import type { NormalizedFontMetrics, TextBaseline, TextVerticalAlign } from '../TextRenderer.js';
import type { TextAlign, TextOverflow } from './Settings.js';
export interface RenderInfo {
lines: string[];
precision: number;
remainingText: string;
moreTextLines: boolean;
width: number;
innerWidth: number;
height: number;
fontSize: number;
cutSx: number;
cutSy: number;
cutEx: number;
cutEy: number;
lineHeight: number | null;
defLineHeight: number;
lineWidths: number[];
offsetY: number;
paddingLeft: number;
paddingRight: number;
letterSpacing: number;
textIndent: number;
metrics: NormalizedFontMetrics;
text: string;
fontStyle: string;
fontBaselineRatio: number;
fontFamily: string | null;
wordWrap: boolean;
wordWrapWidth: number;
wordBreak: 'normal' | 'break-all' | 'break-word';
textOverflow: TextOverflow | null;
textBaseline: TextBaseline;
textAlign: TextAlign;
verticalAlign: TextVerticalAlign;
maxLines: number;
maxHeight: number | null;
overflowSuffix: string;
textColor: number;
shadow: boolean;
shadowColor: number;
shadowOffsetX: number;
shadowOffsetY: number;
shadowBlur: number;
highlight: boolean;
highlightHeight: number;
highlightColor: number;
highlightOffset: number;
highlightPaddingLeft: number;
highlightPaddingRight: number;
advancedRenderer: boolean;
textRenderIssueMargin: number;
}
export interface LineType {
text: string;
x: number;
y: number;
w: number;
}
export declare function calculateRenderInfo(context: OffscreenCanvasRenderingContext2D | CanvasRenderingContext2D, renderInfo: RenderInfo): void;