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

View File

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