clock_info.d.ts
parent
008f7f40e5
commit
2e793391b2
|
|
@ -0,0 +1,58 @@
|
||||||
|
declare module ClockInfo {
|
||||||
|
function load(): Menu[];
|
||||||
|
function addInteractive(menu: Menu[], options: Options): InteractiveOptions;
|
||||||
|
|
||||||
|
type Menu = {
|
||||||
|
name: string,
|
||||||
|
img: string,
|
||||||
|
dynamic?: boolean,
|
||||||
|
items: MenuItem[],
|
||||||
|
};
|
||||||
|
|
||||||
|
type MenuItem = {
|
||||||
|
name: string,
|
||||||
|
show(): void,
|
||||||
|
hide(): void,
|
||||||
|
on(what: "redraw", cb: () => void): void, // extending from Object
|
||||||
|
run?(): void,
|
||||||
|
} & (
|
||||||
|
{
|
||||||
|
hasRange: true,
|
||||||
|
get(): RangeItem,
|
||||||
|
} | {
|
||||||
|
hasRange: false,
|
||||||
|
get(): Item,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
type Item = {
|
||||||
|
text: string,
|
||||||
|
short?: string,
|
||||||
|
img?: string,
|
||||||
|
};
|
||||||
|
|
||||||
|
type RangeItem =
|
||||||
|
Item & {
|
||||||
|
v: number,
|
||||||
|
min: number,
|
||||||
|
max: number,
|
||||||
|
};
|
||||||
|
|
||||||
|
type Options = {
|
||||||
|
x: number,
|
||||||
|
y: number,
|
||||||
|
w: number,
|
||||||
|
h: number,
|
||||||
|
draw(itm: MenuItem, info: Item, options: InteractiveOptions): void,
|
||||||
|
};
|
||||||
|
|
||||||
|
type InteractiveOptions =
|
||||||
|
Options & {
|
||||||
|
index: number,
|
||||||
|
menuA: number,
|
||||||
|
menuB: number,
|
||||||
|
remove(): void,
|
||||||
|
redraw(): void,
|
||||||
|
focus: boolean,
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue