diff Platforms/Wasm/wasm-application-runner.ts @ 313:8bdc6112bc2e am-2

initial resize of canvas
author am@osimis.io
date Wed, 03 Oct 2018 17:01:05 +0200
parents ed1a4302154f
children 97f16214dc5e
line wrap: on
line diff
--- a/Platforms/Wasm/wasm-application-runner.ts	Tue Oct 02 10:15:36 2018 +0200
+++ b/Platforms/Wasm/wasm-application-runner.ts	Wed Oct 03 17:01:05 2018 +0200
@@ -29,12 +29,12 @@
 }
 
 
-function GetUriParameters() {
+function GetUriParameters(): Map<string, string> {
   var parameters = window.location.search.substr(1);
 
   if (parameters != null &&
     parameters != '') {
-    var result = {};
+    var result = new Map<string, string>();
     var tokens = parameters.split('&');
 
     for (var i = 0; i < tokens.length; i++) {
@@ -47,7 +47,7 @@
     return result;
   }
   else {
-    return {};
+    return new Map<string, string>();
   }
 }
 
@@ -55,29 +55,32 @@
 //   console.log(statusUpdateMessage);
 // }
 
-function _InitializeWasmApplication(canvasId: string, orthancBaseUrl: string): void {
+function _InitializeWasmApplication(canvasIds: string[], orthancBaseUrl: string): void {
 
-  /************************************** */
   CreateWasmApplication();
   WasmWebService_SetBaseUri(orthancBaseUrl);
 
 
   // parse uri and transmit the parameters to the app before initializing it
-  var parameters = GetUriParameters();
+  let parameters = GetUriParameters();
 
-  for (var key in parameters) {
+  for (let key in parameters) {
     if (parameters.hasOwnProperty(key)) {
       SetStartupParameter(key, parameters[key]);
     }
   }
 
   StartWasmApplication();
-  /************************************** */
+
+  // trigger a first resize of the canvas that have just been initialized
+  for (let canvasId of canvasIds) {
+    Stone.WasmViewport.GetFromCanvasId(canvasId).Resize();
+  }
 
   UpdateContentThread();
 }
 
-function InitializeWasmApplication(wasmModuleName: string, orthancBaseUrl: string) {
+function InitializeWasmApplication(wasmModuleName: string, orthancBaseUrl: string, canvasIds: string[]) {
   
   Stone.Framework.Configure(wasmModuleName);
 
@@ -107,6 +110,6 @@
       event.preventDefault();
     }, false);
 
-    _InitializeWasmApplication("canvas", orthancBaseUrl);
+    _InitializeWasmApplication(canvasIds, orthancBaseUrl);
   });
 }
\ No newline at end of file