[core] custom layer - add contextLost callback

- optional callback method that can be used to do cleanup when the context has been lost before re-initialisation
This commit is contained in:
Ivo van Dongen
2017-09-19 10:29:51 +03:00
committed by Ivo van Dongen
parent b0c06c764b
commit 97a010cc9b
5 changed files with 36 additions and 3 deletions

View File

@@ -38,6 +38,14 @@ struct CustomLayerRenderParameters {
*/
using CustomLayerRenderFunction = void (*)(void* context, const CustomLayerRenderParameters&);
/**
* Called when the system has destroyed the underlying GL context. The
* `CustomLayerDeinitializeFunction` will not be called in this case, however
* `CustomLayerInitializeFunction` will be called instead to prepare for a new render.
*
*/
using CustomLayerContextLostFunction = void (*)(void* context);
/**
* Destroy any GL state needed by the custom layer, and deallocate context, if necessary. This
* method is called once, from the main thread, at a point when the GL context is active.
@@ -51,8 +59,16 @@ public:
CustomLayer(const std::string& id,
CustomLayerInitializeFunction,
CustomLayerRenderFunction,
CustomLayerContextLostFunction,
CustomLayerDeinitializeFunction,
void* context);
CustomLayer(const std::string& id,
CustomLayerInitializeFunction,
CustomLayerRenderFunction,
CustomLayerDeinitializeFunction,
void* context);
~CustomLayer() final;
// Visibility