@remotion/studio
Version:
APIs for interacting with the Remotion Studio
56 lines (55 loc) • 2.24 kB
TypeScript
export declare const canScrollTimelineIntoDirection: () => {
canScrollRight: boolean;
canScrollLeft: boolean;
};
export declare const getFrameWhileScrollingLeft: ({ durationInFrames, width, }: {
durationInFrames: number;
width: number;
}) => number;
export declare const isCursorInViewport: ({ frame, durationInFrames, }: {
frame: number;
durationInFrames: number;
}) => boolean;
export declare const ensureFrameIsInViewport: ({ direction, durationInFrames, frame, }: {
direction: "center" | "fit-left" | "fit-right" | "page-left" | "page-right";
durationInFrames: number;
frame: number;
}) => void;
export declare const scrollToTimelineXOffset: (scrollPos: number) => void;
export declare const getScrollPositionForCursorOnLeftEdge: ({ nextFrame, durationInFrames, }: {
nextFrame: number;
durationInFrames: number;
}) => number;
export declare const getScrollPositionForCursorOnRightEdge: ({ nextFrame, durationInFrames, }: {
nextFrame: number;
durationInFrames: number;
}) => number;
export declare const getFrameIncrementFromWidth: (durationInFrames: number, width: number) => number;
export declare const getFrameWhileScrollingRight: ({ durationInFrames, width, }: {
durationInFrames: number;
width: number;
}) => number;
export declare const getFrameFromX: ({ clientX, durationInFrames, width, extrapolate, }: {
clientX: number;
durationInFrames: number;
width: number;
extrapolate: "clamp" | "extend";
}) => number;
/**
* Horizontal position inside the scrollable timeline content (0 … scrollWidth)
* for a viewport `clientX`, so pinch-anchoring matches the pointer (not a
* rounded frame index).
*/
export declare const viewportClientXToScrollContentX: ({ clientX, scrollEl, }: {
clientX: number;
scrollEl: HTMLDivElement;
}) => number;
export declare const zoomAndPreserveCursor: ({ oldZoom, newZoom, currentFrame, currentDurationInFrames, anchorFrame, anchorContentX, }: {
oldZoom: number;
newZoom: number;
currentFrame: number;
currentDurationInFrames: number;
anchorFrame: number | null;
/** Prefer this over `anchorFrame` when not null (subpixel-accurate anchor). */
anchorContentX: number | null;
}) => void;