@ue-too/board-konva-integration 0.13.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +2 -0
- package/index.js.map +3 -1
- package/package.json +4 -4
package/index.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
class r{_stage;_kmtInputStateMachine;_inputOrchestrator;_keyfirstPressed;_abortController;constructor(e,t,n){this._stage=e,this._kmtInputStateMachine=t,this._inputOrchestrator=n,this._keyfirstPressed=new Map,this.bindFunctions(),this._abortController=new AbortController}bindFunctions(){this.pointerDownHandler=this.pointerDownHandler.bind(this),this.pointerUpHandler=this.pointerUpHandler.bind(this),this.pointerMoveHandler=this.pointerMoveHandler.bind(this),this.scrollHandler=this.scrollHandler.bind(this),this.keydownHandler=this.keydownHandler.bind(this),this.keyupHandler=this.keyupHandler.bind(this)}setUp(){this._stage.on("pointerdown",this.pointerDownHandler),this._stage.on("pointerup",this.pointerUpHandler),this._stage.on("pointermove",this.pointerMoveHandler),this._stage.on("wheel",this.scrollHandler),window.addEventListener("keydown",this.keydownHandler,{signal:this._abortController.signal}),window.addEventListener("keyup",this.keyupHandler,{signal:this._abortController.signal})}tearDown(){this._stage.off("pointerdown",this.pointerDownHandler),this._stage.off("pointerup",this.pointerUpHandler),this._stage.off("pointermove",this.pointerMoveHandler),this._stage.off("wheel",this.scrollHandler),this._abortController.abort(),this._abortController=new AbortController}processEvent(...e){let t=this._kmtInputStateMachine.happens(...e);if(t.handled&&"output"in t)this._inputOrchestrator.processInputEventOutput(t.output)}pointerDownHandler(e){let t=e.evt;if(t.button===0&&t.pointerType==="mouse"){this.processEvent("leftPointerDown",{x:t.clientX,y:t.clientY});return}if(t.button===1&&t.pointerType==="mouse"){this.processEvent("middlePointerDown",{x:t.clientX,y:t.clientY});return}}pointerUpHandler(e){let t=e.evt;if(t.button===0&&t.pointerType==="mouse"){this.processEvent("leftPointerUp",{x:t.clientX,y:t.clientY});return}if(t.button===1&&t.pointerType==="mouse"){this.processEvent("middlePointerUp",{x:t.clientX,y:t.clientY});return}}pointerMoveHandler(e){let t=e.evt;if(t.buttons===1&&t.pointerType==="mouse"){this.processEvent("leftPointerMove",{x:t.clientX,y:t.clientY});return}if(t.buttons===4&&t.pointerType==="mouse"){this.processEvent("middlePointerMove",{x:t.clientX,y:t.clientY});return}this.processEvent("pointerMove",{x:t.clientX,y:t.clientY})}scrollHandler(e){let t=e.evt;if(t.ctrlKey)this.processEvent("scrollWithCtrl",{x:t.clientX,y:t.clientY,deltaX:t.deltaX,deltaY:t.deltaY});else this.processEvent("scroll",{x:t.clientX,y:t.clientY,deltaX:t.deltaX,deltaY:t.deltaY})}keydownHandler(e){if(this._keyfirstPressed.has(e.key))return;if(this._keyfirstPressed.set(e.key,!0),e.key===" ")this.processEvent("spacebarDown")}keyupHandler(e){if(this._keyfirstPressed.has(e.key))this._keyfirstPressed.delete(e.key);if(e.key===" ")this.processEvent("spacebarUp")}}export{r as KonvaInputParser};
|
|
2
2
|
|
|
3
3
|
//# debugId=A936ABE444886BE564756E2164756E21
|
|
4
|
+
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": [
|
|
3
|
+
"sources": [
|
|
4
|
+
"konva-input-event-parser.ts"
|
|
5
|
+
],
|
|
4
6
|
"sourcesContent": [
|
|
5
7
|
"import { KonvaEventObject } from \"konva/lib/Node\";\nimport { Stage } from \"konva/lib/Stage\";\nimport { InputOrchestrator, KmtInputEventMapping, KmtInputStateMachine } from \"@ue-too/board\";\nimport { EventArgs } from \"@ue-too/being\";\n\nexport class KonvaInputParser {\n private _stage: Stage;\n private _kmtInputStateMachine: KmtInputStateMachine;\n private _inputOrchestrator: InputOrchestrator;\n private _keyfirstPressed: Map<string, boolean>;\n private _abortController: AbortController;\n\n constructor(stage: Stage, kmtInputStateMachine: KmtInputStateMachine, inputOrchestrator: InputOrchestrator){\n this._stage = stage;\n this._kmtInputStateMachine = kmtInputStateMachine;\n this._inputOrchestrator = inputOrchestrator;\n this._keyfirstPressed = new Map();\n this.bindFunctions();\n this._abortController = new AbortController();\n }\n\n bindFunctions(){\n this.pointerDownHandler = this.pointerDownHandler.bind(this);\n this.pointerUpHandler = this.pointerUpHandler.bind(this);\n this.pointerMoveHandler = this.pointerMoveHandler.bind(this);\n this.scrollHandler = this.scrollHandler.bind(this);\n this.keydownHandler = this.keydownHandler.bind(this);\n this.keyupHandler = this.keyupHandler.bind(this);\n }\n\n setUp(){\n this._stage.on(\"pointerdown\", this.pointerDownHandler);\n this._stage.on(\"pointerup\", this.pointerUpHandler);\n this._stage.on(\"pointermove\", this.pointerMoveHandler);\n this._stage.on(\"wheel\", this.scrollHandler);\n window.addEventListener(\"keydown\", this.keydownHandler, {signal: this._abortController.signal});\n window.addEventListener(\"keyup\", this.keyupHandler, {signal: this._abortController.signal});\n }\n\n tearDown(){\n this._stage.off(\"pointerdown\", this.pointerDownHandler);\n this._stage.off(\"pointerup\", this.pointerUpHandler);\n this._stage.off(\"pointermove\", this.pointerMoveHandler);\n this._stage.off(\"wheel\", this.scrollHandler);\n this._abortController.abort();\n this._abortController = new AbortController();\n }\n\n private processEvent<K extends keyof KmtInputEventMapping>(\n ...args: EventArgs<KmtInputEventMapping, K>\n ): void {\n const result = this._kmtInputStateMachine.happens(...args);\n if (result.handled && \"output\" in result) {\n this._inputOrchestrator.processInputEventOutput(result.output);\n }\n }\n\n pointerDownHandler(eventObject: KonvaEventObject<PointerEvent, Stage>){\n const event = eventObject.evt;\n if(event.button === 0 && event.pointerType === \"mouse\"){\n this.processEvent(\"leftPointerDown\", {x: event.clientX, y: event.clientY});\n return;\n }\n if(event.button === 1 && event.pointerType === \"mouse\"){\n this.processEvent(\"middlePointerDown\", {x: event.clientX, y: event.clientY});\n return;\n }\n }\n\n pointerUpHandler(eventObject: KonvaEventObject<PointerEvent, Stage>){\n const e = eventObject.evt;\n if(e.button === 0 && e.pointerType === \"mouse\"){\n this.processEvent(\"leftPointerUp\", {x: e.clientX, y: e.clientY});\n return;\n }\n if(e.button === 1 && e.pointerType === \"mouse\"){\n this.processEvent(\"middlePointerUp\", {x: e.clientX, y: e.clientY});\n return;\n }\n }\n\n pointerMoveHandler(eventObject: KonvaEventObject<PointerEvent, Stage>){\n const e = eventObject.evt;\n if((e.buttons === 1) && e.pointerType === \"mouse\"){\n this.processEvent(\"leftPointerMove\", {x: e.clientX, y: e.clientY});\n return;\n }\n if((e.buttons === 4) && e.pointerType === \"mouse\"){\n this.processEvent(\"middlePointerMove\", {x: e.clientX, y: e.clientY});\n return;\n }\n this.processEvent(\"pointerMove\", {x: e.clientX, y: e.clientY});\n }\n\n scrollHandler(eventObject: KonvaEventObject<WheelEvent, Stage>){\n const e = eventObject.evt;\n if(e.ctrlKey){\n this.processEvent(\"scrollWithCtrl\", {x: e.clientX, y: e.clientY, deltaX: e.deltaX, deltaY: e.deltaY});\n } else {\n this.processEvent(\"scroll\", {x: e.clientX, y: e.clientY, deltaX: e.deltaX, deltaY: e.deltaY});\n }\n }\n\n keydownHandler(event: KeyboardEvent){\n if(this._keyfirstPressed.has(event.key)){\n return;\n }\n this._keyfirstPressed.set(event.key, true);\n if(event.key === \" \"){\n this.processEvent(\"spacebarDown\");\n }\n }\n\n keyupHandler(event: KeyboardEvent){\n if(this._keyfirstPressed.has(event.key)){\n this._keyfirstPressed.delete(event.key);\n }\n if(event.key === \" \"){\n this.processEvent(\"spacebarUp\");\n }\n }\n}\n"
|
|
6
8
|
],
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ue-too/board-konva-integration",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.14.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
"types": "./index.d.ts",
|
|
24
24
|
"module": "./index.js",
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@ue-too/board": "^0.
|
|
27
|
-
"@ue-too/being": "^0.
|
|
28
|
-
"@ue-too/math": "^0.
|
|
26
|
+
"@ue-too/board": "^0.14.0",
|
|
27
|
+
"@ue-too/being": "^0.14.0",
|
|
28
|
+
"@ue-too/math": "^0.14.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"konva": "10.0.12"
|