@gorpacrate/core-graphics
Version:
A core library for creating shape-based graphic editors
36 lines • 1.45 kB
JavaScript
;
exports.__esModule = true;
var tslib_1 = require("tslib");
var React = require("react");
var declarations_1 = require("../declarations");
var grid_1 = require("../utils/grid");
var PointerRenderer = /** @class */ (function (_super) {
tslib_1.__extends(PointerRenderer, _super);
function PointerRenderer() {
return _super !== null && _super.apply(this, arguments) || this;
}
PointerRenderer.prototype.needsRendering = function () {
var _a = this.props, grid = _a.grid, mode = _a.mode, shapesDeclarations = _a.shapesDeclarations, mouse = _a.mouse;
if (!grid.on) {
return false;
}
if (!mouse.inside) {
return false;
}
if (declarations_1.isDrawingShapeMode(mode) && !shapesDeclarations[mode.payload.shapeType].ignoreGrid) {
return true;
}
return false;
};
PointerRenderer.prototype.render = function () {
if (!this.needsRendering()) {
return null;
}
var _a = this.props, mouse = _a.mouse, grid = _a.grid;
var _b = grid_1.snapCoordsIfNeeded(grid, mouse), x = _b.x, y = _b.y;
return (React.createElement("circle", { cx: x + 0.5, cy: y + 0.5, r: '2', fill: 'rgba(0,0,0,0.2)', stroke: 'rgba(0,0,0,0.4)', strokeWidth: '1' }));
};
return PointerRenderer;
}(React.Component));
exports["default"] = PointerRenderer;
//# sourceMappingURL=pointer-renderer.js.map