X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6762286db6cf974817dead5b88bebf0e390dbb7e..86ac84b8ce086e6bbda58f422d41f84268606e35:/include/wx/osx/font.h diff --git a/include/wx/osx/font.h b/include/wx/osx/font.h index 05f1b50601..79fb78b7c4 100644 --- a/include/wx/osx/font.h +++ b/include/wx/osx/font.h @@ -16,6 +16,21 @@ // wxFont // ---------------------------------------------------------------------------- +// font styles +enum wxOSXSystemFont +{ + wxOSX_SYSTEM_FONT_NONE = 0, + wxOSX_SYSTEM_FONT_NORMAL, + wxOSX_SYSTEM_FONT_BOLD, + wxOSX_SYSTEM_FONT_SMALL, + wxOSX_SYSTEM_FONT_SMALL_BOLD, + wxOSX_SYSTEM_FONT_MINI, + wxOSX_SYSTEM_FONT_MINI_BOLD, + wxOSX_SYSTEM_FONT_LABELS, + wxOSX_SYSTEM_FONT_VIEWS +}; + + class WXDLLIMPEXP_CORE wxFont : public wxFontBase { public: @@ -45,7 +60,19 @@ public: { Create(size, family, style, weight, underlined, face, encoding); } - + + wxFont(const wxSize& pixelSize, + wxFontFamily family, + wxFontStyle style, + wxFontWeight weight, + bool underlined = false, + const wxString& face = wxEmptyString, + wxFontEncoding encoding = wxFONTENCODING_DEFAULT) + { + Create(10, family, style, weight, underlined, face, encoding); + SetPixelSize(pixelSize); + } + bool Create(int size, wxFontFamily family, wxFontStyle style, @@ -63,15 +90,8 @@ public: bool Create(const wxNativeFontInfo& info); -#if wxOSX_USE_ATSU_TEXT - bool MacCreateFromThemeFont( wxUint16 themeFontID ) ; -#endif -#if wxOSX_USE_CORE_TEXT - bool MacCreateFromUIFont( wxUint32 coreTextFontType ); - bool MacCreateFromCTFontDescriptor( const void * ctFontDescriptor, int pointSize = 0 ); - bool MacCreateFromCTFont( const void * ctFont ); -#endif - + bool CreateSystemFont(wxOSXSystemFont font); + virtual ~wxFont(); // implement base class pure virtuals @@ -93,7 +113,7 @@ public: virtual void SetUnderlined(bool underlined); virtual void SetEncoding(wxFontEncoding encoding); - WXDECLARE_COMPAT_SETTERS + wxDECLARE_COMMON_FONT_METHODS(); // implementation only from now on // ------------------------------- @@ -106,32 +126,52 @@ public: // Mac-specific, risks to change, don't use in portable code -#if wxOSX_USE_ATSU_TEXT +#if wxOSX_USE_CARBON && wxOSX_USE_ATSU_TEXT + wxUint16 MacGetThemeFontID() const ; + // 'old' Quickdraw accessors short MacGetFontNum() const; - short MacGetFontSize() const; wxByte MacGetFontStyle() const; +#endif - // 'new' ATSUI accessors - wxUint32 MacGetATSUFontID() const; - wxUint32 MacGetATSUAdditionalQDStyles() const; - wxUint16 MacGetThemeFontID() const ; - - // Returns an ATSUStyle not ATSUStyle* +#if wxOSX_USE_COCOA_OR_CARBON + CGFontRef OSXGetCGFont() const; #endif + #if wxOSX_USE_CORE_TEXT - const void * MacGetCTFont() const; + CTFontRef OSXGetCTFont() const; #endif -#if wxOSX_USE_CORE_TEXT || wxOSX_USE_ATSU_TEXT + +#if wxOSX_USE_ATSU_TEXT + // Returns an ATSUStyle not ATSUStyle* void* MacGetATSUStyle() const ; + void* OSXGetATSUStyle() const { return MacGetATSUStyle() ; } + +#if WXWIN_COMPATIBILITY_2_8 + wxDEPRECATED( wxUint32 MacGetATSUFontID() const ); + wxDEPRECATED( wxUint32 MacGetATSUAdditionalQDStyles() const ); +#endif +#endif + +#if wxOSX_USE_COCOA + WX_NSFont OSXGetNSFont() const; + static WX_NSFont OSXCreateNSFont(wxOSXSystemFont font, wxNativeFontInfo* info); + static WX_NSFont OSXCreateNSFont(const wxNativeFontInfo* info); +#endif + +#if wxOSX_USE_IPHONE + WX_UIFont OSXGetUIFont() const; + static WX_UIFont OSXCreateUIFont(wxOSXSystemFont font, wxNativeFontInfo* info); + static WX_UIFont OSXCreateUIFont(const wxNativeFontInfo* info); #endif protected: + virtual void DoSetNativeFontInfo(const wxNativeFontInfo& info); + virtual wxGDIRefData *CreateGDIRefData() const; virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const; private: - void Unshare(); DECLARE_DYNAMIC_CLASS(wxFont) };