projects
/
wxWidgets.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added debug/release DLL configurations so that VC++ chooses the right one when buildi...
[wxWidgets.git]
/
src
/
gtk
/
font.cpp
diff --git
a/src/gtk/font.cpp
b/src/gtk/font.cpp
index 3989eea3bfcdd2e2a55b5609179426eb36ba7d74..6201232e19311e7409fdf5aede3e6d1754f216d5 100644
(file)
--- a/
src/gtk/font.cpp
+++ b/
src/gtk/font.cpp
@@
-97,7
+97,7
@@
public:
void SetEncoding(wxFontEncoding encoding);
void SetNoAntiAliasing( bool no = TRUE ) { m_noAA = no; }
void SetEncoding(wxFontEncoding encoding);
void SetNoAntiAliasing( bool no = TRUE ) { m_noAA = no; }
- bool GetNoAntiAliasing() { return m_noAA; }
+ bool GetNoAntiAliasing()
const
{ return m_noAA; }
// and this one also modifies all the other font data fields
void SetNativeFontInfo(const wxNativeFontInfo& info);
// and this one also modifies all the other font data fields
void SetNativeFontInfo(const wxNativeFontInfo& info);
@@
-774,7
+774,7
@@
wxFontEncoding wxFont::GetEncoding() const
return M_FONTDATA->m_encoding;
}
return M_FONTDATA->m_encoding;
}
-bool wxFont::GetNoAntiAliasing()
+bool wxFont::GetNoAntiAliasing()
const
{
wxCHECK_MSG( Ok(), wxFONTENCODING_DEFAULT, wxT("invalid font") );
{
wxCHECK_MSG( Ok(), wxFONTENCODING_DEFAULT, wxT("invalid font") );
@@
-786,8
+786,13
@@
const wxNativeFontInfo *wxFont::GetNativeFontInfo() const
wxCHECK_MSG( Ok(), (wxNativeFontInfo *)NULL, wxT("invalid font") );
#ifndef __WXGTK20__
wxCHECK_MSG( Ok(), (wxNativeFontInfo *)NULL, wxT("invalid font") );
#ifndef __WXGTK20__
- if ( M_FONTDATA->m_nativeFontInfo.GetXFontName().empty() )
+ if ( !M_FONTDATA->HasNativeFont() )
+ {
+ // NB: this call has important side-effect: it not only finds
+ // GdkFont representation, it also initializes m_nativeFontInfo
+ // by calling its SetXFontName method
GetInternalFont();
GetInternalFont();
+ }
#endif
return &(M_FONTDATA->m_nativeFontInfo);
#endif
return &(M_FONTDATA->m_nativeFontInfo);
@@
-938,7
+943,7
@@
GdkFont *wxFont::GetInternalFont( float scale ) const
if ( !font )
{
// do we have the XLFD?
if ( !font )
{
// do we have the XLFD?
- if ( M_FONTDATA->HasNativeFont() )
+ if (
int_scale == 100 &&
M_FONTDATA->HasNativeFont() )
{
font = wxLoadFont(M_FONTDATA->m_nativeFontInfo.GetXFontName());
}
{
font = wxLoadFont(M_FONTDATA->m_nativeFontInfo.GetXFontName());
}
@@
-955,6
+960,10
@@
GdkFont *wxFont::GetInternalFont( float scale ) const
M_FONTDATA->m_faceName,
M_FONTDATA->m_encoding,
&xfontname);
M_FONTDATA->m_faceName,
M_FONTDATA->m_encoding,
&xfontname);
+ // NB: wxFont::GetNativeFontInfo relies on this
+ // side-effect of GetInternalFont
+ if ( int_scale == 100 )
+ M_FONTDATA->m_nativeFontInfo.SetXFontName(xfontname);
}
}
}
}