annotate Platforms/WebAssembly/wasm-application.ts @ 229:b0ba3b38a23c am

ScheduleRedraw can handle multiple viewports
author am@osimis.io
date Thu, 14 Jun 2018 16:51:43 +0200
parents 1fa4c65c7e1b
children 7d2631320615
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
225
am@osimis.io
parents:
diff changeset
1 ///<reference path='stone-framework-loader.ts'/>
229
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
2 ///<reference path='wasm-viewport.ts'/>
225
am@osimis.io
parents:
diff changeset
3
229
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
4 module Stone {
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
5
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
6 // export declare type InitializationCallback = () => void;
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
7
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
8 // export declare var StoneFrameworkModule : any;
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
9
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
10 //const ASSETS_FOLDER : string = "assets/lib";
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
11 //const WASM_FILENAME : string = "orthanc-framework";
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
12
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
13 export class WasmApplication {
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
14
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
15 private viewport_ : WasmViewport;
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
16 private canvasId_: string;
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
17
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
18 private pimpl_ : any; // Private pointer to the underlying WebAssembly C++ object
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
19
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
20 public constructor(canvasId: string) {
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
21 this.canvasId_ = canvasId;
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
22 //this.module_ = module;
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
23 }
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
24 }
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
25 }
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
26
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
27
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
28 declare function InitializeWasmApplication(canvasId: string) :void; // still in a js file
225
am@osimis.io
parents:
diff changeset
29
am@osimis.io
parents:
diff changeset
30
226
1fa4c65c7e1b WasmViewport in ts
am@osimis.io
parents: 225
diff changeset
31
1fa4c65c7e1b WasmViewport in ts
am@osimis.io
parents: 225
diff changeset
32
225
am@osimis.io
parents:
diff changeset
33 // Wait for the Orthanc Framework to be initialized (this initializes
229
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
34 // the WebAssembly environment) and then, create and initialize the Wasm application
225
am@osimis.io
parents:
diff changeset
35 Stone.Framework.Initialize(true, function() {
229
b0ba3b38a23c ScheduleRedraw can handle multiple viewports
am@osimis.io
parents: 226
diff changeset
36 InitializeWasmApplication("canvas");
225
am@osimis.io
parents:
diff changeset
37 });