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