Mercurial > hg > ugly-duckling
view src/app/visualisations/waves-ui-piper.d.ts @ 509:041468f553e1 tip master
Merge pull request #57 from LucasThompson/fix/session-stack-max-call-stack
Fix accidental recursion in PersistentStack
author | Lucas Thompson <LucasThompson@users.noreply.github.com> |
---|---|
date | Mon, 27 Nov 2017 11:04:30 +0000 |
parents | 511fafd13873 |
children |
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; } 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: LayerTimeContext; 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: LayerTimeContext): 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 HighlightLayer extends Layer { currentPosition: number; } 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: { linear: () => Scale; }; } type Timeline = any; type Track = any; // TODO interface Scale { (value: number): number; invert(): (value: number) => number; domain(arr?: [number, number]): Scale; range(arr?: [number, number]): Scale; } interface LayerTimeContext { start: number; duration: number; offset: number; stretchRatio: number; parent: TimelineTimeContext; timeToPixel(): Scale; pixelToTime(px: number): number; clone(): LayerTimeContext; } interface LayerTimeContextConstructor { new(parent: TimelineTimeContext): LayerTimeContext; } interface Core { Layer: LayerConstructor; LayerTimeContext: LayerTimeContextConstructor; Timeline: Timeline; // TODO TimelineTimeContext: TimelineTimeContextConstructor; } interface TimelineTimeContext { pixelsPerSecond: number; readonly computedPixelsPerSecond: number; offset: number; zoom: number; visibleWidth: number; readonly visibleDuration: number; maintainVisibleDuration: boolean; timeToPixel: Scale; } interface TimelineTimeContextConstructor { new(pixelsPerSecond: number, visibleWidth: number): TimelineTimeContext; }