@types/terminal-kit
Version:
TypeScript definitions for terminal-kit
142 lines (115 loc) • 3.95 kB
TypeScript
import NextGenEvents = require("nextgen-events");
import Terminal = require("./Terminal");
import ScreenBufferHD = require("./ScreenBufferHD");
import Rect = require("./Rect");
declare class ScreenBuffer extends NextGenEvents {
readonly dst: Terminal | ScreenBuffer;
readonly x: number;
readonly y: number;
readonly blending: boolean | ScreenBufferHD.IsBlending;
readonly width: number;
readonly height: number;
constructor(options: ScreenBuffer.Options);
static create(options: ScreenBuffer.Options): ScreenBuffer;
static createFromString(
options: {
attr: number | ScreenBuffer.Attributes;
transparencyChar: string;
transparencyType: number;
},
str: string,
): ScreenBuffer;
static loadImage(
url: string,
options: {
terminal: Terminal;
shrink?: {
width: number;
height: number;
} | undefined;
},
calback: (error: any, image: ScreenBufferHD) => void,
): void;
static loadImage(
url: string,
calback: (error?: any, image?: ScreenBufferHD) => void,
): void;
static attr2object(attrFlags: number): void;
attr2object(attrFlags: number): void;
static object2attr(attrObject: ScreenBuffer.Attributes): void;
object2attr(attrObject: ScreenBuffer.Attributes): void;
static loadSync(filepath: string): ScreenBuffer;
fill(options?: {
attr: ScreenBuffer.Attributes | number;
char?: string | undefined;
}): void;
clear(): void;
put(
options: ScreenBuffer.PutOptions,
format: string,
...formatArgumets: any[]
): void;
get(options?: {
x: number;
y: number;
}): { char: string; attr: ScreenBuffer.Attributes };
resize(fromRect: Rect | Rect.Options): void;
draw(options?: ScreenBuffer.DrawOptions): void;
drawCursor(options?: { dst: Terminal | ScreenBuffer }): void;
moveTo(x: number, y: number): void;
vScroll(offset: number, drawToTerminal: boolean): void;
dumpChars(): string;
saveSync(filepath: string): void;
}
export = ScreenBuffer;
declare namespace ScreenBuffer {
interface Options {
width?: number | undefined;
height?: number | undefined;
dst: Terminal | ScreenBuffer;
x?: number | undefined;
y?: number | undefined;
blending?: boolean | undefined;
wrap?: boolean | undefined;
noFill?: boolean | undefined;
}
interface DrawOptions {
dst?: Terminal | ScreenBuffer | undefined;
x?: number | undefined;
y?: number | undefined;
srcClipRect?: Rect | undefined;
dstClipRect?: Rect | undefined;
blending?: boolean | undefined;
delta?: boolean | undefined;
wrap?: boolean | "x" | "y" | undefined;
tile?: boolean | undefined;
}
interface Attributes {
color?: number | string | undefined;
defaultColor?: boolean | undefined;
bgColor?: number | string | undefined;
bgDefaultColor?: boolean | undefined;
bold?: boolean | undefined;
dim?: boolean | undefined;
italic?: boolean | undefined;
underline?: boolean | undefined;
blink?: boolean | undefined;
inverse?: boolean | undefined;
hidden?: boolean | undefined;
strike?: boolean | undefined;
transparency?: boolean | undefined;
fgTransparency?: boolean | undefined;
bgTransparency?: boolean | undefined;
styleTransparency?: boolean | undefined;
charTransparency?: boolean | undefined;
}
interface PutOptions {
x: number;
y: number;
attr: Attributes | number;
wrap: boolean;
direction?: "right" | "left" | "up" | "down" | null | undefined;
dx: number;
dy: number;
}
}