X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d3c7fc996a73e9f6a83067bc28a3c5581a3fee65..d71a2d786386b75b184b7a4947e153d51b1af091:/src/motif/font.cpp?ds=inline diff --git a/src/motif/font.cpp b/src/motif/font.cpp index 6ecf549405..42e6e1e70f 100644 --- a/src/motif/font.cpp +++ b/src/motif/font.cpp @@ -59,7 +59,7 @@ public: #if !wxMOTIF_NEW_FONT_HANDLING WXFontStructPtr m_fontStruct; // XFontStruct #endif -#if !wxMOTIF_USE_RENDER_TABLE && !wxMOTIF_NEW_FONT_HANDLING +#if !wxMOTIF_USE_RENDER_TABLE WXFontList m_fontList; // Motif XmFontList #else // if wxUSE_RENDER_TABLE WXRenderTable m_renderTable; // Motif XmRenderTable @@ -131,7 +131,7 @@ wxXFont::wxXFont() #if !wxMOTIF_NEW_FONT_HANDLING m_fontStruct = (WXFontStructPtr) 0; #endif -#if !wxMOTIF_USE_RENDER_TABLE && !wxMOTIF_NEW_FONT_HANDLING +#if !wxMOTIF_USE_RENDER_TABLE m_fontList = (WXFontList) 0; #else // if wxMOTIF_USE_RENDER_TABLE m_renderTable = (WXRenderTable) 0; @@ -211,6 +211,8 @@ wxFontRefData::~wxFontRefData() m_fonts.Clear(); } +#define M_FONTDATA ((wxFontRefData*)m_refData) + // ---------------------------------------------------------------------------- // wxFont // ---------------------------------------------------------------------------- @@ -278,7 +280,7 @@ bool wxFont::Create(const wxString& fontname, wxFontEncoding enc) tmp = tn.GetNextToken(); // pointsize if (tmp != wxT("*")) { - long num = wxStrtol (tmp.c_str(), (wxChar **) NULL, 10); + long num = wxStrtol (tmp.mb_str(), (wxChar **) NULL, 10); M_FONTDATA->m_pointSize = (int)(num / 10); } @@ -548,7 +550,7 @@ wxXFont* wxFont::GetInternalFont(double scale, WXDisplay* display) const int count = 0; #if wxMOTIF_NEW_FONT_HANDLING - wxChar* fontSpec = wxStrdup( xFontSpec.c_str() ); + wxChar* fontSpec = wxStrdup( xFontSpec.mb_str() ); XtSetArg( args[count], XmNfontName, fontSpec ); ++count; XtSetArg( args[count], XmNfontType, XmFONT_IS_FONTSET ); ++count; #else @@ -633,7 +635,7 @@ WXFontType wxFont::GetFontTypeC(WXDisplay* display) const #endif } -#if wxMOTIF_NEW_FONT_HANDLING +#if wxMOTIF_USE_RENDER_TABLE WXFontSet wxFont::GetFontSet(double scale, WXDisplay* display) const { @@ -657,7 +659,7 @@ void wxGetTextExtent(WXDisplay* display, const wxFont& font, double scale, XRectangle ink, logical; WXFontSet fset = font.GetFontSet(scale, display); - XmbTextExtents( (XFontSet)fset, str.c_str(), str.length(), &ink, &logical); + XmbTextExtents( (XFontSet)fset, str.mb_str(), str.length(), &ink, &logical); if( width ) *width = logical.width; if( height ) *height = logical.height; @@ -665,7 +667,7 @@ void wxGetTextExtent(WXDisplay* display, const wxFont& font, double scale, if( descent ) *descent = logical.height + logical.y; } -#else // if !wxMOTIF_NEW_FONT_HANDLING +#else // if !wxMOTIF_USE_RENDER_TABLE void wxGetTextExtent(WXDisplay* display, const wxFont& font, double scale, const wxString& str, @@ -677,7 +679,7 @@ void wxGetTextExtent(WXDisplay* display, const wxFont& font, XCharStruct overall; int slen = str.length(); - XTextExtents((XFontStruct*) pFontStruct, (char*) str.c_str(), slen, + XTextExtents((XFontStruct*) pFontStruct, (char*) str.mb_str(), slen, &direction, &ascent2, &descent2, &overall); if ( width ) @@ -690,4 +692,4 @@ void wxGetTextExtent(WXDisplay* display, const wxFont& font, *ascent = ascent2; } -#endif // !wxMOTIF_NEW_FONT_HANDLING +#endif // !wxMOTIF_USE_RENDER_TABLE