]> git.mxchange.org Git - flightgear.git/blobdiff - src/Canvas/canvas_mgr.hxx
Fix for bug 1304 - crash loading XML route
[flightgear.git] / src / Canvas / canvas_mgr.hxx
index 10cbe9a764a6bae20fd9463d215c36fe4447c822..b14403491b9a1c7a182ce4df27dd34cf61942d0d 100644 (file)
 #ifndef CANVAS_MGR_H_
 #define CANVAS_MGR_H_
 
-#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();
 
+    virtual void init();
+    virtual void shutdown();
+
     /**
      * Get OpenGL texture name for given canvas
      *
-     * @param Index of canvas
+     * @deprecated This was only meant to be used by the PUI CanvasWidget
+     *             implementation as PUI can't handle osg::Texture objects.
+     *             Use getCanvas(index)->getTexture() instead.
+     *
      * @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_ */