Mercurial > hg > ugly-duckling
comparison src/app/visualisations/curve/curve.component.ts @ 488:64ed45a0bad3
Introduce PlayheadRenderer, implement in the waves base. Make VerticallyBounded and VerticalScaleRenderer generic and remove bin equivalents. Forward calls for a PlayheadRenderer from VerticalScaleComponent on to its children. Also update other components accordingly.
author | Lucas Thompson <dev@lucas.im> |
---|---|
date | Wed, 05 Jul 2017 18:42:12 +0100 |
parents | 89674c064cda |
children | ab43880f1cd5 |
comparison
equal
deleted
inserted
replaced
487:f2bb5ddae867 | 488:64ed45a0bad3 |
---|---|
8 ViewChild | 8 ViewChild |
9 } from '@angular/core'; | 9 } from '@angular/core'; |
10 import {OnSeekHandler} from '../../playhead/PlayHeadHelpers'; | 10 import {OnSeekHandler} from '../../playhead/PlayHeadHelpers'; |
11 import {VectorFeature} from 'piper/HigherLevelUtilities'; | 11 import {VectorFeature} from 'piper/HigherLevelUtilities'; |
12 import { | 12 import { |
13 PlayheadManager, | |
14 PlayheadRenderer, | |
13 VerticallyBounded, | 15 VerticallyBounded, |
14 VerticalScaleRenderer, | 16 VerticalScaleRenderer, |
15 VerticalValueInspectorRenderer, | 17 VerticalValueInspectorRenderer, |
16 WavesComponent | 18 WavesComponent |
17 } from '../waves-base.component'; | 19 } from '../waves-base.component'; |
31 changeDetection: ChangeDetectionStrategy.OnPush, | 33 changeDetection: ChangeDetectionStrategy.OnPush, |
32 providers: [ | 34 providers: [ |
33 {provide: VerticallyBounded, useExisting: CurveComponent }, | 35 {provide: VerticallyBounded, useExisting: CurveComponent }, |
34 {provide: VerticalScaleRenderer, useExisting: CurveComponent}, | 36 {provide: VerticalScaleRenderer, useExisting: CurveComponent}, |
35 {provide: VerticalValueInspectorRenderer, useExisting: CurveComponent}, | 37 {provide: VerticalValueInspectorRenderer, useExisting: CurveComponent}, |
38 {provide: PlayheadRenderer, useExisting: CurveComponent }, | |
36 {provide: WavesComponent, useExisting: CurveComponent} | 39 {provide: WavesComponent, useExisting: CurveComponent} |
37 ] | 40 ] |
38 }) | 41 }) |
39 export class CurveComponent implements VerticalValueInspectorRenderer { | 42 export class CurveComponent |
43 implements VerticalValueInspectorRenderer, PlayheadRenderer { | |
44 | |
40 @Input() timeline: Timeline; // TODO refactor WaveComponents to have own Timeline, sharing a TimeContext | 45 @Input() timeline: Timeline; // TODO refactor WaveComponents to have own Timeline, sharing a TimeContext |
41 @Input() onSeek: OnSeekHandler; | 46 @Input() onSeek: OnSeekHandler; |
42 @Input() width: number; | 47 @Input() width: number; |
43 @Input() curve: VectorFeature; | 48 @Input() curve: VectorFeature; |
44 @Input() colour: string; | 49 @Input() colour: string; |
45 @Input() duration: number; | 50 @Input() duration: number; |
46 @ViewChild(TracksComponent) tracksComponent: TracksComponent; | 51 @ViewChild(TracksComponent) tracksComponent: TracksComponent; |
52 | |
53 renderPlayhead(initialTime: number, colour: string): PlayheadManager { | |
54 return this.tracksComponent.renderPlayhead(initialTime, colour); | |
55 } | |
47 | 56 |
48 renderInspector(range: [number, number], unit?: string): void { | 57 renderInspector(range: [number, number], unit?: string): void { |
49 this.tracksComponent.renderInspector(range, unit); | 58 this.tracksComponent.renderInspector(range, unit); |
50 } | 59 } |
51 | 60 |