X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0c14b6c3241d48d9cc36a2fd0aeab0ba330d96de..c5d7b7d20ba810df4ad66f6826c529a106e81577:/include/wx/font.h diff --git a/include/wx/font.h b/include/wx/font.h index 6f39a459c4..6d7b46a31a 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(); @@ -192,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; @@ -227,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 @@ -254,7 +282,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 +296,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"