X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fcanvas%2Fcanvas_fwd.hxx;h=d91696eb3b28fee751a873f5f14617d9c63610f8;hb=efbec8b3671f4f909461f458fb9aa96bb86d6164;hp=802a882761f127cd5176f8a8133624d9117f46ec;hpb=81bee2bbc6b3cb4c4971bc72a0ea10d8ffbf9609;p=simgear.git diff --git a/simgear/canvas/canvas_fwd.hxx b/simgear/canvas/canvas_fwd.hxx index 802a8827..d91696eb 100644 --- a/simgear/canvas/canvas_fwd.hxx +++ b/simgear/canvas/canvas_fwd.hxx @@ -37,29 +37,49 @@ namespace simgear namespace canvas { - class Canvas; - typedef boost::shared_ptr CanvasPtr; - typedef boost::weak_ptr CanvasWeakPtr; +#define SG_FWD_DECL(name)\ + class name;\ + typedef SGSharedPtr name##Ptr;\ + typedef SGWeakPtr name##WeakPtr; - class Element; - typedef boost::shared_ptr ElementPtr; - typedef boost::weak_ptr ElementWeakPtr; + SG_FWD_DECL(Canvas) + SG_FWD_DECL(Element) + SG_FWD_DECL(Group) + SG_FWD_DECL(Image) + SG_FWD_DECL(Map) + SG_FWD_DECL(Path) + SG_FWD_DECL(Text) + +#undef SG_FWD_DECL + +#define SG_FWD_DECL(name)\ + class name;\ + typedef boost::shared_ptr name##Ptr;\ + typedef boost::weak_ptr 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 Style; typedef ElementPtr (*ElementFactory)( const CanvasWeakPtr&, const SGPropertyNode_ptr&, - const Style& ); + const Style&, + Element* ); typedef osg::ref_ptr FontPtr; - class Placement; - typedef boost::shared_ptr PlacementPtr; typedef std::vector Placements; - typedef boost::function PlacementFactory; - class SystemAdapter; - typedef boost::shared_ptr SystemAdapterPtr; + typedef boost::function EventListener; } // namespace canvas } // namespace simgear