@opentui/core
Version:
OpenTUI is a TypeScript library for building terminal user interfaces (TUIs)
53 lines (52 loc) • 2.08 kB
TypeScript
import { type ASCIIFontName, type fonts } from "../lib/ascii.font";
import { type ColorInput } from "../lib/RGBA";
import { Selection, type LocalSelectionBounds } from "../lib/selection";
import type { RenderableOptions } from "../Renderable";
import type { RenderContext } from "../types";
import { FrameBufferRenderable } from "./FrameBuffer";
export interface ASCIIFontOptions extends Omit<RenderableOptions<ASCIIFontRenderable>, "width" | "height"> {
text?: string;
font?: ASCIIFontName;
color?: ColorInput | ColorInput[];
backgroundColor?: ColorInput;
selectionBg?: ColorInput;
selectionFg?: ColorInput;
selectable?: boolean;
}
export declare class ASCIIFontRenderable extends FrameBufferRenderable {
selectable: boolean;
protected static readonly _defaultOptions: {
text: string;
font: "tiny";
color: string;
backgroundColor: string;
selectionBg: undefined;
selectionFg: undefined;
selectable: true;
};
protected _text: string;
protected _font: keyof typeof fonts;
protected _color: ColorInput | ColorInput[];
protected _backgroundColor: ColorInput;
protected _selectionBg: ColorInput | undefined;
protected _selectionFg: ColorInput | undefined;
protected lastLocalSelection: LocalSelectionBounds | null;
private selectionHelper;
constructor(ctx: RenderContext, options: ASCIIFontOptions);
get text(): string;
set text(value: string);
get font(): keyof typeof fonts;
set font(value: keyof typeof fonts);
get color(): ColorInput | ColorInput[];
set color(value: ColorInput | ColorInput[]);
get backgroundColor(): ColorInput;
set backgroundColor(value: ColorInput);
private updateDimensions;
shouldStartSelection(x: number, y: number): boolean;
onSelectionChanged(selection: Selection | null): boolean;
getSelectedText(): string;
hasSelection(): boolean;
protected onResize(width: number, height: number): void;
private renderFontToBuffer;
private renderSelectionHighlight;
}