void wxFontRefData::Init(int pointSize, wxFontFamily family, wxFontStyle style, wxFontWeight weight, bool underlined, const wxString& faceName, wxFontEncoding encoding) { m_family = family == wxFONTFAMILY_DEFAULT ? wxFONTFAMILY_SWISS : family; m_faceName = faceName; // we accept both wxDEFAULT and wxNORMAL here - should we? m_style = style == wxDEFAULT ? wxFONTSTYLE_NORMAL : style; m_weight = weight == wxDEFAULT ? wxFONTWEIGHT_NORMAL : weight; m_underlined = underlined; m_encoding = encoding; #if wxUSE_UNICODE if ( m_nativeFontInfo.description ) pango_font_description_free(m_nativeFontInfo.description); // Create native font info m_nativeFontInfo.description = pango_font_description_new(); // if a face name is specified, use it if it's available, otherwise use // just the family if ( faceName.empty() || !wxFontEnumerator::IsValidFacename(faceName) ) { // TODO: scan system for valid fonts matching the given family instead // of hardcoding them here switch ( m_family ) { case wxFONTFAMILY_TELETYPE: m_faceName = wxT("monospace"); break; case wxFONTFAMILY_ROMAN: m_faceName = wxT("serif"); break; default: m_faceName = wxT("sans"); } } else // specified face name is available, use it { m_faceName = faceName; } m_nativeFontInfo.SetFaceName(m_faceName); m_nativeFontInfo.SetWeight((wxFontWeight)m_weight); m_nativeFontInfo.SetStyle((wxFontStyle)m_style); #endif // wxUSE_UNICODE SetPointSize(pointSize); }
void wxFontRefData::SetWeight(wxFontWeight weight) { m_nativeFontInfo.SetWeight((wxFontWeight)weight); }