X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/142b3bc26a6e93f5857bc053c7748b2c845c4a8e..366e8ae67583e44f719d1c2fabb3a24eb3bda5b3:/src/unix/fontutil.cpp diff --git a/src/unix/fontutil.cpp b/src/unix/fontutil.cpp index 9501ea5ee7..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 @@ -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(); @@ -892,3 +1037,7 @@ void wxFontModule::OnExit() g_fontHash = (wxHashTable *)NULL; } + +#endif + // not GTK 2.0 + \ No newline at end of file