diff Framework/Viewport/WebAssemblyViewport.h @ 1239:ce3052f28f2e toa2019122001

Added a lazy size update system in WebAssemblyOpenGLViewport::Refresh
author Benjamin Golinvaux <bgo@osimis.io>
date Fri, 20 Dec 2019 15:44:20 +0100
parents 391fb6d6905d
children a4bb8c2dd211 2d8ab34c8c91
line wrap: on
line diff
--- a/Framework/Viewport/WebAssemblyViewport.h	Thu Dec 12 14:30:33 2019 +0100
+++ b/Framework/Viewport/WebAssemblyViewport.h	Fri Dec 20 15:44:20 2019 +0100
@@ -34,15 +34,15 @@
     std::string  canvasIdentifier_;
 
   public:
-    WebAssemblyViewport(const std::string& canvasIdentifier) :
-      canvasIdentifier_(canvasIdentifier)
+    WebAssemblyViewport(const std::string& canvasIdentifier) 
+      : canvasIdentifier_(canvasIdentifier)
     {
     }
 
     WebAssemblyViewport(const std::string& canvasIdentifier,
-                        boost::shared_ptr<Scene2D>& scene) :
-      ViewportBase(scene),
-      canvasIdentifier_(canvasIdentifier)
+                        boost::shared_ptr<Scene2D>& scene) 
+      : ViewportBase(scene)
+      , canvasIdentifier_(canvasIdentifier)
     {
     }
 
@@ -58,6 +58,13 @@
   private:
     OpenGL::WebAssemblyOpenGLContext  context_;
     std::auto_ptr<OpenGLCompositor>   compositor_;
+    double                            cssWidth_;
+    double                            cssHeight_;
+    int                               pixelWidth_;
+    int                               pixelHeight_;
+
+  private:
+    void UpdateSizeIfNeeded();
 
   public:
     WebAssemblyOpenGLViewport(const std::string& canvas);