# HG changeset patch # User Sebastien Jodogne # Date 1562829535 -7200 # Node ID 50cd372e24608316a94d18b1b0ada71aa8e58f29 # Parent 0aff28f15ea27e900538b7335f96825a609862c9 fix OpenGL context for fonts diff -r 0aff28f15ea2 -r 50cd372e2460 Framework/Scene2D/OpenGLCompositor.cpp --- a/Framework/Scene2D/OpenGLCompositor.cpp Wed Jul 10 18:18:42 2019 +0200 +++ b/Framework/Scene2D/OpenGLCompositor.cpp Thu Jul 11 09:18:55 2019 +0200 @@ -149,11 +149,11 @@ void OpenGLCompositor::Refresh() { + context_.MakeCurrent(); + canvasWidth_ = context_.GetCanvasWidth(); canvasHeight_ = context_.GetCanvasHeight(); - context_.MakeCurrent(); - glViewport(0, 0, canvasWidth_, canvasHeight_); glClearColor(0, 0, 0, 1); glClear(GL_COLOR_BUFFER_BIT); @@ -167,6 +167,8 @@ void OpenGLCompositor::SetFont(size_t index, const GlyphBitmapAlphabet& dict) { + context_.MakeCurrent(); + std::auto_ptr font(new Font(dict)); Fonts::iterator found = fonts_.find(index); diff -r 0aff28f15ea2 -r 50cd372e2460 Samples/WebAssembly/BasicScene.cpp --- a/Samples/WebAssembly/BasicScene.cpp Wed Jul 10 18:18:42 2019 +0200 +++ b/Samples/WebAssembly/BasicScene.cpp Thu Jul 11 09:18:55 2019 +0200 @@ -86,6 +86,7 @@ } // Some lines + if (1) { std::auto_ptr layer(new PolylineSceneLayer); @@ -187,11 +188,19 @@ FONT_SIZE, Orthanc::Encoding_Latin1); viewport3_->GetCompositor().SetFont(0, Orthanc::EmbeddedResources::UBUNTU_FONT, FONT_SIZE, Orthanc::Encoding_Latin1); - + controller1_.reset(new OrthancStone::ViewportController(boost::make_shared(), broker_, *viewport1_)); controller2_.reset(new OrthancStone::ViewportController(boost::make_shared(), broker_, *viewport2_)); controller3_.reset(new OrthancStone::ViewportController(boost::make_shared(), broker_, *viewport3_)); + controller1_->FitContent(viewport1_->GetCanvasWidth(), viewport1_->GetCanvasHeight()); + controller2_->FitContent(viewport2_->GetCanvasWidth(), viewport2_->GetCanvasHeight()); + controller3_->FitContent(viewport3_->GetCanvasWidth(), viewport3_->GetCanvasHeight()); + + viewport1_->Refresh(); + viewport2_->Refresh(); + viewport3_->Refresh(); + SetupEvents("mycanvas1", controller1_); SetupEvents("mycanvas2", controller2_); SetupEvents("mycanvas3", controller3_); diff -r 0aff28f15ea2 -r 50cd372e2460 Samples/WebAssembly/CMakeLists.txt --- a/Samples/WebAssembly/CMakeLists.txt Wed Jul 10 18:18:42 2019 +0200 +++ b/Samples/WebAssembly/CMakeLists.txt Thu Jul 11 09:18:55 2019 +0200 @@ -15,6 +15,8 @@ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s ASSERTIONS=1 -s DISABLE_EXCEPTION_CATCHING=0") #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s EXIT_RUNTIME=1") +#set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR=1") + ##################################################################### ## Configuration of the Orthanc framework