+ SG_FWD_DECL(Window)
+
+ SG_FWD_DECL(Event)
+ SG_FWD_DECL(CustomEvent)
+ SG_FWD_DECL(DeviceEvent)
+ SG_FWD_DECL(KeyboardEvent)
+ SG_FWD_DECL(MouseEvent)
+
+#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;