X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b5791cc7af207a74deb0bea60f99cd97429bcb8c..98040646309346e375e05ff923baada721618ab2:/include/wx/osx/font.h diff --git a/include/wx/osx/font.h b/include/wx/osx/font.h index 270f93015d..bcd86e775a 100644 --- a/include/wx/osx/font.h +++ b/include/wx/osx/font.h @@ -16,12 +16,31 @@ // 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: // ctors and such wxFont() { } +#if wxOSX_USE_COCOA + wxFont(WX_NSFont nsfont); +#endif + #if FUTURE_WXWIN_COMPATIBILITY_3_0 wxFont(int size, int family, @@ -45,7 +64,7 @@ public: { Create(size, family, style, weight, underlined, face, encoding); } - + wxFont(const wxSize& pixelSize, wxFontFamily family, wxFontStyle style, @@ -57,7 +76,7 @@ public: Create(10, family, style, weight, underlined, face, encoding); SetPixelSize(pixelSize); } - + bool Create(int size, wxFontFamily family, wxFontStyle style, @@ -75,14 +94,7 @@ 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(); @@ -105,45 +117,62 @@ public: virtual void SetUnderlined(bool underlined); virtual void SetEncoding(wxFontEncoding encoding); - WXDECLARE_COMPAT_SETTERS + wxDECLARE_COMMON_FONT_METHODS(); // implementation only from now on // ------------------------------- virtual bool RealizeResource(); - // Unofficial API, don't use - virtual void SetNoAntiAliasing( bool noAA = TRUE ) ; - virtual bool GetNoAntiAliasing() const ; - // 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); + static void SetNativeInfoFromNSFont(WX_NSFont nsfont, 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) };