Mercurial > hg > orthanc-stone
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 } |