X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b3c861501a451503b31c075ccb59d16b0ae01e99..3e97a905185a72c04a7feb67c7885ab4412100ee:/include/wx/font.h diff --git a/include/wx/font.h b/include/wx/font.h index 8cb6a7e421..e1bb654093 100644 --- a/include/wx/font.h +++ b/include/wx/font.h @@ -19,15 +19,16 @@ #include "wx/defs.h" // for wxDEFAULT &c #include "wx/fontenc.h" // the font encoding constants #include "wx/gdiobj.h" // the base class +#include "wx/gdicmn.h" // for wxGDIObjListBase // ---------------------------------------------------------------------------- // forward declarations // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxFontData; -class WXDLLEXPORT wxFontBase; -class WXDLLEXPORT wxFont; -class WXDLLEXPORT wxSize; +class WXDLLIMPEXP_FWD_CORE wxFontData; +class WXDLLIMPEXP_FWD_CORE wxFontBase; +class WXDLLIMPEXP_FWD_CORE wxFont; +class WXDLLIMPEXP_FWD_CORE wxSize; // ---------------------------------------------------------------------------- // font constants @@ -105,10 +106,9 @@ enum // wxFontBase represents a font object // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxFontRefData; -class WXDLLEXPORT wxNativeFontInfo; +class WXDLLIMPEXP_FWD_CORE wxNativeFontInfo; -class WXDLLEXPORT wxFontBase : public wxGDIObject +class WXDLLIMPEXP_CORE wxFontBase : public wxGDIObject { public: // creator function @@ -156,12 +156,9 @@ public: // from the string representation of wxNativeFontInfo static wxFont *New(const wxString& strNativeFontDesc); - // was the font successfully created? - bool Ok() const { return m_refData != NULL; } - // comparison - bool operator == (const wxFont& font) const; - bool operator != (const wxFont& font) const; + bool operator==(const wxFont& font) const; + bool operator!=(const wxFont& font) const { return !(*this == font); } // accessors: get the font characteristics virtual int GetPointSize() const = 0; @@ -211,10 +208,6 @@ public: static void SetDefaultEncoding(wxFontEncoding encoding); protected: - // get the internal data - wxFontRefData *GetFontData() const - { return (wxFontRefData *)m_refData; } - // the function called by both overloads of SetNativeFontInfo() virtual void DoSetNativeFontInfo(const wxNativeFontInfo& info); @@ -226,6 +219,12 @@ private: static wxFontEncoding ms_encodingDefault; }; +// wxFontBase <-> wxString utilities, used by wxConfig +WXDLLIMPEXP_CORE wxString wxToString(const wxFontBase& font); +WXDLLIMPEXP_CORE bool wxFromString(const wxString& str, wxFontBase* font); + + + // include the real class declaration #if defined(__WXPALMOS__) #include "wx/palmos/font.h" @@ -244,18 +243,40 @@ private: #elif defined(__WXDFB__) #include "wx/dfb/font.h" #elif defined(__WXMAC__) - #include "wx/mac/font.h" + #include "wx/osx/font.h" #elif defined(__WXCOCOA__) #include "wx/cocoa/font.h" #elif defined(__WXPM__) #include "wx/os2/font.h" #endif -// ---------------------------------------------------------------------------- -// macros -// ---------------------------------------------------------------------------- +class WXDLLIMPEXP_CORE wxFontList: public wxGDIObjListBase +{ +public: + wxFont *FindOrCreateFont(int pointSize, + wxFontFamily family, + wxFontStyle style, + wxFontWeight weight, + bool underline = false, + const wxString& face = wxEmptyString, + wxFontEncoding encoding = wxFONTENCODING_DEFAULT); + +#if FUTURE_WXWIN_COMPATIBILITY_3_0 + wxFont *FindOrCreateFont(int pointSize, int family, int style, int weight, + bool underline = false, + const wxString& face = wxEmptyString, + wxFontEncoding encoding = wxFONTENCODING_DEFAULT) + { return FindOrCreateFont(pointSize, (wxFontFamily)family, (wxFontStyle)style, + (wxFontWeight)weight, underline, face, encoding); } +#endif + +#if WXWIN_COMPATIBILITY_2_6 + wxDEPRECATED( void AddFont(wxFont*) ); + wxDEPRECATED( void RemoveFont(wxFont*) ); +#endif +}; -#define M_FONTDATA GetFontData() +extern WXDLLIMPEXP_DATA_CORE(wxFontList*) wxTheFontList; #endif // _WX_FONT_H_BASE_