core-graphics
Version:
A core library for creating shape-based graphic editors
126 lines (124 loc) • 3.65 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isSelectMode = isSelectMode;
exports.isRubberBandSelectionMode = isRubberBandSelectionMode;
exports.isMovingViewportMode = isMovingViewportMode;
exports.isSelectedMode = isSelectedMode;
exports.isSubSelectedMode = isSubSelectedMode;
exports.isMovingMode = isMovingMode;
exports.isDrawingShapeMode = isDrawingShapeMode;
exports.isResizingMode = isResizingMode;
exports.modeSelect = modeSelect;
exports.modeSelected = modeSelected;
exports.modeMovingViewport = modeMovingViewport;
exports.modeRubberbandSelection = modeRubberbandSelection;
exports.modeSubSelected = modeSubSelected;
exports.modeMoving = modeMoving;
exports.modeResizing = modeResizing;
exports.modeDrawShape = modeDrawShape;
var ModeType = exports.ModeType = undefined;
(function (ModeType) {
ModeType[ModeType["Select"] = 0] = "Select";
ModeType[ModeType["Selected"] = 1] = "Selected";
ModeType[ModeType["MovingViewport"] = 2] = "MovingViewport";
ModeType[ModeType["SubSelected"] = 3] = "SubSelected";
ModeType[ModeType["Moving"] = 4] = "Moving";
ModeType[ModeType["DrawingShape"] = 5] = "DrawingShape";
ModeType[ModeType["Resizing"] = 6] = "Resizing";
ModeType[ModeType["RubberbandSelection"] = 7] = "RubberbandSelection";
})(ModeType || (exports.ModeType = ModeType = {}));
function isSelectMode(base) {
return base.type === ModeType.Select;
}
function isRubberBandSelectionMode(base) {
return base.type === ModeType.RubberbandSelection;
}
function isMovingViewportMode(base) {
return base.type === ModeType.MovingViewport;
}
function isSelectedMode(base) {
return base.type === ModeType.Selected;
}
function isSubSelectedMode(base) {
return base.type === ModeType.SubSelected;
}
function isMovingMode(base) {
return base.type === ModeType.Moving;
}
function isDrawingShapeMode(base) {
return base.type === ModeType.DrawingShape;
}
function isResizingMode(base) {
return base.type === ModeType.Resizing;
}
function modeSelect() {
return {
type: ModeType.Select,
displayName: 'Select'
};
}
function modeSelected(ids) {
return {
type: ModeType.Selected,
displayName: 'Selected',
payload: { ids: ids }
};
}
function modeMovingViewport(payload) {
if (!payload) {
return {
type: ModeType.MovingViewport,
displayName: 'Moving viewport',
payload: { moving: false, dx: 0, dy: 0 }
};
}
return {
type: ModeType.MovingViewport,
displayName: 'Moving viewport',
payload: payload
};
}
function modeRubberbandSelection(payload) {
return {
type: ModeType.RubberbandSelection,
displayName: 'Rubberband selection',
payload: payload
};
}
function modeSubSelected(id) {
return {
type: ModeType.SubSelected,
displayName: 'Sub-selected',
payload: { id: id }
};
}
function modeMoving(payload) {
return {
type: ModeType.Moving,
displayName: 'Moving',
payload: payload
};
}
function modeResizing(payload) {
return {
type: ModeType.Resizing,
displayName: 'Resizing',
payload: payload
};
}
function modeDrawShape(shapeDeclaration) {
var displayName = shapeDeclaration.displayName;
var type = shapeDeclaration.type;
return {
type: ModeType.DrawingShape,
displayName: "Draw " + displayName,
payload: {
shapeType: type,
// drawingGenerator: null,
drawnKeyPoints: [],
drawing: false
}
};
}