diff Framework/StoneException.h @ 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 101073b3e855
children 32eaf4929b08
line wrap: on
line diff
--- a/Framework/StoneException.h	Tue Aug 06 15:07:23 2019 +0200
+++ b/Framework/StoneException.h	Sat Aug 10 13:07:31 2019 +0200
@@ -38,6 +38,7 @@
 
     ErrorCode_CanOnlyAddOneLayerAtATime,
     ErrorCode_CommandJsonInvalidFormat,
+    ErrorCode_WebGLContextLost,
     ErrorCode_Last
   };
 
@@ -65,6 +66,21 @@
     }
   };
 
+  class OpenGLContextLostException : public StoneException
+  {
+  public:
+    explicit OpenGLContextLostException(void* context)
+      : StoneException(ErrorCode_WebGLContextLost)
+      , context_(context)
+    {
+    }
+    virtual const char* What() const
+    {
+      return "The OpenGL/WebGL context has been lost!";
+    }
+    void* context_;
+  };
+
   class StoneOrthancException : public StoneException
   {
   protected: