1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
#include "clFontHelper.h"
#include <wx/tokenzr.h>
wxFont clFontHelper::FromString(const wxString& str)
{
wxArrayString parts = ::wxStringTokenize(str, ";", wxTOKEN_STRTOK);
if(parts.size() != 5) return wxNullFont;
long iPointSize, iFamily, iWeight, iStyle;
wxString facename = parts.Item(0);
parts.Item(1).ToCLong(&iPointSize);
parts.Item(2).ToCLong(&iFamily);
parts.Item(3).ToCLong(&iWeight);
parts.Item(4).ToCLong(&iStyle);
bool bold = (iWeight == wxFONTWEIGHT_BOLD);
bool italic = (iStyle == wxFONTSTYLE_ITALIC);
wxFont font(wxFontInfo(iPointSize).Bold(bold).Italic(italic).FaceName(facename).Family((wxFontFamily)iFamily));
return font;
}
wxString clFontHelper::ToString(const wxFont& font)
{
if(!font.IsOk()) {
return "";
}
wxString str;
str << font.GetFaceName() << ";" << font.GetPointSize() << ";" << (int)font.GetFamily() << ";"
<< (int)font.GetWeight() << ";" << (int)font.GetStyle();
return str;
}
|