]> git.mxchange.org Git - simgear.git/blobdiff - simgear/canvas/canvas_fwd.hxx
Clean up Canvas element creation
[simgear.git] / simgear / canvas / canvas_fwd.hxx
index 2588460a313221899cfd73d1f888fbec16a92067..4c64c1d0087697d2bfab2f6996b4959ba3820de8 100644 (file)
@@ -29,6 +29,7 @@
 #include <boost/shared_ptr.hpp>
 #include <boost/weak_ptr.hpp>
 
+#include <map>
 #include <vector>
 
 namespace simgear
@@ -40,6 +41,15 @@ namespace canvas
   typedef boost::shared_ptr<Canvas> CanvasPtr;
   typedef boost::weak_ptr<Canvas> CanvasWeakPtr;
 
+  class Element;
+  typedef boost::shared_ptr<Element> ElementPtr;
+  typedef boost::weak_ptr<Element> ElementWeakPtr;
+
+  typedef std::map<std::string, const SGPropertyNode*> Style;
+  typedef boost::function<ElementPtr( const CanvasWeakPtr&,
+                                      const SGPropertyNode_ptr&,
+                                      const Style& )> ElementFactory;
+
   typedef osg::ref_ptr<osgText::Font> FontPtr;
 
   class Placement;