public subscribeIsLocked(callback: (isLocked: boolean) => void): Subscription {
return this.isLockedSubject.pipe(distinctUntilChanged()).subscribe(callback);
}
public isLocked(): boolean {
return this.isLockedSubject.value;
}
public setLocked(isLocked: boolean): void {
if (this.isLockedSubject.value === isLocked) {
return;
}
this.isLockedSubject.next(isLocked);
if (isLocked) {
this.showCrosshair();
}
this.render();
}