Mercurial > hg > orthanc-stone
diff Platforms/Wasm/wasm-viewport.ts @ 504:7cdb4634846c
Merge
author | Benjamin Golinvaux <bgo@osimis.io> |
---|---|
date | Tue, 26 Feb 2019 21:15:20 +0100 |
parents | 50229f6eb4cd 5055031f4a06 |
children | 801d2697a1b1 |
line wrap: on
line diff
--- a/Platforms/Wasm/wasm-viewport.ts Thu Jan 31 19:23:12 2019 +0100 +++ b/Platforms/Wasm/wasm-viewport.ts Tue Feb 26 21:15:20 2019 +0100 @@ -1,3 +1,6 @@ +import wasmApplicationRunner = require('./wasm-application-runner'); +//import stoneFrameworkLoader = require('./stone-framework-loader'); + var isPendingRedraw = false; function ScheduleWebViewportRedraw(cppViewportHandle: any) : void @@ -7,24 +10,26 @@ console.log('Scheduling a refresh of the viewport, as its content changed'); window.requestAnimationFrame(function() { isPendingRedraw = false; - Stone.WasmViewport.GetFromCppViewport(cppViewportHandle).Redraw(); + WasmViewport.GetFromCppViewport(cppViewportHandle).Redraw(); }); } } +(<any>window).ScheduleWebViewportRedraw = ScheduleWebViewportRedraw; + declare function UTF8ToString(any): string; function CreateWasmViewport(htmlCanvasId: string) : any { - var cppViewportHandle = CreateCppViewport(); + var cppViewportHandle = wasmApplicationRunner.CreateCppViewport(); var canvasId = UTF8ToString(htmlCanvasId); - var webViewport = new Stone.WasmViewport(StoneFrameworkModule, canvasId, cppViewportHandle); // viewports are stored in a static map in WasmViewport -> won't be deleted + var webViewport = new WasmViewport((<any> window).StoneFrameworkModule, canvasId, cppViewportHandle); // viewports are stored in a static map in WasmViewport -> won't be deleted webViewport.Initialize(); return cppViewportHandle; } + +(<any>window).CreateWasmViewport = CreateWasmViewport; -module Stone { - // export declare type InitializationCallback = () => void; // export declare var StoneFrameworkModule : any; @@ -32,7 +37,7 @@ //const ASSETS_FOLDER : string = "assets/lib"; //const WASM_FILENAME : string = "orthanc-framework"; - export class WasmViewport { +export class WasmViewport { private static viewportsMapByCppHandle_ : Map<number, WasmViewport> = new Map<number, WasmViewport>(); // key = the C++ handle private static viewportsMapByCanvasId_ : Map<string, WasmViewport> = new Map<string, WasmViewport>(); // key = the canvasId @@ -331,5 +336,5 @@ } } -} + \ No newline at end of file