X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f8855e47254a28f5141524b3aaaac03c2944e997..e69d5138dc8f95e294ae6d03beb4f321406f4e34:/src/motif/font.cpp diff --git a/src/motif/font.cpp b/src/motif/font.cpp index 07d193cb74..6ecf549405 100644 --- a/src/motif/font.cpp +++ b/src/motif/font.cpp @@ -20,8 +20,6 @@ // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" -#include "wx/defs.h" - #ifdef __VMS #pragma message disable nosimpint #include "wx/vms_x_fix.h" @@ -31,13 +29,17 @@ #pragma message enable nosimpint #endif -#include "wx/string.h" #include "wx/font.h" -#include "wx/gdicmn.h" -#include "wx/utils.h" // for wxGetDisplay() + +#ifndef WX_PRECOMP + #include "wx/string.h" + #include "wx/utils.h" // for wxGetDisplay() + #include "wx/settings.h" + #include "wx/gdicmn.h" +#endif + #include "wx/fontutil.h" // for wxNativeFontInfo #include "wx/tokenzr.h" -#include "wx/settings.h" #include "wx/motif/private.h" IMPLEMENT_DYNAMIC_CLASS(wxFont, wxGDIObject) @@ -52,7 +54,7 @@ class wxXFont : public wxObject { public: wxXFont(); - ~wxXFont(); + virtual ~wxXFont(); #if !wxMOTIF_NEW_FONT_HANDLING WXFontStructPtr m_fontStruct; // XFontStruct @@ -89,7 +91,7 @@ public: data.m_underlined, data.m_faceName, data.m_encoding); } - ~wxFontRefData(); + virtual ~wxFontRefData(); protected: // common part of all ctors @@ -391,12 +393,14 @@ void wxFont::SetWeight(int weight) M_FONTDATA->m_nativeFontInfo.GetXFontName().Clear(); // invalid now } -void wxFont::SetFaceName(const wxString& faceName) +bool wxFont::SetFaceName(const wxString& faceName) { Unshare(); M_FONTDATA->m_faceName = faceName; M_FONTDATA->m_nativeFontInfo.GetXFontName().Clear(); // invalid now + + return wxFontBase::SetFaceName(faceName); } void wxFont::SetUnderlined(bool underlined) @@ -434,7 +438,7 @@ int wxFont::GetPointSize() const wxString wxFont::GetFaceName() const { - wxCHECK_MSG( Ok(), wxT(""), wxT("invalid font") ); + wxCHECK_MSG( Ok(), wxEmptyString, wxT("invalid font") ); return M_FONTDATA->m_faceName ; } @@ -478,7 +482,7 @@ const wxNativeFontInfo *wxFont::GetNativeFontInfo() const { wxCHECK_MSG( Ok(), (wxNativeFontInfo *)NULL, wxT("invalid font") ); - if(M_FONTDATA->m_nativeFontInfo.GetXFontName().IsEmpty()) + if(M_FONTDATA->m_nativeFontInfo.GetXFontName().empty()) GetInternalFont(); return &(M_FONTDATA->m_nativeFontInfo); @@ -536,7 +540,7 @@ wxXFont* wxFont::GetInternalFont(double scale, WXDisplay* display) const #endif f->m_display = ( display ? display : wxGetDisplay() ); f->m_scale = intScale; - + #if wxMOTIF_USE_RENDER_TABLE XmRendition rendition; XmRenderTable renderTable; @@ -652,13 +656,13 @@ 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); if( width ) *width = logical.width; if( height ) *height = logical.height; - if( ascent ) *ascent = -logical.y; - if( descent ) *descent = logical.height + logical.y; + if( ascent ) *ascent = -logical.y; + if( descent ) *descent = logical.height + logical.y; } #else // if !wxMOTIF_NEW_FONT_HANDLING @@ -671,7 +675,7 @@ void wxGetTextExtent(WXDisplay* display, const wxFont& font, int direction, ascent2, descent2; XCharStruct overall; - int slen = str.Len(); + int slen = str.length(); XTextExtents((XFontStruct*) pFontStruct, (char*) str.c_str(), slen, &direction, &ascent2, &descent2, &overall);