#define SG_FWD_DECL(name)\
class name;\
- typedef boost::shared_ptr<name> name##Ptr;\
- typedef boost::weak_ptr<name> name##WeakPtr;
+ typedef SGSharedPtr<name> name##Ptr;\
+ typedef SGWeakPtr<name> name##WeakPtr;
SG_FWD_DECL(Canvas)
SG_FWD_DECL(Element)
SG_FWD_DECL(Path)
SG_FWD_DECL(Text)
+#undef SG_FWD_DECL
+
+#define SG_FWD_DECL(name)\
+ class name;\
+ typedef boost::shared_ptr<name> name##Ptr;\
+ typedef boost::weak_ptr<name> name##WeakPtr;
+
+ SG_FWD_DECL(Event)
+ SG_FWD_DECL(MouseEvent)
SG_FWD_DECL(Placement)
SG_FWD_DECL(SystemAdapter)
#undef SG_FWD_DECL
+ class EventManager;
+ class EventVisitor;
+
typedef std::map<std::string, const SGPropertyNode*> Style;
typedef ElementPtr (*ElementFactory)( const CanvasWeakPtr&,
const SGPropertyNode_ptr&,
- const Style& );
+ const Style&,
+ Element* );
typedef osg::ref_ptr<osgText::Font> FontPtr;
typedef boost::function<Placements( SGPropertyNode*,
CanvasPtr )> PlacementFactory;
+ typedef boost::function<void(const EventPtr&)> EventListener;
+
} // namespace canvas
} // namespace simgear