1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxFont class
4 // Author: Julian Smart
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
15 // ----------------------------------------------------------------------------
17 // ----------------------------------------------------------------------------
19 class WXDLLIMPEXP_CORE wxFont
: public wxFontBase
25 #if FUTURE_WXWIN_COMPATIBILITY_3_0
30 bool underlined
= false,
31 const wxString
& face
= wxEmptyString
,
32 wxFontEncoding encoding
= wxFONTENCODING_DEFAULT
)
34 (void)Create(size
, (wxFontFamily
)family
, (wxFontStyle
)style
, (wxFontWeight
)weight
, underlined
, face
, encoding
);
42 bool underlined
= false,
43 const wxString
& face
= wxEmptyString
,
44 wxFontEncoding encoding
= wxFONTENCODING_DEFAULT
)
46 Create(size
, family
, style
, weight
, underlined
, face
, encoding
);
49 wxFont(const wxSize
& pixelSize
,
53 bool underlined
= false,
54 const wxString
& face
= wxEmptyString
,
55 wxFontEncoding encoding
= wxFONTENCODING_DEFAULT
)
57 Create(10, family
, style
, weight
, underlined
, face
, encoding
);
58 SetPixelSize(pixelSize
);
65 bool underlined
= false,
66 const wxString
& face
= wxEmptyString
,
67 wxFontEncoding encoding
= wxFONTENCODING_DEFAULT
);
69 wxFont(const wxNativeFontInfo
& info
)
74 wxFont(const wxString
& fontDesc
);
76 bool Create(const wxNativeFontInfo
& info
);
78 #if wxOSX_USE_ATSU_TEXT
79 bool MacCreateFromThemeFont( wxUint16 themeFontID
) ;
81 #if wxOSX_USE_CORE_TEXT
82 bool MacCreateFromUIFont( wxUint32 coreTextFontType
);
83 bool MacCreateFromCTFontDescriptor( const void * ctFontDescriptor
, int pointSize
= 0 );
84 bool MacCreateFromCTFont( const void * ctFont
);
89 // implement base class pure virtuals
90 virtual int GetPointSize() const;
91 virtual wxSize
GetPixelSize() const;
92 virtual wxFontFamily
GetFamily() const;
93 virtual wxFontStyle
GetStyle() const;
94 virtual wxFontWeight
GetWeight() const;
95 virtual bool GetUnderlined() const;
96 virtual wxString
GetFaceName() const;
97 virtual wxFontEncoding
GetEncoding() const;
98 virtual const wxNativeFontInfo
*GetNativeFontInfo() const;
100 virtual void SetPointSize(int pointSize
);
101 virtual void SetFamily(wxFontFamily family
);
102 virtual void SetStyle(wxFontStyle style
);
103 virtual void SetWeight(wxFontWeight weight
);
104 virtual bool SetFaceName(const wxString
& faceName
);
105 virtual void SetUnderlined(bool underlined
);
106 virtual void SetEncoding(wxFontEncoding encoding
);
108 WXDECLARE_COMPAT_SETTERS
110 // implementation only from now on
111 // -------------------------------
113 virtual bool RealizeResource();
115 // Unofficial API, don't use
116 virtual void SetNoAntiAliasing( bool noAA
= TRUE
) ;
117 virtual bool GetNoAntiAliasing() const ;
119 // Mac-specific, risks to change, don't use in portable code
121 #if wxOSX_USE_ATSU_TEXT
122 // 'old' Quickdraw accessors
123 short MacGetFontNum() const;
124 short MacGetFontSize() const;
125 wxByte
MacGetFontStyle() const;
127 // 'new' ATSUI accessors
128 wxUint32
MacGetATSUFontID() const;
129 wxUint32
MacGetATSUAdditionalQDStyles() const;
130 wxUint16
MacGetThemeFontID() const ;
132 // Returns an ATSUStyle not ATSUStyle*
134 #if wxOSX_USE_CORE_TEXT
135 const void * MacGetCTFont() const;
137 #if wxOSX_USE_CORE_TEXT || wxOSX_USE_ATSU_TEXT
138 void* MacGetATSUStyle() const ;
142 virtual wxGDIRefData
*CreateGDIRefData() const;
143 virtual wxGDIRefData
*CloneGDIRefData(const wxGDIRefData
*data
) const;
148 DECLARE_DYNAMIC_CLASS(wxFont
)
151 #endif // _WX_FONT_H_