Mercurial > hg > orthanc-stone
comparison Platforms/Wasm/wasm-viewport.ts @ 327:8716176ff7f0 am-2
added support for arrow keys
author | am@osimis.io |
---|---|
date | Tue, 16 Oct 2018 15:25:21 +0200 |
parents | 97f16214dc5e |
children | 8bf717c4e497 |
comparison
equal
deleted
inserted
replaced
326:612238b3f3e8 | 327:8716176ff7f0 |
---|---|
78 this.ViewportMouseMove = this.module_.cwrap('ViewportMouseMove', null, [ 'number', 'number', 'number' ]); | 78 this.ViewportMouseMove = this.module_.cwrap('ViewportMouseMove', null, [ 'number', 'number', 'number' ]); |
79 this.ViewportMouseUp = this.module_.cwrap('ViewportMouseUp', null, [ 'number' ]); | 79 this.ViewportMouseUp = this.module_.cwrap('ViewportMouseUp', null, [ 'number' ]); |
80 this.ViewportMouseEnter = this.module_.cwrap('ViewportMouseEnter', null, [ 'number' ]); | 80 this.ViewportMouseEnter = this.module_.cwrap('ViewportMouseEnter', null, [ 'number' ]); |
81 this.ViewportMouseLeave = this.module_.cwrap('ViewportMouseLeave', null, [ 'number' ]); | 81 this.ViewportMouseLeave = this.module_.cwrap('ViewportMouseLeave', null, [ 'number' ]); |
82 this.ViewportMouseWheel = this.module_.cwrap('ViewportMouseWheel', null, [ 'number', 'number', 'number', 'number', 'number' ]); | 82 this.ViewportMouseWheel = this.module_.cwrap('ViewportMouseWheel', null, [ 'number', 'number', 'number', 'number', 'number' ]); |
83 this.ViewportKeyPressed = this.module_.cwrap('ViewportKeyPressed', null, [ 'number', 'string', 'number', 'number' ]); | 83 this.ViewportKeyPressed = this.module_.cwrap('ViewportKeyPressed', null, [ 'number', 'number', 'string', 'number', 'number' ]); |
84 } | 84 } |
85 | 85 |
86 public GetCppViewport() : number { | 86 public GetCppViewport() : number { |
87 return this.pimpl_; | 87 return this.pimpl_; |
88 } | 88 } |
202 this.htmlCanvas_.addEventListener('mouseup', function(event) { | 202 this.htmlCanvas_.addEventListener('mouseup', function(event) { |
203 that.ViewportMouseUp(that.pimpl_); | 203 that.ViewportMouseUp(that.pimpl_); |
204 }); | 204 }); |
205 | 205 |
206 window.addEventListener('keydown', function(event) { | 206 window.addEventListener('keydown', function(event) { |
207 that.ViewportKeyPressed(that.pimpl_, event.key, event.shiftKey, event.ctrlKey, event.altKey); | 207 var keyChar = event.key; |
208 var keyCode = event.keyCode | |
209 if (keyChar.length == 1) { | |
210 keyCode = 0; // maps to OrthancStone::KeyboardKeys_Generic | |
211 } else { | |
212 keyChar = null; | |
213 } | |
214 // console.log("key: ", keyCode, keyChar); | |
215 that.ViewportKeyPressed(that.pimpl_, keyCode, keyChar, event.shiftKey, event.ctrlKey, event.altKey); | |
208 }); | 216 }); |
209 | 217 |
210 this.htmlCanvas_.addEventListener('wheel', function(event) { | 218 this.htmlCanvas_.addEventListener('wheel', function(event) { |
211 var x = event.pageX - this.offsetLeft; | 219 var x = event.pageX - this.offsetLeft; |
212 var y = event.pageY - this.offsetTop; | 220 var y = event.pageY - this.offsetTop; |