]>
git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/font.h
1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxFont class
4 // Author: Julian Smart
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
15 #include "wx/gdicmn.h"
17 // ----------------------------------------------------------------------------
19 // ----------------------------------------------------------------------------
21 class WXDLLIMPEXP_CORE wxFont
: public wxFontBase
27 #if FUTURE_WXWIN_COMPATIBILITY_3_0
32 bool underlined
= false,
33 const wxString
& face
= wxEmptyString
,
34 wxFontEncoding encoding
= wxFONTENCODING_DEFAULT
)
36 (void)Create(size
, (wxFontFamily
)family
, (wxFontStyle
)style
, (wxFontWeight
)weight
, underlined
, face
, encoding
);
44 bool underlined
= false,
45 const wxString
& face
= wxEmptyString
,
46 wxFontEncoding encoding
= wxFONTENCODING_DEFAULT
)
48 Create(size
, family
, style
, weight
, underlined
, face
, encoding
);
55 bool underlined
= false,
56 const wxString
& face
= wxEmptyString
,
57 wxFontEncoding encoding
= wxFONTENCODING_DEFAULT
)
59 return DoCreate(size
, wxDefaultSize
, false, family
, style
,
60 weight
, underlined
, face
, encoding
);
63 #if FUTURE_WXWIN_COMPATIBILITY_3_0
64 wxFont(const wxSize
& pixelSize
,
68 bool underlined
= false,
69 const wxString
& face
= wxEmptyString
,
70 wxFontEncoding encoding
= wxFONTENCODING_DEFAULT
)
72 (void)Create(pixelSize
, (wxFontFamily
)family
, (wxFontStyle
)style
, (wxFontWeight
)weight
,
73 underlined
, face
, encoding
);
77 wxFont(const wxSize
& pixelSize
,
81 bool underlined
= false,
82 const wxString
& face
= wxEmptyString
,
83 wxFontEncoding encoding
= wxFONTENCODING_DEFAULT
)
85 (void)Create(pixelSize
, family
, style
, weight
,
86 underlined
, face
, encoding
);
89 wxFont(const wxNativeFontInfo
& info
, WXHFONT hFont
= 0)
94 wxFont(const wxString
& fontDesc
);
97 bool Create(const wxSize
& pixelSize
,
101 bool underlined
= false,
102 const wxString
& face
= wxEmptyString
,
103 wxFontEncoding encoding
= wxFONTENCODING_DEFAULT
)
105 return DoCreate(-1, pixelSize
, true, family
, style
,
106 weight
, underlined
, face
, encoding
);
109 bool Create(const wxNativeFontInfo
& info
, WXHFONT hFont
= 0);
113 // implement base class pure virtuals
114 virtual int GetPointSize() const;
115 virtual wxSize
GetPixelSize() const;
116 virtual bool IsUsingSizeInPixels() const;
117 virtual wxFontStyle
GetStyle() const;
118 virtual wxFontWeight
GetWeight() const;
119 virtual bool GetUnderlined() const;
120 virtual wxString
GetFaceName() const;
121 virtual wxFontEncoding
GetEncoding() const;
122 virtual const wxNativeFontInfo
*GetNativeFontInfo() const;
124 virtual void SetPointSize(int pointSize
);
125 virtual void SetPixelSize(const wxSize
& pixelSize
);
126 virtual void SetFamily(wxFontFamily family
);
127 virtual void SetStyle(wxFontStyle style
);
128 virtual void SetWeight(wxFontWeight weight
);
129 virtual bool SetFaceName(const wxString
& faceName
);
130 virtual void SetUnderlined(bool underlined
);
131 virtual void SetEncoding(wxFontEncoding encoding
);
133 wxDECLARE_COMMON_FONT_METHODS();
135 virtual bool IsFixedWidth() const;
137 // implementation only from now on
138 // -------------------------------
140 virtual bool IsFree() const;
141 virtual bool RealizeResource();
142 virtual WXHANDLE
GetResourceHandle() const;
143 virtual bool FreeResource(bool force
= false);
145 // for consistency with other wxMSW classes
146 WXHFONT
GetHFONT() const;
149 // real font creation function, used in all cases
150 bool DoCreate(int size
,
151 const wxSize
& pixelSize
,
152 bool sizeUsingPixels
,
156 bool underlined
= false,
157 const wxString
& face
= wxEmptyString
,
158 wxFontEncoding encoding
= wxFONTENCODING_DEFAULT
);
160 virtual void DoSetNativeFontInfo(const wxNativeFontInfo
& info
);
161 virtual wxFontFamily
DoGetFamily() const;
163 // implement wxObject virtuals which are used by AllocExclusive()
164 virtual wxGDIRefData
*CreateGDIRefData() const;
165 virtual wxGDIRefData
*CloneGDIRefData(const wxGDIRefData
*data
) const;
168 DECLARE_DYNAMIC_CLASS(wxFont
)
171 #endif // _WX_FONT_H_