import BaseFoundation, { DefaultAdapter } from "../base/foundation"; export interface PreviewImageAdapter
, S = Record {
getContainer: () => HTMLDivElement;
getImage: () => HTMLImageElement;
setLoading: (loading: boolean) => void;
setImageCursor: (canDrag: boolean) => void;
}
export interface DragDirection {
canDragVertical: boolean;
canDragHorizontal: boolean;
}
export interface ExtremeTranslate {
x: number;
y: number;
}
export interface Offset {
x: number;
y: number;
}
export interface Translate {
x: number;
y: number;
}
interface CalcBoundingRectMouseOffset {
offset: Offset;
width: number;
height: number;
rotation?: number;
}
export interface BoundingRectSize {
width: number;
height: number;
}
export default class PreviewImageFoundation , S = Record );
startMouseClientPosition: {
x: number;
y: number;
};
originImageWidth: any;
originImageHeight: any;
containerWidth: number;
containerHeight: number;
init(): void;
_isImageVertical: () => boolean;
_getContainerBoundingRectSize: () => void;
_getAdaptationZoom: () => number;
_getInitialZoom: () => number;
setLoading: (loading: boolean) => void;
handleWindowResize: () => void;
handleLoad: (e: any) => void;
handleError: (e: any) => void;
handleRatioChange: () => void;
initializeImageZoom: (notify?: boolean) => void;
initializeTranslate: () => void;
initializeImage: (notify?: boolean) => void;
handleRightClickImage: (e: any) => boolean;
calcBoundingRectSize(width?: number, height?: number, rotation?: number): {
width: number;
height: number;
};
getCanDragDirection: (width: number, height: number) => DragDirection;
changeZoom: (newZoom: number, e?: WheelEvent) => void;
getExtremeTranslate: (width: number, height: number) => ExtremeTranslate;
getSafeTranslate: (width: number, height: number, translateX: number, translateY: number) => {
x: number;
y: number;
};
handleImageMove: (e: MouseEvent) => void;
moveImage: (e: MouseEvent) => void;
handleImageMouseDown: (e: any) => void;
calcBoundingRectMouseOffset: (calcBoundingRectMouseOffset: CalcBoundingRectMouseOffset) => {
x: number;
y: number;
};
}
export {};