+// wxFontBase <-> wxString utilities, used by wxConfig
+WXDLLIMPEXP_CORE wxString wxToString(const wxFontBase& font);
+WXDLLIMPEXP_CORE bool wxFromString(const wxString& str, wxFontBase* font);
+
+
+#if FUTURE_WXWIN_COMPATIBILITY_3_0
+#define wxDECLARE_FONT_COMPAT_SETTER \
+ wxDEPRECATED_FUTURE( void SetFamily(int family) ) \
+ { SetFamily((wxFontFamily)family); } \
+ wxDEPRECATED_FUTURE( void SetStyle(int style) ) \
+ { SetStyle((wxFontStyle)style); } \
+ wxDEPRECATED_FUTURE( void SetWeight(int weight) ) \
+ { SetWeight((wxFontWeight)weight); } \
+ wxDEPRECATED_FUTURE( void SetFamily(wxDeprecatedGUIConstants family) ) \
+ { SetFamily((wxFontFamily)family); } \
+ wxDEPRECATED_FUTURE( void SetStyle(wxDeprecatedGUIConstants style) ) \
+ { SetStyle((wxFontStyle)style); } \
+ wxDEPRECATED_FUTURE( void SetWeight(wxDeprecatedGUIConstants weight) ) \
+ { SetWeight((wxFontWeight)weight); }
+#else
+#define wxDECLARE_FONT_COMPAT_SETTER /*empty*/
+#endif
+
+// this macro must be used in all derived wxFont classes declarations
+#define wxDECLARE_COMMON_FONT_METHODS() \
+ wxDECLARE_FONT_COMPAT_SETTER \
+ \
+ /* functions for modifying font in place */ \
+ wxFont& MakeBold(); \
+ wxFont& MakeItalic(); \
+ wxFont& MakeUnderlined(); \
+ wxFont& MakeStrikethrough(); \
+ wxFont& MakeLarger() { return Scale(1.2f); } \
+ wxFont& MakeSmaller() { return Scale(1/1.2f); } \
+ wxFont& Scale(float x); \
+ /* functions for creating fonts based on this one */ \
+ wxFont Bold() const; \
+ wxFont Italic() const; \
+ wxFont Underlined() const; \
+ wxFont Strikethrough() const; \
+ wxFont Larger() const { return Scaled(1.2f); } \
+ wxFont Smaller() const { return Scaled(1/1.2f); } \
+ wxFont Scaled(float x) const
+