UNPKG

@turbox3d/event-manager

Version:

Large-scale productivity application event management library

87 lines (86 loc) 2.88 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.CoordinateController = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _type = require("./type"); var CoordinateController = exports.CoordinateController = /*#__PURE__*/function () { function CoordinateController(_ref) { var getCanvasRectImpl = _ref.getCanvasRectImpl, canvasToSceneImpl = _ref.canvasToSceneImpl, sceneToCanvasImpl = _ref.sceneToCanvasImpl; (0, _classCallCheck2["default"])(this, CoordinateController); this.getCanvasRectImpl = getCanvasRectImpl; this.canvasToSceneImpl = canvasToSceneImpl; this.sceneToCanvasImpl = sceneToCanvasImpl; } /** * 将坐标进行转化 */ return (0, _createClass2["default"])(CoordinateController, [{ key: "transform", value: function transform(point, type, z) { switch (type) { case _type.CoordinateType.ScreenToCanvas: return this.screenToCanvas(point); case _type.CoordinateType.ScreenToScene: return this.screenToScene(point, z); case _type.CoordinateType.CanvasToScreen: return this.canvasToScreen(point); case _type.CoordinateType.CanvasToScene: return this.canvasToScene(point, z); case _type.CoordinateType.SceneToScreen: return this.sceneToScreen(point); case _type.CoordinateType.SceneToCanvas: return this.sceneToCanvas(point); default: return point; } } }, { key: "screenToCanvas", value: function screenToCanvas(point) { var _this$getCanvasRectIm = this.getCanvasRectImpl(), x = _this$getCanvasRectIm.x, y = _this$getCanvasRectIm.y; return { x: point.x - x, y: point.y - y }; } }, { key: "canvasToScreen", value: function canvasToScreen(point) { var _this$getCanvasRectIm2 = this.getCanvasRectImpl(), x = _this$getCanvasRectIm2.x, y = _this$getCanvasRectIm2.y; return { x: point.x + x, y: point.y + y }; } }, { key: "canvasToScene", value: function canvasToScene(point, z) { return this.canvasToSceneImpl(point, z); } }, { key: "sceneToCanvas", value: function sceneToCanvas(point) { return this.sceneToCanvasImpl(point); } }, { key: "screenToScene", value: function screenToScene(point, z) { return this.canvasToScene(this.screenToCanvas(point), z); } }, { key: "sceneToScreen", value: function sceneToScreen(point) { return this.canvasToScreen(this.sceneToCanvas(point)); } }]); }();