Fix wxMotif build after wxFont API changes

Run-time seems to be totally broken, but fonts are probably not the most
important problem in this port, so don't bother fixing it.
This commit is contained in:
Vadim Zeitlin
2018-09-15 02:36:18 +02:00
parent 90dd87ee65
commit 18d7801346
2 changed files with 26 additions and 30 deletions

View File

@@ -27,19 +27,7 @@ public:
// ctors and such
wxFont() { }
wxFont(const wxFontInfo& info)
{
Create(info.GetPointSize(),
info.GetFamily(),
info.GetStyle(),
info.GetWeight(),
info.IsUnderlined(),
info.GetFaceName(),
info.GetEncoding());
if ( info.IsUsingSizeInPixels() )
SetPixelSize(info.GetPixelSize());
}
wxFont(const wxFontInfo& info);
wxFont(const wxNativeFontInfo& info);
@@ -82,18 +70,18 @@ public:
virtual ~wxFont();
// implement base class pure virtuals
virtual int GetPointSize() const;
virtual float GetFractionalPointSize() const;
virtual wxFontStyle GetStyle() const;
virtual wxFontWeight GetWeight() const;
virtual int GetNumericWeight() const;
virtual bool GetUnderlined() const;
virtual wxString GetFaceName() const;
virtual wxFontEncoding GetEncoding() const;
virtual const wxNativeFontInfo *GetNativeFontInfo() const;
virtual void SetPointSize(int pointSize);
virtual void SetFractionalPointSize(float pointSize);
virtual void SetFamily(wxFontFamily family);
virtual void SetStyle(wxFontStyle style);
virtual void SetWeight(wxFontWeight weight);
virtual void SetNumericWeight(int weight);
virtual bool SetFaceName(const wxString& faceName);
virtual void SetUnderlined(bool underlined);
virtual void SetEncoding(wxFontEncoding encoding);

View File

@@ -74,10 +74,10 @@ class wxFontRefData: public wxGDIRefData
public:
wxFontRefData(const wxFontInfo& info = wxFontInfo())
{
Init(info.GetPointSize(),
Init(info.GetFractionalPointSize(),
info.GetFamily(),
info.GetStyle(),
info.GetWeight(),
info.GetNumericWeight(),
info.IsUnderlined(),
info.GetFaceName(),
info.GetEncoding());
@@ -93,19 +93,19 @@ public:
protected:
// common part of all ctors
void Init(int size,
void Init(float size,
wxFontFamily family,
wxFontStyle style,
wxFontWeight weight,
int weight,
bool underlined,
const wxString& faceName,
wxFontEncoding encoding);
// font attributes
int m_pointSize;
float m_pointSize;
wxFontFamily m_family;
wxFontStyle m_style;
wxFontWeight m_weight;
int m_weight;
bool m_underlined;
wxString m_faceName;
wxFontEncoding m_encoding;
@@ -163,10 +163,10 @@ wxXFont::~wxXFont()
// wxFontRefData
// ----------------------------------------------------------------------------
void wxFontRefData::Init(int pointSize,
void wxFontRefData::Init(float pointSize,
wxFontFamily family,
wxFontStyle style,
wxFontWeight weight,
int weight,
bool underlined,
const wxString& faceName,
wxFontEncoding encoding)
@@ -181,7 +181,7 @@ void wxFontRefData::Init(int pointSize,
m_style = style;
m_weight = weight;
if (pointSize == -1)
if (pointSize < 0)
m_pointSize = 12;
else
m_pointSize = pointSize;
@@ -213,6 +213,14 @@ wxFont::wxFont(const wxNativeFontInfo& info)
(void)Create(info.GetXFontName());
}
wxFont::wxFont(const wxFontInfo& info)
{
m_refData = new wxFontRefData(info);
if ( info.IsUsingSizeInPixels() )
SetPixelSize(info.GetPixelSize());
}
bool wxFont::Create(int pointSize,
wxFontFamily family,
wxFontStyle style,
@@ -366,7 +374,7 @@ void wxFont::Unshare()
}
}
void wxFont::SetPointSize(int pointSize)
void wxFont::SetFractionalPointSize(float pointSize)
{
Unshare();
@@ -390,7 +398,7 @@ void wxFont::SetStyle(wxFontStyle style)
M_FONTDATA->m_nativeFontInfo.GetXFontName().Clear(); // invalid now
}
void wxFont::SetWeight(wxFontWeight weight)
void wxFont::SetNumericWeight(int weight)
{
Unshare();
@@ -434,7 +442,7 @@ void wxFont::DoSetNativeFontInfo(const wxNativeFontInfo& info)
// query font attributes
// ----------------------------------------------------------------------------
int wxFont::GetPointSize() const
float wxFont::GetFractionalPointSize() const
{
wxCHECK_MSG( IsOk(), 0, wxT("invalid font") );
@@ -460,7 +468,7 @@ wxFontStyle wxFont::GetStyle() const
return M_FONTDATA->m_style;
}
wxFontWeight wxFont::GetWeight() const
int wxFont::GetNumericWeight() const
{
wxCHECK_MSG( IsOk(), wxFONTWEIGHT_MAX, wxT("invalid font") );