X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f76c075805027058f08ffba0e8c1b32372f5fd44..58ce18f2fdadecffb21e27555115af708325cf18:/include/wx/font.h?ds=inline diff --git a/include/wx/font.h b/include/wx/font.h index 873ba84a4a..7ebc53d325 100644 --- a/include/wx/font.h +++ b/include/wx/font.h @@ -113,7 +113,7 @@ class WXDLLIMPEXP_CORE wxFontBase : public wxGDIObject public: /* derived classes should provide the following ctors: - + wxFont(); wxFont(const wxString& nativeFontInfoString); wxFont(const wxNativeFontInfo& info); @@ -132,7 +132,7 @@ public: const wxString& face = wxEmptyString, wxFontEncoding encoding = wxFONTENCODING_DEFAULT); */ - + // creator function virtual ~wxFontBase(); @@ -214,7 +214,7 @@ public: virtual int GetPointSize() const = 0; virtual wxSize GetPixelSize() const; virtual bool IsUsingSizeInPixels() const; - virtual wxFontFamily GetFamily() const = 0; + wxFontFamily GetFamily() const; virtual wxFontStyle GetStyle() const = 0; virtual wxFontWeight GetWeight() const = 0; virtual bool GetUnderlined() const = 0; @@ -249,19 +249,25 @@ 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); + // The function called by public GetFamily(): it can return + // wxFONTFAMILY_UNKNOWN unlike the public method (see comment there). + virtual wxFontFamily DoGetFamily() const = 0; + private: // the currently default encoding: by default, it's the default system // encoding, but may be changed by the application using @@ -297,12 +303,18 @@ WXDLLIMPEXP_CORE bool wxFromString(const wxString& str, wxFontBase* font); #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 MakeBold() const; \ - wxFont MakeItalic() const; \ - wxFont MakeLarger() const { return Scale(1.2f); } \ - wxFont MakeSmaller() const { return Scale(1/1.2f); } \ - wxFont Scale(float x) const + 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__) @@ -366,6 +378,11 @@ extern WXDLLIMPEXP_DATA_CORE(wxFontList*) wxTheFontList; // compilers as it compares elements of different enums #if FUTURE_WXWIN_COMPATIBILITY_3_0 +// Unfortunately some compilers have ambiguity issues when enum comparisons are +// overloaded so we have to disable the overloads in this case, see +// wxCOMPILER_NO_OVERLOAD_ON_ENUM definition in wx/platform.h for more details. +#ifndef wxCOMPILER_NO_OVERLOAD_ON_ENUM + inline bool operator==(wxFontFamily s, wxDeprecatedGUIConstants t) { return static_cast(s) == static_cast(t); } inline bool operator!=(wxFontFamily s, wxDeprecatedGUIConstants t) @@ -379,6 +396,8 @@ inline bool operator==(wxFontWeight s, wxDeprecatedGUIConstants t) inline bool operator!=(wxFontWeight s, wxDeprecatedGUIConstants t) { return !(s == t); } +#endif // // wxCOMPILER_NO_OVERLOAD_ON_ENUM + #endif // FUTURE_WXWIN_COMPATIBILITY_3_0 #endif