react-easy-diagram
Version:
<img src="https://github.com/tokarchyn/react-easy-diagram/blob/main/repo/logo-with-name.png?raw=true" alt="React Easy Diagram logo" height="50">
41 lines • 1.81 kB
TypeScript
import { IUserInteractionTranslate, IUserInteractionTranslateAndZoom } from "../hooks/userInteractions/common";
import { HtmlElementRefState } from "./htmlElementRefState";
import { RootStore } from "./rootStore";
import { Point } from "../utils/point";
export declare class DiagramState implements IUserInteractionTranslate, IUserInteractionTranslateAndZoom {
private _offset;
private _zoom;
private _ref;
private _rootStore;
private _importGenerationId;
constructor(rootStore: RootStore);
import: (state?: IDiagramState | undefined) => void;
export: () => IDiagramState;
setOffset: (newOffset: Point | null | undefined) => void;
setZoom: (newZoom: number | null | undefined) => void;
incrementImportGenerationId: () => void;
get importGenerationId(): number;
zoomIn: () => void;
zoomOut: () => void;
zoomInto: (pointToZoomInto: Point, zoomMultiplicator: number) => void;
setTransformation: (newOffset: Point, newZoom: number) => void;
translate: (translateBy: Point) => void;
translateAndZoomInto: (translateBy: Point, pointToZoomInto: Point, zoomMultiplicator: number) => void;
zoomIntoCenter: (zoomMultiplicator: number) => void;
get ref(): HtmlElementRefState;
get offset(): Point;
get zoom(): number;
getRenderedZoom(): number | null;
/**
* Get position on Diagram in its coordinates system (including zoom) by mouse/touch position.
* @param pointerPosition position of mouse or finger on the screen
*/
getPositionByPointer: (pointerPosition: Point) => Point;
zoomToFit: () => void;
private _getNodesBoundingBoxWithPadding;
}
export interface IDiagramState {
offset: Point;
zoom: number;
}
//# sourceMappingURL=diagramState.d.ts.map