Mercurial > hg > orthanc-stone
diff Framework/Scene2D/Internals/OpenGLTextRenderer.cpp @ 947:1091b2adeb5a toa2019081001
Fixed animation frame stopping when returning false + big work on the OpenGL
objects to make them lost context-safe + debug code to forcefully tag a
context as lost + debug macros
author | Benjamin Golinvaux <bgo@osimis.io> |
---|---|
date | Sat, 10 Aug 2019 13:07:31 +0200 |
parents | 6e888cf6a48b |
children | 2d8ab34c8c91 |
line wrap: on
line diff
--- a/Framework/Scene2D/Internals/OpenGLTextRenderer.cpp Tue Aug 06 15:07:23 2019 +0200 +++ b/Framework/Scene2D/Internals/OpenGLTextRenderer.cpp Sat Aug 10 13:07:31 2019 +0200 @@ -27,7 +27,10 @@ { void OpenGLTextRenderer::LoadLayer(const TextSceneLayer& layer) { - data_.reset(new OpenGLTextProgram::Data(context_, alphabet_, layer)); + if (!context_.IsContextLost()) + data_.reset(new OpenGLTextProgram::Data(context_, alphabet_, layer)); + else + data_.reset(NULL); } @@ -49,13 +52,12 @@ unsigned int canvasWidth, unsigned int canvasHeight) { - if (data_.get() != NULL) + if (!context_.IsContextLost() && data_.get() != NULL) { program_.Apply(texture_, *data_, transform); } } - void OpenGLTextRenderer::Update(const ISceneLayer& layer) { LoadLayer(dynamic_cast<const TextSceneLayer&>(layer));