dev@236
|
1 /// <reference path="../../../node_modules/@types/node/index.d.ts"/>
|
dev@123
|
2 declare const AmbientInstance: WavesUserInterface;
|
dev@123
|
3
|
dev@123
|
4 declare module 'waves-ui' {
|
dev@123
|
5 export default AmbientInstance;
|
dev@123
|
6 }
|
dev@123
|
7
|
dev@123
|
8 interface WavesUserInterface {
|
dev@127
|
9 core: Core;
|
dev@123
|
10 helpers: any;
|
dev@123
|
11 states: any;
|
dev@123
|
12 utils: Utilities;
|
dev@128
|
13 shapes: any;
|
dev@123
|
14 }
|
dev@123
|
15
|
dev@123
|
16 interface MatrixEntity {
|
dev@124
|
17 getColumnCount(): number;
|
dev@124
|
18 getColumnHeight(): number;
|
dev@126
|
19 getColumn(n: number): Float32Array | number[];
|
dev@124
|
20 getStepDuration(): number;
|
dev@124
|
21 getStartTime(): number;
|
cannam@131
|
22 dispose(): void;
|
dev@123
|
23 }
|
dev@123
|
24
|
dev@127
|
25 type TimeContext = any; // TODO
|
dev@127
|
26
|
dev@127
|
27 interface Area {
|
dev@127
|
28 top: number;
|
dev@127
|
29 left: number;
|
dev@127
|
30 width: number;
|
dev@127
|
31 height: number;
|
dev@127
|
32 }
|
dev@127
|
33
|
dev@236
|
34 interface Layer extends NodeJS.EventEmitter {
|
dev@127
|
35 start: number;
|
dev@127
|
36 offset: number;
|
dev@127
|
37 duration: number;
|
dev@127
|
38 stretchRatio: number;
|
dev@127
|
39 yDomain: number[];
|
dev@127
|
40 opacity: number;
|
dev@127
|
41 readonly timeToPixel: () => (time: number) => number;
|
dev@127
|
42 readonly valueToPixel: () => (value: number) => number;
|
dev@127
|
43 readonly items: Element[];
|
dev@236
|
44 readonly selectedItems: Element[];
|
dev@127
|
45 data: ArrayLike<any> | Object;
|
dev@236
|
46 destroy(): void;
|
dev@236
|
47 configureTimeContextBehaviour(ctor: ObjectConstructor): void;
|
dev@127
|
48 setTimeContext(context: TimeContext): void;
|
dev@127
|
49 configureShape(ctor: ObjectConstructor /* TODO BaseShape*/,
|
dev@127
|
50 accessors: Object,
|
dev@127
|
51 options: Object): void;
|
dev@127
|
52 configureCommonShape(ctor: ObjectConstructor /* TODO BaseShape*/,
|
dev@127
|
53 accessors: Object,
|
dev@127
|
54 options: Object): void;
|
dev@127
|
55 setBehaviour(behaviour: Object /* TODO BaseBehavior */): void;
|
dev@127
|
56 select(...$items: Element[]);
|
dev@127
|
57 unselect(...$items: Element[]);
|
dev@127
|
58 toggleSelection(...$items: Element[]);
|
dev@127
|
59 edit($items: Element[], dx: number, dy: number, $target: Element): void;
|
dev@127
|
60 setContextEditable(bool: boolean): void;
|
dev@127
|
61 editContext(dx: number, dy: number, $target: Element): void;
|
dev@127
|
62 stretchContext(dx: number, dy: number, $target: Element): void;
|
dev@127
|
63 getItemFromDOMElement($el: Element): Element | null;
|
dev@127
|
64 getDatumFromItem($item: Element): Object | any[] | null;
|
dev@127
|
65 getDatumFromDOMElement($item: Element): Object | any[] | null;
|
dev@127
|
66 hasItem($item: Element): boolean;
|
dev@127
|
67 hasElement($el: Element): boolean;
|
dev@127
|
68 getItemsInArea(area: Area): Element[];
|
dev@127
|
69 render(): void;
|
dev@127
|
70 update(): void;
|
dev@127
|
71 updateContainer(): void;
|
dev@127
|
72 updateShapes(): void;
|
dev@127
|
73 }
|
dev@127
|
74
|
dev@127
|
75 interface LayerConstructor {
|
dev@236
|
76 new(dataType: 'entity' | 'collection',
|
dev@127
|
77 data: ArrayLike<any> | Object,
|
dev@127
|
78 options: Object): Layer;
|
dev@127
|
79 }
|
dev@127
|
80
|
dev@123
|
81 interface MatrixEntityConstructor {
|
dev@123
|
82 new(): MatrixEntity;
|
dev@123
|
83 }
|
dev@123
|
84
|
dev@123
|
85 interface PrefilledMatrixEntityConstructor {
|
dev@123
|
86 new(data: Float32Array[] | number[][],
|
dev@123
|
87 startTime: number,
|
dev@123
|
88 stepDuration: number): MatrixEntity;
|
dev@123
|
89 }
|
dev@123
|
90
|
dev@123
|
91 interface Utilities {
|
dev@123
|
92 MatrixEntity: MatrixEntityConstructor;
|
dev@123
|
93 PrefilledMatrixEntity: PrefilledMatrixEntityConstructor;
|
dev@123
|
94 scales: any;
|
dev@123
|
95 }
|
dev@127
|
96
|
dev@127
|
97 interface Core {
|
dev@127
|
98 Layer: LayerConstructor;
|
dev@127
|
99 LayerTimeContext: any; // TODO
|
dev@127
|
100 Timeline: any; // TODO
|
dev@177
|
101 TimelineTimeContext: TimelineTimeContextConstructor;
|
dev@127
|
102 }
|
dev@177
|
103
|
dev@177
|
104 type Timeline = any;
|
dev@177
|
105
|
dev@177
|
106 interface TimelineTimeContext {
|
dev@177
|
107 pixelsPerSecond: number;
|
dev@177
|
108 readonly computedPixelsPerSecond: number;
|
dev@177
|
109 offset: number;
|
dev@177
|
110 zoom: number;
|
dev@177
|
111 visibleWidth: number;
|
dev@177
|
112 readonly visibleDuration: number;
|
dev@177
|
113 maintainVisibleDuration: boolean;
|
dev@177
|
114 timeToPixel: (time: number) => number;
|
dev@177
|
115 }
|
dev@177
|
116
|
dev@177
|
117 interface TimelineTimeContextConstructor {
|
dev@177
|
118 new(pixelsPerSecond: number, visibleWidth: number): TimelineTimeContext;
|
dev@177
|
119 }
|