Signature
useTimelineCanvasLayer(canvasRef: RefObject<HTMLCanvasElement | null>, options: UseTimelineCanvasLayerOptions<TrackKind>): TimelineCanvasLayerHandleType parameters
| Name | Constraint | Default | Description |
|---|---|---|---|
TrackKind | None | string | App-defined track kind values carried by draw geometry. |
Parameters
| Name | Type | Description |
|---|---|---|
| canvasRef | RefObject<HTMLCanvasElement | null> | Ref for the app-owned canvas element to size and draw. |
| options | UseTimelineCanvasLayerOptions<TrackKind> | Drawing callback, geometry overrides, and redraw behavior. |
Returns
Imperative handle for manually scheduling redraws.
Examples
import { useRef } from 'react';import { useTimelineCanvasLayer } from '@techsquidtv/canvas-timeline-renderer';
export function WaveformLayer() { const canvasRef = useRef<HTMLCanvasElement>(null);
useTimelineCanvasLayer(canvasRef, { overscanPixels: 240, draw: ({ ctx, visibleClips }) => { ctx.fillStyle = 'rgba(20, 184, 166, 0.35)';
for (const entry of visibleClips) { ctx.fillRect(entry.x, entry.y + entry.height / 2, entry.width, 2); } }, });
return <canvas ref={canvasRef} className="timeline-custom-canvas-layer" />;}