Fix wxFont construction from default wxFontInfo in wxMSW.

Don't use -1 as the real point size.

Also update the font sample to allow testing such font.

Closes #16468.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@77494 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2014-08-28 12:54:52 +00:00
parent 7a71428478
commit 05a1abfb1f
3 changed files with 12 additions and 2 deletions

View File

@@ -610,6 +610,7 @@ wxMSW:
- Add paragraph spacing attributes support to wxTextCtrl (dannchr).
- Show new style directory selector even for non existent paths (raychow).
- Fix order of radial gradient stops (Alexandru Pana).
- Fix font reated using wxFont(wxFontInfo()) ctor.
3.0.1: (released 2014-06-15)

View File

@@ -109,6 +109,7 @@ public:
void OnStrikethrough(wxCommandEvent& event);
void OnwxPointerFont(wxCommandEvent& event);
void OnFontDefault(wxCommandEvent& event);
void OnwxSystemSettingsFont(wxCommandEvent& event);
void OnTestTextValue(wxCommandEvent& event);
@@ -185,6 +186,7 @@ enum
Font_wxSMALL_FONT,
Font_wxITALIC_FONT,
Font_wxSWISS_FONT,
Font_wxFont_Default,
Font_Standard,
// wxSystemSettings::GetFont possible objects:
@@ -238,6 +240,7 @@ wxBEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(Font_wxSMALL_FONT, MyFrame::OnwxPointerFont)
EVT_MENU(Font_wxITALIC_FONT, MyFrame::OnwxPointerFont)
EVT_MENU(Font_wxSWISS_FONT, MyFrame::OnwxPointerFont)
EVT_MENU(Font_wxFont_Default, MyFrame::OnFontDefault)
EVT_MENU(Font_wxSYS_OEM_FIXED_FONT, MyFrame::OnwxSystemSettingsFont)
EVT_MENU(Font_wxSYS_ANSI_FIXED_FONT, MyFrame::OnwxSystemSettingsFont)
@@ -354,6 +357,7 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
menuStdFonts->Append(Font_wxSMALL_FONT, wxT("wxSMALL_FONT"), wxT("Small font used by wxWidgets"));
menuStdFonts->Append(Font_wxITALIC_FONT, wxT("wxITALIC_FONT"), wxT("Italic font used by wxWidgets"));
menuStdFonts->Append(Font_wxSWISS_FONT, wxT("wxSWISS_FONT"), wxT("Swiss font used by wxWidgets"));
menuStdFonts->Append(Font_wxFont_Default, wxT("wxFont()"), wxT("wxFont constructed from default wxFontInfo"));
menuSelect->Append(Font_Standard, wxT("Standar&d fonts"), menuStdFonts);
wxMenu *menuSettingFonts = new wxMenu;
@@ -774,6 +778,11 @@ void MyFrame::OnwxPointerFont(wxCommandEvent& event)
DoChangeFont(font);
}
void MyFrame::OnFontDefault(wxCommandEvent& WXUNUSED(event))
{
DoChangeFont(wxFont(wxFontInfo()));
}
void MyFrame::OnwxSystemSettingsFont(wxCommandEvent& event)
{
wxFont font;

View File

@@ -360,7 +360,7 @@ void wxFontRefData::Init(int pointSize,
if ( m_sizeUsingPixels )
SetPixelSize(pixelSize);
else
SetPointSize(pointSize);
SetPointSize(pointSize == -1 ? wxNORMAL_FONT->GetPointSize() : pointSize);
SetStyle(style);
SetWeight(weight);
@@ -841,7 +841,7 @@ bool wxFont::DoCreate(int pointSize,
// wxDEFAULT is a valid value for the font size too so we must treat it
// specially here (otherwise the size would be 70 == wxDEFAULT value)
if ( pointSize == wxDEFAULT || pointSize == -1 )
if ( pointSize == wxDEFAULT )
{
pointSize = wxNORMAL_FONT->GetPointSize();
}