X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FCanvas%2Fcanvas_mgr.hxx;h=b14403491b9a1c7a182ce4df27dd34cf61942d0d;hb=733e3b3f0c8ed5c880b57e3175dd6e5e3fd0ce9c;hp=568da3d61615b65825034cacdce86f7c534328b6;hpb=83bbd9e45c1f04dbeac986a383cd6e253a7f9590;p=flightgear.git diff --git a/src/Canvas/canvas_mgr.hxx b/src/Canvas/canvas_mgr.hxx index 568da3d61..b14403491 100644 --- a/src/Canvas/canvas_mgr.hxx +++ b/src/Canvas/canvas_mgr.hxx @@ -19,21 +19,17 @@ #ifndef CANVAS_MGR_H_ #define CANVAS_MGR_H_ -#include "canvas_fwd.hpp" -#include "property_based_mgr.hxx" +#include +#include 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 _gui_camera; + SGPropertyChangeCallback _cb_model_reinit; + + void handleModelReinit(SGPropertyNode*); }; #endif /* CANVAS_MGR_H_ */