X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/519cb848a8f4c91c73421bb75314754284e593a4..aa0ffd1d926cb1282fb75a1ce0e083421ade2f0b:/include/wx/mac/font.h diff --git a/include/wx/mac/font.h b/include/wx/mac/font.h index f7596f241b..d9edd98f8e 100644 --- a/include/wx/mac/font.h +++ b/include/wx/mac/font.h @@ -16,15 +16,67 @@ #pragma interface "font.h" #endif -// ---------------------------------------------------------------------------- -// public functions -// ---------------------------------------------------------------------------- +class WXDLLEXPORT wxFontRefData: public wxGDIRefData +{ + friend class WXDLLEXPORT wxFont; +public: + wxFontRefData() + { + Init(10, wxDEFAULT, wxNORMAL, wxNORMAL, FALSE, + "Geneva", wxFONTENCODING_DEFAULT); + } -// convert wxFontEncoding into one of Windows XXX_CHARSET constants (fill exact -// parameter if it's not NULL with TRUE if encoding is realyl supported under -// Windows and FALSE if not and we just chose something close to it) -extern int wxCharsetFromEncoding(wxFontEncoding encoding, bool *exact = NULL); + wxFontRefData(const wxFontRefData& data) + { + Init(data.m_pointSize, data.m_family, data.m_style, data.m_weight, + data.m_underlined, data.m_faceName, data.m_encoding); + + m_macFontNum = data.m_macFontNum ; + m_macFontSize = data.m_macFontSize; + m_macFontStyle = data.m_macFontStyle; + m_fontId = data.m_fontId; + } + + wxFontRefData(int size, + int family, + int style, + int weight, + bool underlined, + const wxString& faceName, + wxFontEncoding encoding) + { + Init(size, family, style, weight, underlined, faceName, encoding); + } + virtual ~wxFontRefData(); +protected: + // common part of all ctors + void Init(int size, + int family, + int style, + int weight, + bool underlined, + const wxString& faceName, + wxFontEncoding encoding); + + // font characterstics + int m_fontId; + int m_pointSize; + int m_family; + int m_style; + int m_weight; + bool m_underlined; + wxString m_faceName; + wxFontEncoding m_encoding; + +public : + short m_macFontNum ; + short m_macFontSize ; + unsigned char m_macFontStyle ; + wxUint32 m_macATSUFontID ; +public : + void MacFindFont() ; +}; // ---------------------------------------------------------------------------- // wxFont // ---------------------------------------------------------------------------- @@ -49,6 +101,15 @@ public: (void)Create(size, family, style, weight, underlined, face, encoding); } + wxFont(const wxNativeFontInfo& info) + { + Init(); + + (void)Create(info); + } + + wxFont(const wxString& fontDesc); + bool Create(int size, int family, int style, @@ -57,6 +118,8 @@ public: const wxString& face = wxEmptyString, wxFontEncoding encoding = wxFONTENCODING_DEFAULT); + bool Create(const wxNativeFontInfo& info); + virtual ~wxFont(); // assignment @@ -82,15 +145,7 @@ public: // implementation only from now on // ------------------------------- - int GetFontId() const; - virtual bool IsFree() const; virtual bool RealizeResource(); - virtual WXHANDLE GetResourceHandle(); - virtual bool FreeResource(bool force = FALSE); - /* - virtual bool UseResource(); - virtual bool ReleaseResource(); - */ protected: // common part of all ctors