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;