UNPKG

@gorpacrate/core-graphics

Version:

A core library for creating shape-based graphic editors

32 lines 1.3 kB
"use strict"; exports.__esModule = true; var i = require("icepick"); var declarations_1 = require("../../declarations"); function updateCursorState(state, cursor) { return i.assocIn(state, ['mouse', 'cursor'], cursor); } function cursorStateReducer(currentState) { var mode = currentState.mode; if (declarations_1.isResizingMode(mode)) { var cursor = mode.payload.handle.cursor; return updateCursorState(currentState, cursor); } if (declarations_1.isMovingMode(mode)) { return updateCursorState(currentState, 'move'); } if (declarations_1.isDrawingShapeMode(mode)) { var shapesDeclarations = currentState.shapesDeclarations; var shapeType = mode.payload.shapeType; var drawingModeCursor = shapesDeclarations[shapeType].drawingModeCursor; return updateCursorState(currentState, drawingModeCursor); } if (declarations_1.isRubberBandSelectionMode(mode)) { return updateCursorState(currentState, 'default'); } if (declarations_1.isMovingViewportMode(mode)) { return updateCursorState(currentState, mode.payload.moving ? 'move' : 'default'); } return i.merge(currentState, { mouse: { cursor: undefined } }); } exports["default"] = cursorStateReducer; //# sourceMappingURL=cursor.js.map