Added encoding parameter to wxFontList::FindOrCreateFont

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4635 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn 1999-11-19 23:32:07 +00:00
parent f38374d0d7
commit 37bebc1112
3 changed files with 8 additions and 5 deletions

View File

@ -38,7 +38,7 @@ Used by wxWindows to add a font to the list, called in the font constructor.
\membersection{wxFontList::FindOrCreateFont}\label{findorcreatefont}
\func{wxFont *}{FindOrCreateFont}{\param{int}{ point\_size}, \param{int}{ family}, \param{int}{ style}, \param{int}{ weight}, \param{bool}{ underline = FALSE},
\param{const wxString\& }{facename = NULL}}
\param{const wxString\& }{facename = NULL}, \param{wxFontEncoding }{encoding = wxFONTENCODING_DEFAULT}{}}
Finds a font of the given specification, or creates one and adds it to the list. See the \helpref{wxFont constructor}{wxfontconstr} for
details of the arguments.

View File

@ -26,6 +26,7 @@
#include "wx/string.h"
#include "wx/setup.h"
#include "wx/colour.h"
#include "wx/font.h"
// ---------------------------------------------------------------------------
// forward declarations
@ -347,7 +348,8 @@ public:
void RemoveFont(wxFont *font);
wxFont *FindOrCreateFont(int pointSize, int family, int style, int weight,
bool underline = FALSE,
const wxString& face = wxEmptyString);
const wxString& face = wxEmptyString,
wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
};
class WXDLLEXPORT wxColourDatabase : public wxList

View File

@ -591,7 +591,7 @@ void wxFontList::RemoveFont (wxFont * font)
}
wxFont *wxFontList::
FindOrCreateFont (int PointSize, int FamilyOrFontId, int Style, int Weight, bool underline, const wxString& Face)
FindOrCreateFont (int PointSize, int FamilyOrFontId, int Style, int Weight, bool underline, const wxString& Face, wxFontEncoding encoding)
{
for (wxNode * node = First (); node; node = node->Next ())
{
@ -610,11 +610,12 @@ wxFont *wxFontList::
#else
each_font->GetFamily() == FamilyOrFontId &&
#endif
((each_font->GetFaceName() == wxT("")) || each_font->GetFaceName() == Face))
((each_font->GetFaceName() == wxT("")) || each_font->GetFaceName() == Face) &&
(encoding == wxFONTENCODING_DEFAULT || each_font->GetEncoding() == encoding))
//#endif
return each_font;
}
wxFont *font = new wxFont (PointSize, FamilyOrFontId, Style, Weight, underline, Face);
wxFont *font = new wxFont (PointSize, FamilyOrFontId, Style, Weight, underline, Face, encoding);
font->SetVisible(TRUE);
return font;
}