X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0a68bc69086f122b9f7166f505c415db9ee21afe..2fca5a00045426b4e59c14a575b2baa3628e3847:/src/unix/fontutil.cpp diff --git a/src/unix/fontutil.cpp b/src/unix/fontutil.cpp index 7379c3aab2..08a6f769c3 100644 --- a/src/unix/fontutil.cpp +++ b/src/unix/fontutil.cpp @@ -31,6 +31,156 @@ #ifndef WX_PRECOMP #endif // PCH +#include "wx/fontutil.h" +#include "wx/fontmap.h" +#include "wx/tokenzr.h" +#include "wx/hash.h" +#include "wx/module.h" + +#ifdef __WXGTK20__ + +#include "wx/gtk/private.h" + +// ---------------------------------------------------------------------------- +// wxNativeFontInfo +// ---------------------------------------------------------------------------- + +void wxNativeFontInfo::Init() +{ + description = NULL; +} + +int wxNativeFontInfo::GetPointSize() const +{ + return pango_font_description_get_size( description ) / PANGO_SCALE; +} + +wxFontStyle wxNativeFontInfo::GetStyle() const +{ + wxFontStyle m_style = wxFONTSTYLE_NORMAL; + + switch (pango_font_description_get_style( description )) + { + case PANGO_STYLE_NORMAL: + m_style = wxFONTSTYLE_NORMAL; + break; + case PANGO_STYLE_ITALIC: + m_style = wxFONTSTYLE_ITALIC; + break; + case PANGO_STYLE_OBLIQUE: + m_style = wxFONTSTYLE_SLANT; + break; + } + + return m_style; +} + +wxFontWeight wxNativeFontInfo::GetWeight() const +{ + wxFontWeight m_weight = wxFONTWEIGHT_NORMAL; + + switch (pango_font_description_get_weight( description )) + { + case PANGO_WEIGHT_ULTRALIGHT: + m_weight = wxFONTWEIGHT_LIGHT; + break; + case PANGO_WEIGHT_LIGHT: + m_weight = wxFONTWEIGHT_LIGHT; + break; + case PANGO_WEIGHT_NORMAL: + m_weight = wxFONTWEIGHT_NORMAL; + break; + case PANGO_WEIGHT_BOLD: + m_weight = wxFONTWEIGHT_BOLD; + break; + case PANGO_WEIGHT_ULTRABOLD: + m_weight = wxFONTWEIGHT_BOLD; + break; + case PANGO_WEIGHT_HEAVY: + m_weight = wxFONTWEIGHT_BOLD; + break; + } + + return m_weight; +} + +bool wxNativeFontInfo::GetUnderlined() const +{ + return FALSE; +} + +wxString wxNativeFontInfo::GetFaceName() const +{ + wxString tmp = wxGTK_CONV_BACK( pango_font_description_get_family( description ) ); + + return tmp; +} + +wxFontFamily wxNativeFontInfo::GetFamily() const +{ + return wxFONTFAMILY_SWISS; +} + +wxFontEncoding wxNativeFontInfo::GetEncoding() const +{ + return wxFONTENCODING_SYSTEM; +} + +bool wxNativeFontInfo::FromString(const wxString& s) +{ + if (description) + pango_font_description_free( description ); + + description = pango_font_description_from_string( wxGTK_CONV( s ) ); + + return TRUE; +} + +wxString wxNativeFontInfo::ToString() const +{ + wxString tmp = wxGTK_CONV_BACK( pango_font_description_to_string( description ) ); + + return tmp; +} + +bool wxNativeFontInfo::FromUserString(const wxString& s) +{ + return FromString( s ); +} + +wxString wxNativeFontInfo::ToUserString() const +{ + return ToString(); +} + +// ---------------------------------------------------------------------------- +// wxNativeEncodingInfo +// ---------------------------------------------------------------------------- + +bool wxNativeEncodingInfo::FromString(const wxString& s) +{ + return FALSE; +} + +wxString wxNativeEncodingInfo::ToString() const +{ + return wxEmptyString; +} + +bool wxTestFontEncoding(const wxNativeEncodingInfo& info) +{ + return TRUE; +} + +bool wxGetNativeFontEncoding(wxFontEncoding encoding, + wxNativeEncodingInfo *info) +{ + return FALSE; +} + +#else + // __WXGTK20__ + #ifdef __X__ #ifdef __VMS__ #pragma message disable nosimpint @@ -53,11 +203,6 @@ #include #endif -#include "wx/fontutil.h" -#include "wx/fontmap.h" -#include "wx/tokenzr.h" -#include "wx/hash.h" -#include "wx/module.h" // ---------------------------------------------------------------------------- // private data @@ -425,7 +570,7 @@ wxNativeFont wxLoadQueryNearestFont(int pointSize, !wxTestFontEncoding(info) ) { #if wxUSE_FONTMAP - if ( !wxTheFontMapper->GetAltForEncoding(encoding, &info) ) + if ( !wxFontMapper::Get()->GetAltForEncoding(encoding, &info) ) #endif // wxUSE_FONTMAP { // unspported encoding - replace it with the default @@ -455,7 +600,7 @@ wxNativeFont wxLoadQueryNearestFont(int pointSize, (void) tokenizer.NextToken(); - newFontName += wxString::Format("%d-", pointSize); + newFontName += wxString::Format(wxT("%d-"), pointSize); while(tokenizer.HasMoreTokens()) newFontName += tokenizer.GetNextToken(); @@ -650,7 +795,7 @@ static wxNativeFont wxLoadQueryFont(int pointSize, // In fact pointSize is 10 * the normal point size so // divide by 10. - int pixelHeight = (int) ( (((float)pointSize) / 720.0) * 2.541 * (float) yPixelsPerCM * fudgeFactor) ; + int pixelHeight = (int) ( (((float)pointSize) / 720.0) * 2.541 * (float) yPixelsPerCM) ; // An alternative: assume that the screen is 72 dpi. //int pixelHeight = (int) (((float)pointSize / 720.0) * 72.0) ; @@ -841,7 +986,7 @@ static wxNativeFont wxLoadQueryFont(int pointSize, // if pointSize is -1, don't specify any wxString sizeSpec; - if ( fontSpec == -1 ) + if ( pointSize == -1 ) { sizeSpec = _T('*'); } @@ -892,3 +1037,7 @@ void wxFontModule::OnExit() g_fontHash = (wxHashTable *)NULL; } + +#endif + // not GTK 2.0 + \ No newline at end of file