mirror of https://github.com/espruino/BangleApps
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