@irysius/grid-math
Version:
Tools to assist with grid math and algorithms
42 lines (41 loc) • 1.54 kB
JavaScript
(function (factory) {
if (typeof module === "object" && typeof module.exports === "object") {
var v = factory(require, exports);
if (v !== undefined) module.exports = v;
}
else if (typeof define === "function" && define.amd) {
define(["require", "exports", "./Gravity"], factory);
}
})(function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const Gravity_1 = require("./Gravity");
function cellOffset(cellSize, gravity) {
let ns = Gravity_1.northOrSouth(gravity);
let ew = Gravity_1.eastOrWest(gravity);
let x = (function () {
switch (ew) {
case Gravity_1.default.East:
return cellSize.width;
case Gravity_1.default.West:
return 0;
case Gravity_1.default.Center:
return cellSize.width / 2;
}
})();
let y = (function () {
switch (ns) {
case Gravity_1.default.North:
return 0;
case Gravity_1.default.South:
return cellSize.height;
case Gravity_1.default.Center:
return cellSize.height / 2;
}
})();
return { x, y };
}
exports.cellOffset = cellOffset;
});
// an offset of 0,0 indicates original for cell is top left
// an offset of 0.5,0.5 indicates cell center.