]>
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 // wxFontBase overridden functions
114 virtual wxString
GetNativeFontInfoDesc() const;
115 virtual wxString
GetNativeFontInfoUserDesc() const;
117 // implement base class pure virtuals
118 virtual int GetPointSize() const;
119 virtual wxSize
GetPixelSize() const;
120 virtual bool IsUsingSizeInPixels() const;
121 virtual wxFontFamily
GetFamily() const;
122 virtual wxFontStyle
GetStyle() const;
123 virtual wxFontWeight
GetWeight() const;
124 virtual bool GetUnderlined() const;
125 virtual wxString
GetFaceName() const;
126 virtual wxFontEncoding
GetEncoding() const;
127 virtual const wxNativeFontInfo
*GetNativeFontInfo() const;
129 virtual void SetPointSize(int pointSize
);
130 virtual void SetPixelSize(const wxSize
& pixelSize
);
131 virtual void SetFamily(wxFontFamily family
);
132 virtual void SetStyle(wxFontStyle style
);
133 virtual void SetWeight(wxFontWeight weight
);
134 virtual bool SetFaceName(const wxString
& faceName
);
135 virtual void SetUnderlined(bool underlined
);
136 virtual void SetEncoding(wxFontEncoding encoding
);
138 wxDECLARE_COMMON_FONT_METHODS();
140 virtual bool IsFixedWidth() const;
142 // implementation only from now on
143 // -------------------------------
145 virtual bool IsFree() const;
146 virtual bool RealizeResource();
147 virtual WXHANDLE
GetResourceHandle() const;
148 virtual bool FreeResource(bool force
= false);
150 // for consistency with other wxMSW classes
151 WXHFONT
GetHFONT() const;
154 // real font creation function, used in all cases
155 bool DoCreate(int size
,
156 const wxSize
& pixelSize
,
157 bool sizeUsingPixels
,
161 bool underlined
= false,
162 const wxString
& face
= wxEmptyString
,
163 wxFontEncoding encoding
= wxFONTENCODING_DEFAULT
);
165 virtual void DoSetNativeFontInfo(const wxNativeFontInfo
& info
);
167 // implement wxObject virtuals which are used by AllocExclusive()
168 virtual wxGDIRefData
*CreateGDIRefData() const;
169 virtual wxGDIRefData
*CloneGDIRefData(const wxGDIRefData
*data
) const;
172 DECLARE_DYNAMIC_CLASS(wxFont
)
175 #endif // _WX_FONT_H_