diff Framework/Viewport/IViewport.h @ 1216:5147277850cf broker

better abstraction for IViewport
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 05 Dec 2019 16:36:40 +0100
parents 9efa66d8d3f8
children 0ca50d275b9a
line wrap: on
line diff
--- a/Framework/Viewport/IViewport.h	Wed Dec 04 20:12:15 2019 +0100
+++ b/Framework/Viewport/IViewport.h	Thu Dec 05 16:36:40 2019 +0100
@@ -21,8 +21,7 @@
 #pragma once
 
 #include "../Scene2D/ICompositor.h"
-#include "../Scene2D/Scene2D.h"
-#include "../Scene2D/ScenePoint2D.h"
+#include "../Scene2DViewport/ViewportController.h"
 
 namespace OrthancStone
 {
@@ -50,22 +49,16 @@
       virtual bool HasCompositor() const = 0;
 
       virtual ICompositor& GetCompositor() = 0;
+
+      virtual ViewportController& GetController() = 0;
+
+      virtual void Invalidate() = 0;
     };   
     
     virtual ~IViewport()
     {
     }
 
-    // Can be invoked from any thread (notably from the thread of the
-    // Stone context)
-    virtual void Invalidate() = 0;
-
-    // Must be invoked from the main (GUI) thread
-    virtual void Paint(const Scene2D& scene) = 0;
-
-    virtual void UpdateSize(unsigned int width,
-                            unsigned int height) = 0;
-
     virtual ILock* Lock() = 0;
   };
 }