comparison Samples/WebAssembly/BasicScene.cpp @ 665:419e5662d7a5

fix
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 15 May 2019 12:28:58 +0200
parents ea8322566596
children c35e98d22764 6030db24eaea
comparison
equal deleted inserted replaced
664:9631a10ed3af 665:419e5662d7a5
151 OpenGLCompositor compositor_; 151 OpenGLCompositor compositor_;
152 152
153 void SetupEvents(const std::string& canvas); 153 void SetupEvents(const std::string& canvas);
154 154
155 public: 155 public:
156 WebAssemblyViewport(const std::string& canvas) : 156 WebAssemblyViewport(MessageBroker& broker,
157 const std::string& canvas) :
157 context_(canvas), 158 context_(canvas),
159 scene_(broker),
158 compositor_(context_, scene_) 160 compositor_(context_, scene_)
159 { 161 {
160 compositor_.SetFont(0, Orthanc::EmbeddedResources::UBUNTU_FONT, 162 compositor_.SetFont(0, Orthanc::EmbeddedResources::UBUNTU_FONT,
161 FONT_SIZE, Orthanc::Encoding_Latin1); 163 FONT_SIZE, Orthanc::Encoding_Latin1);
162 SetupEvents(canvas); 164 SetupEvents(canvas);
359 361
360 362
361 std::auto_ptr<OrthancStone::WebAssemblyViewport> viewport1_; 363 std::auto_ptr<OrthancStone::WebAssemblyViewport> viewport1_;
362 std::auto_ptr<OrthancStone::WebAssemblyViewport> viewport2_; 364 std::auto_ptr<OrthancStone::WebAssemblyViewport> viewport2_;
363 std::auto_ptr<OrthancStone::WebAssemblyViewport> viewport3_; 365 std::auto_ptr<OrthancStone::WebAssemblyViewport> viewport3_;
366 OrthancStone::MessageBroker broker_;
364 367
365 368
366 EM_BOOL OnWindowResize(int eventType, const EmscriptenUiEvent *uiEvent, void *userData) 369 EM_BOOL OnWindowResize(int eventType, const EmscriptenUiEvent *uiEvent, void *userData)
367 { 370 {
368 if (viewport1_.get() != NULL) 371 if (viewport1_.get() != NULL)
394 } 397 }
395 398
396 EMSCRIPTEN_KEEPALIVE 399 EMSCRIPTEN_KEEPALIVE
397 void Initialize() 400 void Initialize()
398 { 401 {
399 viewport1_.reset(new OrthancStone::WebAssemblyViewport("mycanvas1")); 402 viewport1_.reset(new OrthancStone::WebAssemblyViewport(broker_, "mycanvas1"));
400 PrepareScene(viewport1_->GetScene()); 403 PrepareScene(viewport1_->GetScene());
401 viewport1_->UpdateSize(); 404 viewport1_->UpdateSize();
402 405
403 viewport2_.reset(new OrthancStone::WebAssemblyViewport("mycanvas2")); 406 viewport2_.reset(new OrthancStone::WebAssemblyViewport(broker_, "mycanvas2"));
404 PrepareScene(viewport2_->GetScene()); 407 PrepareScene(viewport2_->GetScene());
405 viewport2_->UpdateSize(); 408 viewport2_->UpdateSize();
406 409
407 viewport3_.reset(new OrthancStone::WebAssemblyViewport("mycanvas3")); 410 viewport3_.reset(new OrthancStone::WebAssemblyViewport(broker_, "mycanvas3"));
408 PrepareScene(viewport3_->GetScene()); 411 PrepareScene(viewport3_->GetScene());
409 viewport3_->UpdateSize(); 412 viewport3_->UpdateSize();
410 413
411 emscripten_set_resize_callback("#window", NULL, false, OnWindowResize); 414 emscripten_set_resize_callback("#window", NULL, false, OnWindowResize);
412 } 415 }