#include "wx/x11/private.h"
#include "wx/gtk/private/string.h"
- #define wxPANGO_CONV(s) (wxConvUTF8.cWX2MB((s)))
- #define wxPANGO_CONV_BACK(s) (wxConvUTF8.cMB2WX((s)))
+ #define wxPANGO_CONV(s) s.utf8_str()
+ #define wxPANGO_CONV_BACK(s) wxString::FromUTF8Unchecked(s)
#endif
// ----------------------------------------------------------------------------
g_free(families);
- // Some gtk+ systems might query for a non-existing font from
+ // Some gtk+ systems might query for a non-existing font from
// wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT) on initialization,
// don't assert until wxSystemSettings::GetFont is checked for this - MR
// wxASSERT_MSG( family, "No appropriate PangoFontFamily found for ::description" );
bool wxNativeEncodingInfo::FromString(const wxString& s)
{
// use ";", not "-" because it may be part of encoding name
- wxStringTokenizer tokenizer(s, _T(";"));
+ wxStringTokenizer tokenizer(s, wxT(";"));
wxString encid = tokenizer.GetNextToken();
long enc;
wxString wxNativeEncodingInfo::ToString() const
{
wxString s;
- s << (long)encoding << _T(';') << xregistry << _T(';') << xencoding;
+ s << (long)encoding << wxT(';') << xregistry << wxT(';') << xencoding;
if ( !facename.empty() )
{
- s << _T(';') << facename;
+ s << wxT(';') << facename;
}
return s;
bool wxNativeFontInfo::FromString(const wxString& s)
{
- wxStringTokenizer tokenizer(s, _T(";"));
+ wxStringTokenizer tokenizer(s, wxT(";"));
// check the version
wxString token = tokenizer.GetNextToken();
- if ( token != _T('0') )
+ if ( token != wxT('0') )
return false;
xFontName = tokenizer.GetNextToken();
wxString wxNativeFontInfo::ToString() const
{
// 0 is the version
- return wxString::Format(_T("%d;%s"), 0, GetXFontName().c_str());
+ return wxString::Format(wxT("%d;%s"), 0, GetXFontName().c_str());
}
bool wxNativeFontInfo::FromUserString(const wxString& s)
wxString wxNativeFontInfo::GetXFontComponent(wxXLFDField field) const
{
- wxCHECK_MSG( field < wxXLFD_MAX, wxEmptyString, _T("invalid XLFD field") );
+ wxCHECK_MSG( field < wxXLFD_MAX, wxEmptyString, wxT("invalid XLFD field") );
if ( !HasElements() )
{
- // const_cast
- if ( !((wxNativeFontInfo *)this)->FromXFontName(xFontName) )
+ if ( !const_cast<wxNativeFontInfo *>(this)->FromXFontName(xFontName) )
return wxEmptyString;
}
bool wxNativeFontInfo::FromXFontName(const wxString& fontname)
{
// TODO: we should be able to handle the font aliases here, but how?
- wxStringTokenizer tokenizer(fontname, _T("-"));
+ wxStringTokenizer tokenizer(fontname, wxT("-"));
// skip the leading, usually empty field (font name registry)
if ( !tokenizer.HasMoreTokens() )
}
wxString field = tokenizer.GetNextToken();
- if ( !field.empty() && field != _T('*') )
+ if ( !field.empty() && field != wxT('*') )
{
// we're really initialized now
m_isDefault = false;
wxString elt = fontElements[n];
if ( elt.empty() && n != wxXLFD_ADDSTYLE )
{
- elt = _T('*');
+ elt = wxT('*');
}
- // const_cast
- ((wxNativeFontInfo *)this)->xFontName << _T('-') << elt;
+ const_cast<wxNativeFontInfo *>(this)->xFontName << wxT('-') << elt;
}
}
void
wxNativeFontInfo::SetXFontComponent(wxXLFDField field, const wxString& value)
{
- wxCHECK_RET( field < wxXLFD_MAX, _T("invalid XLFD field") );
+ wxCHECK_RET( field < wxXLFD_MAX, wxT("invalid XLFD field") );
// this class should be initialized with a valid font spec first and only
// then the fields may be modified!
- wxASSERT_MSG( !IsDefault(), _T("can't modify an uninitialized XLFD") );
+ wxASSERT_MSG( !IsDefault(), wxT("can't modify an uninitialized XLFD") );
if ( !HasElements() )
{
- // const_cast
- if ( !((wxNativeFontInfo *)this)->FromXFontName(xFontName) )
+ if ( !const_cast<wxNativeFontInfo *>(this)->FromXFontName(xFontName) )
{
- wxFAIL_MSG( _T("can't set font element for invalid XLFD") );
+ wxFAIL_MSG( wxT("can't set font element for invalid XLFD") );
return;
}
default:
// again, unknown but consider normal by default
- case _T('r'):
+ case wxT('r'):
return wxFONTSTYLE_NORMAL;
- case _T('i'):
+ case wxT('i'):
return wxFONTSTYLE_ITALIC;
- case _T('o'):
+ case wxT('o'):
return wxFONTSTYLE_SLANT;
}
}
wxFontWeight wxNativeFontInfo::GetWeight() const
{
const wxString s = GetXFontComponent(wxXLFD_WEIGHT).MakeLower();
- if ( s.find(_T("bold")) != wxString::npos || s == _T("black") )
+ if ( s.find(wxT("bold")) != wxString::npos || s == wxT("black") )
return wxFONTWEIGHT_BOLD;
- else if ( s == _T("light") )
+ else if ( s == wxT("light") )
return wxFONTWEIGHT_LIGHT;
return wxFONTWEIGHT_NORMAL;
{
// and wxWidgets family -- to X foundry, but we have to translate it to
// wxFontFamily somehow...
- wxFAIL_MSG(_T("not implemented")); // GetXFontComponent(wxXLFD_FOUNDRY);
+ wxFAIL_MSG(wxT("not implemented")); // GetXFontComponent(wxXLFD_FOUNDRY);
return wxFONTFAMILY_DEFAULT;
}
wxFontEncoding wxNativeFontInfo::GetEncoding() const
{
// we already have the code for this but need to refactor it first
- wxFAIL_MSG( _T("not implemented") );
+ wxFAIL_MSG( wxT("not implemented") );
return wxFONTENCODING_MAX;
}
void wxNativeFontInfo::SetPointSize(int pointsize)
{
- SetXFontComponent(wxXLFD_POINTSIZE, wxString::Format(_T("%d"), pointsize));
+ SetXFontComponent(wxXLFD_POINTSIZE, wxString::Format(wxT("%d"), pointsize));
}
void wxNativeFontInfo::SetStyle(wxFontStyle style)
switch ( style )
{
case wxFONTSTYLE_ITALIC:
- s = _T('i');
+ s = wxT('i');
break;
case wxFONTSTYLE_SLANT:
- s = _T('o');
+ s = wxT('o');
break;
case wxFONTSTYLE_NORMAL:
- s = _T('r');
+ s = wxT('r');
default:
- wxFAIL_MSG( _T("unknown wxFontStyle in wxNativeFontInfo::SetStyle") );
+ wxFAIL_MSG( wxT("unknown wxFontStyle in wxNativeFontInfo::SetStyle") );
return;
}
switch ( weight )
{
case wxFONTWEIGHT_BOLD:
- s = _T("bold");
+ s = wxT("bold");
break;
case wxFONTWEIGHT_LIGHT:
- s = _T("light");
+ s = wxT("light");
break;
case wxFONTWEIGHT_NORMAL:
- s = _T("medium");
+ s = wxT("medium");
break;
default:
- wxFAIL_MSG( _T("unknown wxFontWeight in wxNativeFontInfo::SetWeight") );
+ wxFAIL_MSG( wxT("unknown wxFontWeight in wxNativeFontInfo::SetWeight") );
return;
}
void wxNativeFontInfo::SetFamily(wxFontFamily WXUNUSED(family))
{
// wxFontFamily -> X foundry, anyone?
- wxFAIL_MSG( _T("not implemented") );
+ wxFAIL_MSG( wxT("not implemented") );
// SetXFontComponent(wxXLFD_FOUNDRY, ...);
}
bool wxGetNativeFontEncoding(wxFontEncoding encoding,
wxNativeEncodingInfo *info)
{
- wxCHECK_MSG( info, false, _T("bad pointer in wxGetNativeFontEncoding") );
+ wxCHECK_MSG( info, false, wxT("bad pointer in wxGetNativeFontEncoding") );
if ( encoding == wxFONTENCODING_DEFAULT )
{
bool wxTestFontEncoding(const wxNativeEncodingInfo& info)
{
wxString fontspec;
- fontspec.Printf(_T("-*-%s-*-*-*-*-*-*-*-*-*-*-%s-%s"),
- !info.facename ? _T("*") : info.facename.c_str(),
+ fontspec.Printf(wxT("-*-%s-*-*-*-*-*-*-*-*-*-*-%s-%s"),
+ !info.facename ? wxT("*") : info.facename.c_str(),
info.xregistry.c_str(),
info.xencoding.c_str());
//
// Make sure point size is correct for scale factor.
//
- wxStringTokenizer tokenizer(*xFontName, _T("-"), wxTOKEN_RET_DELIMS);
+ wxStringTokenizer tokenizer(*xFontName, wxT("-"), wxTOKEN_RET_DELIMS);
wxString newFontName;
for(int i = 0; i < 8; i++)
int i, round; // counters
- // first round: search for equal, then for smaller and for larger size
+ // first round: search for equal, then for smaller and for larger size
// with the given weight and style
int testweight = weight;
int teststyle = style;
// NULL or we'd crash in wxFont code
if ( !font )
{
- wxFAIL_MSG( _T("this encoding should be available!") );
+ wxFAIL_MSG( wxT("this encoding should be available!") );
font = wxLoadQueryFont(-1,
wxDEFAULT, wxNORMAL, wxNORMAL,
false, wxEmptyString,
- _T("*"), _T("*"),
+ wxT("*"), wxT("*"),
xFontName);
}
}
{
// some X servers will fail to load this font because there are too many
// matches so we must test explicitly for this
- if ( fontspec == _T("-*-*-*-*-*-*-*-*-*-*-*-*-*-*") )
+ if ( fontspec == wxT("-*-*-*-*-*-*-*-*-*-*-*-*-*-*") )
{
return true;
}
break;
default:
- wxFAIL_MSG(_T("unknown font style"));
+ wxFAIL_MSG(wxT("unknown font style"));
// fall back to normal
case wxNORMAL:
wxString sizeSpec;
if ( pointSize == -1 )
{
- sizeSpec = _T('*');
+ sizeSpec = wxT('*');
}
else
{
- sizeSpec.Printf(_T("%d"), pointSize);
+ sizeSpec.Printf(wxT("%d"), pointSize);
}
// construct the X font spec from our data
void wxFontModule::OnExit()
{
- delete g_fontHash;
-
- g_fontHash = NULL;
+ wxDELETE(g_fontHash);
}
#endif // GTK 2.0/1.x