UNPKG

dotting

Version:

Dotting is a pixel art editor component library for react

127 lines (126 loc) 4.72 kB
import { TouchyEvent } from "./touch"; import { Coord, PanZoom } from "./types"; import { ColorChangeItem } from "../components/Canvas/types"; export declare const getPointFromTouchyEvent: (evt: TouchyEvent, element: HTMLCanvasElement, panZoom: PanZoom) => { y: number; x: number; offsetX: any; offsetY: any; }; export declare const getPointFromTouch: (touch: Touch, element: HTMLCanvasElement, panZoom: PanZoom) => { x: number; y: number; offsetX: number; offsetY: number; }; export declare const calculateNewPanZoomFromPinchZoom: (evt: TouchyEvent, element: HTMLCanvasElement, panZoom: PanZoom, zoomSensitivity: number, prevPinchZoomDiff: number | null, minScale: number, maxScale: number) => { pinchZoomDiff: number; panZoom: PanZoom; }; export declare const getMouseCartCoord: (evt: TouchyEvent, element: HTMLCanvasElement, panZoom: PanZoom, dpr: number) => Coord; export declare const getCenterCartCoordFromTwoTouches: (evt: TouchyEvent, element: HTMLCanvasElement, panZoom: PanZoom, dpr: number) => Coord; export declare const getPixelIndexFromMouseCartCoord: (mouseCartCoord: Coord, sortedRowIndices: number[], sortedColumnIndices: number[], gridSquareLength: number) => { rowIndex: number; columnIndex: number; }; export declare const getIsPointInsideRegion: (point: Coord, area: { startWorldPos: Coord; endWorldPos: Coord; }) => boolean; export declare const getDoesAreaOverlapPixelgrid: (area: { startWorldPos: Coord; endWorldPos: Coord; } | null, rowCount: number, columnCount: number, gridSquareLength: number) => boolean; export declare const getAreaTopLeftAndBottomRight: (area: { startWorldPos: Coord; endWorldPos: Coord; }) => { areaTopLeftPos: { x: number; y: number; }; areaBottomRightPos: { x: number; y: number; }; }; export declare const convertWorldPosAreaToPixelGridArea: (selectingArea: { startWorldPos: Coord; endWorldPos: Coord; }, rowCount: number, columnCount: number, gridSquareLength: number, rowKeysInOrder: number[], columnKeysInOrder: number[]) => { startWorldPos: Coord; endWorldPos: Coord; includedPixelsIndices: { rowIndex: number; columnIndex: number; }[]; }; export declare const returnScrollOffsetFromMouseOffset: (mouseOffset: Coord, panZoom: PanZoom, newScale: number) => Coord; /** * @summary it will return world pos relative to originpixel word pos, the origin will be set to 0,0 * @param pixelIndex - the pixelIndex passed as a parameter should be an integer */ export declare const getRelativeCornerWordPosOfPixelToOrigin: (pixelIndex: { rowIndex: number; columnIndex: number; }, originPixelIndex: { rowIndex: number; columnIndex: number; }, gridSquareLength: number) => { topLeft: { x: number; y: number; }; topRight: { x: number; y: number; }; bottomLeft: { x: number; y: number; }; bottomRight: { x: number; y: number; }; }; /** * @summary it will return the pixel indices of the corner pixels of the specific pixel * @param pixelIndex - the specific pixel index * @param halvedHeight - the halvedHeight of the pixel * @param halvedWidth - the halvedWidth of the pixel */ export declare const getCornerPixelIndices: (centerPixelIndex: { rowIndex: number; columnIndex: number; }, halvedHeight: number, halvedWidth: number) => { topLeft: { rowIndex: number; columnIndex: number; }; topRight: { rowIndex: number; columnIndex: number; }; bottomLeft: { rowIndex: number; columnIndex: number; }; bottomRight: { rowIndex: number; columnIndex: number; }; }; /** * @summary it will return the overlapping pixel indices of the pixels for an extended selected area * @param originalPixels - the original pixels * @param originPixelIndex - the origin pixel index * @param modifyPixelWidthRatio - the ratio of the width of the modified pixel to the original pixel * @param modifyPixelHeightRatio - the ratio of the height of the modified pixel to the original pixel * @param gridSquareLength - the length of the grid square * @returns the pixel indices of the overlapping pixels */ export declare const getOverlappingPixelIndicesForModifiedPixels: (originalPixels: Array<ColorChangeItem>, originPixelIndex: { rowIndex: number; columnIndex: number; }, modifyPixelWidthRatio: number, modifyPixelHeightRatio: number, gridSquareLength: number) => ColorChangeItem[];