+#ifndef _WX_METAFILE_H_BASE_
+#define _WX_METAFILE_H_BASE_
+
+#include "wx/defs.h"
+
+#if wxUSE_METAFILE
+
+// provide synonyms for all metafile classes
+#define wxMetaFile wxMetafile
+#define wxMetaFileDC wxMetafileDC
+#define wxMetaFileDataObject wxMetafileDataObject
+
+#define wxMakeMetaFilePlaceable wxMakeMetafilePlaceable
+
+#if defined(__WXMSW__)
+ #if wxUSE_ENH_METAFILE
+ #if defined(__WXPALMOS__)
+ #include "wx/palmos/enhmeta.h"
+ #else
+ #include "wx/msw/enhmeta.h"
+ #endif
+
+ // map all metafile classes to enh metafile
+ #if !wxUSE_WIN_METAFILES_ALWAYS
+ typedef wxEnhMetaFile wxMetafile;
+ typedef wxEnhMetaFileDC wxMetafileDC;
+#if wxUSE_DRAG_AND_DROP
+ typedef wxEnhMetaFileDataObject wxMetafileDataObject;
+#endif
+ // this flag will be set if wxMetafile class is wxEnhMetaFile
+ #define wxMETAFILE_IS_ENH
+ #endif // wxUSE_WIN_METAFILES_ALWAYS
+ #else // !wxUSE_ENH_METAFILE
+ #if defined(__WXPALMOS__)
+ #include "wx/palmos/metafile.h"
+ #else
+ #include "wx/msw/metafile.h"
+ #endif
+ #endif
+#elif defined(__WXPM__)
+ #include "wx/os2/metafile.h"
+#elif defined(__WXMAC__)
+ #include "wx/mac/metafile.h"