public:
/*
derived classes should provide the following ctors:
-
+
wxFont();
wxFont(const wxString& nativeFontInfoString);
wxFont(const wxNativeFontInfo& info);
const wxString& face = wxEmptyString,
wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
*/
-
+
// creator function
virtual ~wxFontBase();
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;
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
#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__)
// 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<int>(s) == static_cast<int>(t); }
inline bool operator!=(wxFontFamily 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