matrix-react-sdk
Version:
SDK for matrix.org using React
67 lines (66 loc) • 1.73 kB
TypeScript
import React from "react";
import { MatrixEvent } from "matrix-js-sdk/src/matrix";
import { RoomPermalinkCreator } from "../../../utils/permalinks/Permalinks";
interface IProps {
src: string;
name?: string;
link?: string;
width?: number;
height?: number;
fileSize?: number;
mxEvent?: MatrixEvent;
permalinkCreator?: RoomPermalinkCreator;
thumbnailInfo?: {
positionX: number;
positionY: number;
width: number;
height: number;
};
onFinished(): void;
}
interface IState {
zoom: number;
minZoom: number;
maxZoom: number;
rotation: number;
translationX: number;
translationY: number;
moving: boolean;
contextMenuDisplayed: boolean;
}
export default class ImageView extends React.Component<IProps, IState> {
constructor(props: IProps);
private contextMenuButton;
private focusLock;
private imageWrapper;
private image;
private initX;
private initY;
private previousX;
private previousY;
private animatingLoading;
private imageIsLoaded;
componentDidMount(): void;
componentWillUnmount(): void;
private imageLoaded;
private recalculateZoom;
private setZoomAndRotation;
private zoomDelta;
private zoom;
private onWheel;
private onZoomInClick;
private onZoomOutClick;
private onKeyDown;
private onRotateCounterClockwiseClick;
private onRotateClockwiseClick;
private onDownloadClick;
private onOpenContextMenu;
private onCloseContextMenu;
private onPermalinkClicked;
private onStartMoving;
private onMoving;
private onEndMoving;
private renderContextMenu;
render(): React.ReactNode;
}
export {};