X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/30764ab5246a5a9876d6313607da56cf1f1909d2..bf7d7ee7062f7f6028df40e43745235658e38b4d:/include/wx/font.h diff --git a/include/wx/font.h b/include/wx/font.h index 3010028809..c5bc183ad6 100644 --- a/include/wx/font.h +++ b/include/wx/font.h @@ -67,50 +67,22 @@ enum wxFontWeight wxFONTWEIGHT_MAX }; -// ---------------------------------------------------------------------------- -// wxNativeFontInfo is platform-specific font representation -// ---------------------------------------------------------------------------- - -// this struct should be considered as opaque font description only used by -// the native functions, the user code can only get the objects of this type -// from somewhere and pass it somewhere else (possibly save them somewhere -// using ToString() and restore them using FromString()) -struct WXDLLEXPORT wxNativeFontInfo -{ -#if defined(__WXGTK__) - wxString xFontName; -#else // other platforms - // - // This is a generic implementation that should work on all ports - // without specific support by the port. - // - int pointSize; - int family; - int style; - int weight; - bool underlined; - wxString faceName; - wxFontEncoding encoding; -#endif // platforms - - // it is important to be able to serialize wxNativeFontInfo objects to be - // able to store them (in config file, for example) - bool FromString(const wxString& s); - wxString ToString() const; -}; - -WXDLLEXPORT_DATA(extern wxNativeFontInfo) wxNullNativeFontInfo; - // ---------------------------------------------------------------------------- // wxFontBase represents a font object // ---------------------------------------------------------------------------- class WXDLLEXPORT wxFontRefData; +struct WXDLLEXPORT wxNativeFontInfo; class WXDLLEXPORT wxFontBase : public wxGDIObject { public: // creator function +#ifdef __WXMAC_X__ + virtual ~wxFontBase() {} // Added min for Mac X +#endif + + // from the font components static wxFont *New( int pointSize, // size of the font in points int family, // see wxFontFamily enum @@ -119,7 +91,12 @@ public: bool underlined = FALSE, // not underlined by default const wxString& face = wxEmptyString, // facename wxFontEncoding encoding = wxFONTENCODING_DEFAULT); // ISO8859-X, ... - static wxFont *New(const wxNativeFontInfo& info); + + // from the (opaque) native font description object + static wxFont *New(const wxNativeFontInfo& nativeFontDesc); + + // from the string representation of wxNativeFontInfo + static wxFont *New(const wxString& strNativeFontDesc); // was the font successfully created? bool Ok() const { return m_refData != NULL; } @@ -136,7 +113,8 @@ public: virtual bool GetUnderlined() const = 0; virtual wxString GetFaceName() const = 0; virtual wxFontEncoding GetEncoding() const = 0; - virtual wxNativeFontInfo GetNativeFontInfo() const; + virtual wxNativeFontInfo *GetNativeFontInfo() const; + wxString GetNativeFontInfoDesc() const; // change the font characteristics virtual void SetPointSize( int pointSize ) = 0; @@ -148,6 +126,8 @@ public: virtual void SetEncoding(wxFontEncoding encoding) = 0; virtual void SetNativeFontInfo(const wxNativeFontInfo& info); + // VZ: there is no void SetNativeFontInfo(const wxString& info), needed? + // translate the fonts into human-readable string (i.e. GetStyleString() // will return "wxITALIC" for an italic font, ...) wxString GetFamilyString() const; @@ -181,6 +161,8 @@ private: #include "wx/motif/font.h" #elif defined(__WXGTK__) #include "wx/gtk/font.h" +#elif defined(__WXMGL__) + #include "wx/mgl/font.h" #elif defined(__WXQT__) #include "wx/qt/font.h" #elif defined(__WXMAC__)