]> git.mxchange.org Git - flightgear.git/blobdiff - src/Canvas/canvas_mgr.hxx
HTTP subsystem has a default name.
[flightgear.git] / src / Canvas / canvas_mgr.hxx
index 568da3d61615b65825034cacdce86f7c534328b6..b14403491b9a1c7a182ce4df27dd34cf61942d0d 100644 (file)
 #ifndef CANVAS_MGR_H_
 #define CANVAS_MGR_H_
 
-#include "canvas_fwd.hpp"
-#include "property_based_mgr.hxx"
+#include <simgear/canvas/CanvasMgr.hxx>
+#include <simgear/props/PropertyBasedMgr.hxx>
 
 class CanvasMgr:
-  public PropertyBasedMgr
+  public simgear::canvas::CanvasMgr
 {
   public:
     CanvasMgr();
 
-    /**
-     * Get ::Canvas by index
-     *
-     * @param index Index of texture node in /canvas/by-index/
-     */
-    CanvasPtr getCanvas(size_t index) const;
+    virtual void init();
+    virtual void shutdown();
 
     /**
      * Get OpenGL texture name for given canvas
@@ -42,10 +38,16 @@ class CanvasMgr:
      *             implementation as PUI can't handle osg::Texture objects.
      *             Use getCanvas(index)->getTexture() instead.
      *
-     * @param Index of canvas
      * @return OpenGL texture name
      */
-    unsigned int getCanvasTexId(size_t index) const;
+    unsigned int getCanvasTexId(const simgear::canvas::CanvasPtr& canvas) const;
+
+  protected:
+
+    osg::observer_ptr<osg::Camera>      _gui_camera;
+    SGPropertyChangeCallback<CanvasMgr> _cb_model_reinit;
+
+    void handleModelReinit(SGPropertyNode*);
 };
 
 #endif /* CANVAS_MGR_H_ */