From f67dbe6da08557a0218f2250793a9d62125eda43 Mon Sep 17 00:00:00 2001 From: Lee-Orr Date: Mon, 25 Mar 2024 16:40:38 -0400 Subject: [PATCH] click to set playhead --- studio-frontend/src/app/anim-timeline.element.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/studio-frontend/src/app/anim-timeline.element.ts b/studio-frontend/src/app/anim-timeline.element.ts index 7967ed1..c54ae49 100644 --- a/studio-frontend/src/app/anim-timeline.element.ts +++ b/studio-frontend/src/app/anim-timeline.element.ts @@ -206,6 +206,16 @@ export class AnimTimelineElement extends LitElement { studio.seekTime(updated); } + onSetPlayhead(event: PointerEvent): void { + let elementBounds = this.getBoundingClientRect(); + let relativeX = event.clientX - elementBounds.left; + let ratioX = Math.max(0, Math.min(relativeX / elementBounds.width, 1)); + const seconds = (this.rangeEnd - this.rangeStart) * ratioX + this.rangeStart; + const updated = seconds; + + studio.seekTime(updated); + } + onKeyframeDrag(id: string, event: PointerEvent): void { let elementBounds = this.getBoundingClientRect(); let relativeX = event.clientX - elementBounds.left; @@ -300,6 +310,7 @@ export class AnimTimelineElement extends LitElement { end: this.onDragEnd, })} tabindex="-1" + @click=${this.onSetPlayhead} > ${subdivisions.map(({ seconds, fraction, isMajor}, idx) => {