diff options
| author | Maze Winther <mazewinther@gmail.com> | 2025-07-17 17:22:53 +0200 |
|---|---|---|
| committer | Maze Winther <mazewinther@gmail.com> | 2025-07-17 17:22:53 +0200 |
| commit | 4e5e9756c81cb8c8885be652a1dbb56b179c2e04 (patch) | |
| tree | 6b3f3e246ee326adf3371861610433bb5c711014 /apps/web/src/components/editor/timeline-canvas/timeline-canvas-ruler-wrapper.tsx | |
| parent | ce47e88e3482a55e4ed4c1c790ce85fd9109a2ee (diff) | |
| parent | b97a30824e3d9758850281aa40e64d074126d1cb (diff) | |
| download | opencut-4e5e9756c81cb8c8885be652a1dbb56b179c2e04.tar.gz | |
Merge branch 'main' of https://github.com/mazeincoding/AppCut
Diffstat (limited to 'apps/web/src/components/editor/timeline-canvas/timeline-canvas-ruler-wrapper.tsx')
| -rw-r--r-- | apps/web/src/components/editor/timeline-canvas/timeline-canvas-ruler-wrapper.tsx | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/apps/web/src/components/editor/timeline-canvas/timeline-canvas-ruler-wrapper.tsx b/apps/web/src/components/editor/timeline-canvas/timeline-canvas-ruler-wrapper.tsx new file mode 100644 index 00000000..c0efc19e --- /dev/null +++ b/apps/web/src/components/editor/timeline-canvas/timeline-canvas-ruler-wrapper.tsx @@ -0,0 +1,24 @@ +import { TimelineCanvasRulerWrapperProps } from "@/types/timeline"; +import React, { forwardRef } from "react"; + +/** + * Wrapper div around the canvas-based timeline ruler. + * Captures mouse events for scrubbing and ensures pointer events are properly enabled. + */ +const TimelineCanvasRulerWrapper = forwardRef< + HTMLDivElement, + TimelineCanvasRulerWrapperProps +>(({ children, onMouseDown, className = "" }, ref) => { + return ( + <div + ref={ref} + className={`relative overflow-hidden h-5 w-full select-none cursor-pointer ${className}`} + onMouseDown={onMouseDown} + data-ruler-wrapper + > + {children} + </div> + ); +}); + +export default TimelineCanvasRulerWrapper; |
