UNPKG

@turbox3d/event-manager

Version:

Large-scale productivity application event management library

52 lines 1.56 kB
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck"; import _createClass from "@babel/runtime/helpers/esm/createClass"; import { CoordinateType } from './type'; export var SceneEvent = /*#__PURE__*/function () { function SceneEvent(event, getCoordinateCtrl, hitTargetOriginalByPoint, extra) { _classCallCheck(this, SceneEvent); this.event = event; this.getCoordinateCtrl = getCoordinateCtrl; this.hitTargetOriginalByPoint = hitTargetOriginalByPoint; this.extra = extra; } /** * 屏幕坐标 */ return _createClass(SceneEvent, [{ key: "screenPosition", get: function get() { var extra = this.extra; if (extra && extra.mouseDownInfo) { return { x: extra.mouseDownInfo.x, y: extra.mouseDownInfo.y }; } return { x: this.event.clientX, y: this.event.clientY }; } /** * 画布坐标 */ }, { key: "canvasPosition", get: function get() { return this.getCoordinateCtrl().transform(this.screenPosition, CoordinateType.ScreenToCanvas); } /** * 场景世界坐标 */ }, { key: "getScenePosition", value: function getScenePosition(z) { return this.getCoordinateCtrl().transform(this.screenPosition, CoordinateType.ScreenToScene, z); } }], [{ key: "create", value: function create(event, getCoordinateCtrl, hitTargetOriginalByPoint, extra) { return new SceneEvent(event, getCoordinateCtrl, hitTargetOriginalByPoint, extra); } }]); }();