X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0c14b6c3241d48d9cc36a2fd0aeab0ba330d96de..1ac5cfc7c9d2df832a4e8f5737f43995e3308ab4:/include/wx/font.h diff --git a/include/wx/font.h b/include/wx/font.h index 6f39a459c4..96efd04965 100644 --- a/include/wx/font.h +++ b/include/wx/font.h @@ -111,6 +111,28 @@ class WXDLLIMPEXP_FWD_CORE wxNativeFontInfo; class WXDLLIMPEXP_CORE wxFontBase : public wxGDIObject { public: + /* + derived classes should provide the following ctors: + + wxFont(); + wxFont(const wxString& nativeFontInfoString); + wxFont(const wxNativeFontInfo& info); + wxFont(int size, + wxFontFamily family, + wxFontStyle style, + wxFontWeight weight, + bool underlined = false, + const wxString& face = wxEmptyString, + wxFontEncoding encoding = wxFONTENCODING_DEFAULT); + wxFont(const wxSize& pixelSize, + wxFontFamily family, + wxFontStyle style, + wxFontWeight weight, + bool underlined = false, + const wxString& face = wxEmptyString, + wxFontEncoding encoding = wxFONTENCODING_DEFAULT); + */ + // creator function virtual ~wxFontBase(); @@ -227,15 +249,17 @@ public: wxString GetStyleString() const; wxString GetWeightString() const; - // Unofficial API, don't use - virtual void SetNoAntiAliasing( bool WXUNUSED(no) = true ) { } - virtual bool GetNoAntiAliasing() const { return false; } - // the default encoding is used for creating all fonts with default // encoding parameter static wxFontEncoding GetDefaultEncoding() { return ms_encodingDefault; } static void SetDefaultEncoding(wxFontEncoding encoding); + // this doesn't do anything and is kept for compatibility only +#ifdef WXWIN_COMPATIBILITY_2_8 + wxDEPRECATED_INLINE(void SetNoAntiAliasing(bool no = true), wxUnusedVar(no);); + wxDEPRECATED_INLINE(bool GetNoAntiAliasing() const, return false;) +#endif // WXWIN_COMPATIBILITY_2_8 + protected: // the function called by both overloads of SetNativeFontInfo() virtual void DoSetNativeFontInfo(const wxNativeFontInfo& info); @@ -254,7 +278,7 @@ WXDLLIMPEXP_CORE bool wxFromString(const wxString& str, wxFontBase* font); #if FUTURE_WXWIN_COMPATIBILITY_3_0 -#define WXDECLARE_COMPAT_SETTERS \ +#define wxDECLARE_FONT_COMPAT_SETTER \ wxDEPRECATED_FUTURE( void SetFamily(int family) ) \ { SetFamily((wxFontFamily)family); } \ wxDEPRECATED_FUTURE( void SetStyle(int style) ) \ @@ -268,9 +292,26 @@ WXDLLIMPEXP_CORE bool wxFromString(const wxString& str, wxFontBase* font); wxDEPRECATED_FUTURE( void SetWeight(wxDeprecatedGUIConstants weight) ) \ { SetWeight((wxFontWeight)weight); } #else -#define WXDECLARE_COMPAT_SETTERS /*empty*/ +#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& 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 Larger() const { return Scaled(1.2f); } \ + wxFont Smaller() const { return Scaled(1/1.2f); } \ + wxFont Scaled(float x) const + // include the real class declaration #if defined(__WXPALMOS__) #include "wx/palmos/font.h"