Mercurial > hg > ugly-duckling
view src/app/visualisations/waves-ui-piper.d.ts @ 367:f967cb22a37a
Clear when updating, not functional difference in this app as it stands because components only receive inputs once atm.
author | Lucas Thompson <dev@lucas.im> |
---|---|
date | Tue, 30 May 2017 18:19:55 +0100 |
parents | 1ad3c86fd1f7 |
children | 2565f55f0ca7 |
line wrap: on
line source
/// <reference path="../../../node_modules/@types/node/index.d.ts"/> declare const AmbientInstance: WavesUserInterface; declare module 'waves-ui-piper' { export default AmbientInstance; } interface WavesUserInterface { core: Core; helpers: any; states: any; utils: Utilities; shapes: any; } interface MatrixEntity { getColumnCount(): number; getColumnHeight(): number; getColumn(n: number): Float32Array | number[]; getStepDuration(): number; getStartTime(): number; dispose(): void; } type TimeContext = any; // TODO interface Area { top: number; left: number; width: number; height: number; } interface Layer extends NodeJS.EventEmitter { start: number; offset: number; duration: number; stretchRatio: number; yDomain: number[]; opacity: number; timeContext: any; // TODO readonly timeToPixel: () => (time: number) => number; readonly valueToPixel: () => (value: number) => number; readonly items: Element[]; readonly selectedItems: Element[]; data: ArrayLike<any> | Object; destroy(): void; configureTimeContextBehaviour(ctor: ObjectConstructor): void; setTimeContext(context: TimeContext): void; configureShape(ctor: ObjectConstructor /* TODO BaseShape*/, accessors: Object, options: Object): void; configureCommonShape(ctor: ObjectConstructor /* TODO BaseShape*/, accessors: Object, options: Object): void; setBehaviour(behaviour: Object /* TODO BaseBehavior */): void; select(...$items: Element[]); unselect(...$items: Element[]); toggleSelection(...$items: Element[]); edit($items: Element[], dx: number, dy: number, $target: Element): void; setContextEditable(bool: boolean): void; editContext(dx: number, dy: number, $target: Element): void; stretchContext(dx: number, dy: number, $target: Element): void; getItemFromDOMElement($el: Element): Element | null; getDatumFromItem($item: Element): Object | any[] | null; getDatumFromDOMElement($item: Element): Object | any[] | null; hasItem($item: Element): boolean; hasElement($el: Element): boolean; getItemsInArea(area: Area): Element[]; render(): void; update(): void; updateContainer(): void; updateShapes(): void; } interface LayerConstructor { new(dataType: 'entity' | 'collection', data: ArrayLike<any> | Object, options: Object): Layer; } interface MatrixEntityConstructor { new(): MatrixEntity; } interface PrefilledMatrixEntityConstructor { new(data: Float32Array[] | number[][], startTime: number, stepDuration: number): MatrixEntity; } interface Utilities { MatrixEntity: MatrixEntityConstructor; PrefilledMatrixEntity: PrefilledMatrixEntityConstructor; scales: any; } type Timeline = any; type Track = any; // TODO interface Core { Layer: LayerConstructor; LayerTimeContext: any; // TODO Timeline: Timeline; // TODO TimelineTimeContext: TimelineTimeContextConstructor; } interface TimelineTimeContext { pixelsPerSecond: number; readonly computedPixelsPerSecond: number; offset: number; zoom: number; visibleWidth: number; readonly visibleDuration: number; maintainVisibleDuration: boolean; timeToPixel: (time: number) => number; } interface TimelineTimeContextConstructor { new(pixelsPerSecond: number, visibleWidth: number): TimelineTimeContext; }