X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6762286db6cf974817dead5b88bebf0e390dbb7e..4cb0e8d05cadea6be3a7bd93f1fea9a9e0df95f0:/include/wx/osx/font.h diff --git a/include/wx/osx/font.h b/include/wx/osx/font.h index 05f1b50601..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, @@ -46,6 +65,18 @@ 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,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(); @@ -93,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) };