dev@345: /** dev@345: * Created by lucast on 23/05/2017. dev@345: */ dev@345: import { dev@345: ChangeDetectionStrategy, dev@345: Component, dev@345: Input, dev@345: AfterViewInit, dev@401: ChangeDetectorRef, OnDestroy dev@345: } from '@angular/core'; dev@345: import {TimePixelMapper} from './PlayHeadHelpers'; dev@401: import { dev@401: RenderLoopService, dev@401: TaskRemover dev@401: } from '../services/render-loop/render-loop.service'; dev@345: dev@345: @Component({ dev@345: selector: 'ugly-live-play-head', dev@345: template: ``, dev@345: changeDetection: ChangeDetectionStrategy.OnPush dev@345: }) dev@401: export class LivePlayHeadComponent implements AfterViewInit, OnDestroy { dev@345: @Input() timeToPixel: TimePixelMapper; dev@345: @Input() colour: string; dev@345: private currentTime = 0; dev@401: private remover: TaskRemover; dev@345: dev@398: constructor(private renderLoop: RenderLoopService, dev@398: private ref: ChangeDetectorRef) {} dev@345: dev@345: ngAfterViewInit(): void { dev@401: this.remover = this.renderLoop.addPlayingTask((currentTime) => { dev@398: this.currentTime = currentTime; dev@398: this.ref.markForCheck(); dev@345: }); dev@345: } dev@401: ngOnDestroy(): void { dev@401: this.remover(); dev@401: } dev@345: }