annotate src/app/waveform/waves-ui.d.ts @ 236:53ea6406d601

Generate new project with latest @angular/cli, including Angular 4.
author Lucas Thompson <dev@lucas.im>
date Tue, 25 Apr 2017 20:01:09 +0100
parents 4a2d21f73b9f
children
rev   line source
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 }