Files
DefinitelyTyped/dat-gui/index.d.ts

98 lines
3.0 KiB
TypeScript

// Type definitions for dat.GUI v0.6.1
// Project: https://github.com/dataarts/dat.gui
// Definitions by: Satoru Kimura <https://github.com/gyohk>, ZongJing Lu <https://github.com/sonic3d>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
declare namespace dat {
export class GUI {
constructor(option?: GUIParams);
__controllers: GUIController[];
__folders: GUI[];
domElement: HTMLElement;
add(target: Object, propName:string): GUIController;
add(target: Object, propName:string, min: number, max: number): GUIController;
add(target: Object, propName:string, status: boolean): GUIController;
add(target: Object, propName:string, items:string[]): GUIController;
add(target: Object, propName:string, items:number[]): GUIController;
add(target: Object, propName:string, items:Object): GUIController;
addColor(target: Object, propName:string): GUIController;
addColor(target: Object, propName:string, color: string): GUIController;
addColor(target: Object, propName:string, rgba: number[]): GUIController; // rgb or rgba
addColor(target: Object, propName:string, hsv:{h:number; s:number; v:number}): GUIController;
remove(controller: GUIController): void;
destroy(): void;
addFolder(propName:string): GUI;
open(): void;
close(): void;
remember(target: Object, ...additionalTargets: Object[]): void;
getRoot(): GUI;
getSaveObject(): Object;
save(): void;
saveAs(presetName:string): void;
revert(gui:GUI): void;
listen(controller: GUIController): void;
updateDisplay(): void;
// gui properties in dat/gui/GUI.js
parent(): GUI;
scrollable(): boolean;
autoPlace(): boolean;
preset(): string;
preset(s: string): void;
width(): number;
width(n: number): void;
name(): string;
name(s: string): void;
closed(): boolean;
closed(b: boolean): void;
load(): Object;
useLocalStorage(): boolean;
useLocalStorage(b: boolean): void;
}
export interface GUIParams{
autoPlace?: boolean;
closed?: boolean;
load?: any;
name?: string;
preset?: string;
width?: number;
}
export class GUIController {
destroy(): void;
// Controller
onChange: (value?: any) => void;
onFinishChange: (value?: any) => void;
setValue(value: any): GUIController;
getValue(): any;
updateDisplay(): void;
isModified(): boolean;
// NumberController
min(n: number): GUIController;
max(n: number): GUIController;
step(n: number): GUIController;
// FunctionController
fire(): GUIController;
// augmentController in dat/gui/GUI.js
options(option:any):GUIController;
name(s: string): GUIController;
listen(): GUIController;
remove(): GUIController;
}
}