+
+// A set of macros to make using %rename easier, since %name has been
+// deprecated...
+%define %Rename(newname, type, decl)
+ %rename(newname) decl;
+ type decl
+%enddef
+
+%define %RenameCtor(newname, decl)
+ %rename(newname) decl;
+ decl
+%enddef
+
+#ifdef _DO_FULL_DOCS
+ %define %RenameDocCtor(newname, docstr, details, decl)
+ %feature("docstring") decl docstr details;
+ %rename(newname) decl;
+ decl
+ %enddef
+#else
+ %define %RenameDocCtor(newname, docstr, details, decl)
+ %feature("docstring") decl docstr;
+ %rename(newname) decl;
+ decl
+ %enddef
+#endif
+
+//---------------------------------------------------------------------------
+// Forward declarations and %renames for some classes, so the autodoc strings
+// will be able to use the right types even when the real class declaration is
+// not in the module being processed or seen by %import's.
+
+#ifdef BUILDING_RENAMERS
+ #define FORWARD_DECLARE(wxName, Name)
+#else
+ %define FORWARD_DECLARE(wxName, Name)
+ %rename(Name) wxName;
+ class wxName;
+ %enddef
+#endif
+
+FORWARD_DECLARE(wxString, String);
+FORWARD_DECLARE(wxBitmap, Bitmap);
+FORWARD_DECLARE(wxDateTime, DateTime);
+FORWARD_DECLARE(wxInputStream, InputStream);
+FORWARD_DECLARE(wxDC, DC);
+FORWARD_DECLARE(wxCursor, Cursor);
+FORWARD_DECLARE(wxRegion, Region);
+FORWARD_DECLARE(wxColour, Colour);
+FORWARD_DECLARE(wxFont, Font);
+FORWARD_DECLARE(wxCaret, Caret);
+FORWARD_DECLARE(wxToolTip, ToolTip);
+FORWARD_DECLARE(wxPyDropTarget, DropTarget);
+FORWARD_DECLARE(wxImageList, ImageList);
+FORWARD_DECLARE(wxMemoryDC, MemoryDC);
+FORWARD_DECLARE(wxHtmlTagHandler, HtmlTagHandler);
+FORWARD_DECLARE(wxConfigBase, ConfigBase);
+FORWARD_DECLARE(wxIcon, Icon);
+FORWARD_DECLARE(wxStaticBox, StaticBox);
+
+