import paper from 'paper';
import {
horizontalBlocks,
horizontalDivisions,
verticalBlocks,
verticalDivisions,
verticalRatio,
} from './constants';
import { layers } from './layers';
let cellWidth = 0;
let cellHeight = 0;
let marginX = 0;
let marginY = 0;
const mapRatio =
(horizontalBlocks * horizontalDivisions) /
(verticalBlocks * verticalDivisions) /
verticalRatio;
export function resizeCoordinates() {
const screenRatio = paper.view.size.width / paper.view.size.height;
const horizontallyContrained = screenRatio <= mapRatio;
const viewWidth = paper.view.size.width * paper.view.scaling.x;
const viewHeight = paper.view.size.height * paper.view.scaling.y;
if (horizontallyContrained) {
marginX = paper.view.size.width * 0.1;
const width = viewWidth - marginX * 2;
const blockWidth = width / horizontalBlocks;
cellWidth = blockWidth / horizontalDivisions;
cellHeight = cellWidth * verticalRatio;
const blockHeight = cellHeight * verticalDivisions;
const height = blockHeight * verticalBlocks;
marginY = (viewHeight - height) / 2;
} else {
marginY = viewHeight * 0.1;
const height = viewHeight - marginY * 2;
const blockHeight = height / verticalBlocks;
cellHeight = blockHeight / verticalDivisions;
cellWidth = cellHeight / verticalRatio;
const blockWidth = cellWidth * horizontalDivisions;
const width = blockWidth * horizontalBlocks;
marginX = (viewWidth - width) / 2;
}
layers.mapLayer.position = new paper.Point(marginX, marginY);
layers.mapLayer.scaling = new paper.Point(cellWidth, cellHeight);
layers.mapOverlayLayer.position = new paper.Point(marginX, marginY);
layers.mapOverlayLayer.scaling = new paper.Point(cellWidth, cellHeight);
layers.mapIconLayer.position = new paper.Point(marginX, marginY);
layers.mapIconLayer.scaling = new paper.Point(cellWidth, cellHeight);
}