@api.video/media-stream-composer
Version:
api.video media stream composer
48 lines (47 loc) • 1.24 kB
TypeScript
import { Stream } from "./stream/stream";
type StreamMouseLocation = "inside" | "circle" | "top" | "bottom" | "left" | "right";
export interface ClickEvent {
x: number;
y: number;
stream?: Stream;
}
export interface MoveEvent {
x: number;
y: number;
stream?: Stream;
locations?: StreamMouseLocation[];
}
export interface DragEvent {
x: number;
y: number;
dragStart: DragStart;
}
export interface DragStart {
x: number;
y: number;
circleRadius?: number;
streamWidth?: number;
streamHeight?: number;
offsetX?: number;
offsetY?: number;
stream?: Stream;
locations?: StreamMouseLocation[];
}
export default class MouseEventListener {
private streams;
private onClickListeners;
private onDragListeners;
private onDragEndListeners;
private onMoveListeners;
private dragStart?;
private overStream?;
constructor(canvas: HTMLCanvasElement, streams: Stream[]);
onClick(listener: (e: ClickEvent) => void): void;
onDrag(listener: (e: DragEvent) => void): void;
onDragEnd(listener: () => void): void;
onMove(listener: (e: MoveEvent) => void): void;
private mouseUp;
private mouseDown;
private mouseMove;
}
export {};