mirror of
https://github.com/YuzuZensai/Termix.git
synced 2026-09-13 10:49:03 +00:00
119 lines
3.0 KiB
TypeScript
119 lines
3.0 KiB
TypeScript
declare module "guacamole-common-js" {
|
|
namespace Guacamole {
|
|
class Client {
|
|
constructor(tunnel: Tunnel);
|
|
connect(data?: string): void;
|
|
disconnect(): void;
|
|
getDisplay(): Display;
|
|
sendKeyEvent(pressed: number, keysym: number): void;
|
|
sendMouseState(state: Mouse.State): void;
|
|
sendSize(width: number, height: number): void;
|
|
setClipboard(stream: OutputStream, mimetype: string): void;
|
|
createClipboardStream(mimetype: string): OutputStream;
|
|
onstatechange: ((state: number) => void) | null;
|
|
onerror: ((error: Status) => void) | null;
|
|
onclipboard: ((stream: InputStream, mimetype: string) => void) | null;
|
|
onaudio: ((stream: InputStream, mimetype: string) => void) | null;
|
|
}
|
|
|
|
class AudioPlayer {
|
|
static getInstance(
|
|
stream: InputStream,
|
|
mimetype: string,
|
|
): AudioPlayer | null;
|
|
sync(): void;
|
|
}
|
|
|
|
class Display {
|
|
getElement(): HTMLElement;
|
|
getWidth(): number;
|
|
getHeight(): number;
|
|
scale(scale: number): void;
|
|
onresize: (() => void) | null;
|
|
}
|
|
|
|
class Tunnel {
|
|
onerror: ((status: Status) => void) | null;
|
|
onstatechange: ((state: number) => void) | null;
|
|
}
|
|
|
|
class WebSocketTunnel extends Tunnel {
|
|
constructor(url: string);
|
|
}
|
|
|
|
class Mouse {
|
|
constructor(element: HTMLElement);
|
|
onmousedown: ((state: Mouse.State) => void) | null;
|
|
onmouseup: ((state: Mouse.State) => void) | null;
|
|
onmousemove: ((state: Mouse.State) => void) | null;
|
|
onmouseout: ((state: Mouse.State) => void) | null;
|
|
}
|
|
|
|
namespace Mouse {
|
|
class State {
|
|
constructor(
|
|
x: number,
|
|
y: number,
|
|
left?: boolean,
|
|
middle?: boolean,
|
|
right?: boolean,
|
|
up?: boolean,
|
|
down?: boolean,
|
|
);
|
|
constructor(state: {
|
|
x: number;
|
|
y: number;
|
|
left?: boolean;
|
|
middle?: boolean;
|
|
right?: boolean;
|
|
up?: boolean;
|
|
down?: boolean;
|
|
});
|
|
x: number;
|
|
y: number;
|
|
left: boolean;
|
|
middle: boolean;
|
|
right: boolean;
|
|
up: boolean;
|
|
down: boolean;
|
|
}
|
|
}
|
|
|
|
class Keyboard {
|
|
constructor(element: Document | HTMLElement);
|
|
onkeydown: ((keysym: number) => void) | null;
|
|
onkeyup: ((keysym: number) => void) | null;
|
|
}
|
|
|
|
class Status {
|
|
code: number;
|
|
message: string;
|
|
isError(): boolean;
|
|
}
|
|
|
|
class InputStream {
|
|
onblob: ((data: string) => void) | null;
|
|
onend: (() => void) | null;
|
|
}
|
|
|
|
class OutputStream {
|
|
sendBlob(data: string): void;
|
|
sendEnd(): void;
|
|
}
|
|
|
|
class StringReader {
|
|
constructor(stream: InputStream);
|
|
ontext: ((text: string) => void) | null;
|
|
onend: (() => void) | null;
|
|
}
|
|
|
|
class StringWriter {
|
|
constructor(stream: OutputStream);
|
|
sendText(text: string): void;
|
|
sendEnd(): void;
|
|
}
|
|
}
|
|
|
|
export default Guacamole;
|
|
}
|