X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/189e08b45ac97195a4f975fe8507439a8739e5fa..be71e18af4e329233714e2e0b59049ef6b3c606d:/samples/font/font.cpp diff --git a/samples/font/font.cpp b/samples/font/font.cpp index 4736134731..472ac4a4ab 100644 --- a/samples/font/font.cpp +++ b/samples/font/font.cpp @@ -262,10 +262,10 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size) class MyEncodingEnumerator : public wxFontEnumerator { public: - MyEncodingEnumerator() + MyEncodingEnumerator() { m_n = 0; } - const wxString& GetText() const + const wxString& GetText() const { return m_text; } protected: @@ -273,7 +273,7 @@ protected: const wxString& encoding) { wxString text; - text.Printf("Encoding %d: %s (available in facename '%s')\n", + text.Printf(wxT("Encoding %d: %s (available in facename '%s')\n"), ++m_n, encoding.c_str(), facename.c_str()); m_text += text; return TRUE; @@ -290,7 +290,7 @@ void MyFrame::OnEnumerateEncodings(wxCommandEvent& WXUNUSED(event)) fontEnumerator.EnumerateEncodings(); - wxLogMessage("Enumerating all available encodings:\n%s", + wxLogMessage(wxT("Enumerating all available encodings:\n%s"), fontEnumerator.GetText().c_str()); } @@ -299,10 +299,10 @@ void MyFrame::OnEnumerateEncodings(wxCommandEvent& WXUNUSED(event)) class MyFontEnumerator : public wxFontEnumerator { public: - bool GotAny() const + bool GotAny() const { return !m_facenames.IsEmpty(); } - const wxArrayString& GetFacenames() const + const wxArrayString& GetFacenames() const { return m_facenames; } protected: @@ -329,8 +329,8 @@ bool MyFrame::DoEnumerateFamilies(bool fixedWidthOnly, int nFacenames = fontEnumerator.GetFacenames().GetCount(); if ( !silent ) { - wxLogStatus(this, "Found %d %sfonts", - nFacenames, fixedWidthOnly ? "fixed width " : ""); + wxLogStatus(this, wxT("Found %d %sfonts"), + nFacenames, fixedWidthOnly ? wxT("fixed width ") : wxT("")); } wxString facename; @@ -368,7 +368,7 @@ bool MyFrame::DoEnumerateFamilies(bool fixedWidthOnly, } else if ( !silent ) { - wxLogWarning("No such fonts found."); + wxLogWarning(wxT("No such fonts found.")); } return FALSE; @@ -391,15 +391,15 @@ void MyFrame::OnEnumerateFamiliesForEncoding(wxCommandEvent& WXUNUSED(event)) static const wxString encodingNames[] = { - "West European (Latin 1)", - "Central European (Latin 2)", - "Cyrillic (Latin 5)", - "Greek (Latin 7)", - "West European new (Latin 0)", + "Western European (ISO-8859-1)", + "Central European (ISO-8859-2)", + "Cyrillic (ISO-8859-5)", + "Greek (ISO-8859-7)", + "Western European with Euro (ISO-8859-15)", "KOI8-R", - "Windows Latin 2", - "Windows Cyrillic", - "Windows Latin 1", + "Windows Central European (CP 1250)", + "Windows Cyrillic (CP 1251)", + "Windows Western European (CP 1252)", }; int n = wxGetSingleChoiceIndex("Choose an encoding", "Font demo", @@ -415,22 +415,20 @@ void MyFrame::OnEnumerateFamiliesForEncoding(wxCommandEvent& WXUNUSED(event)) void MyFrame::OnCheckNativeToFromString(wxCommandEvent& WXUNUSED(event)) { - wxString fontInfo = m_canvas->GetTextFont().GetNativeFontInfo().ToString(); + wxString fontInfo = m_canvas->GetTextFont().GetNativeFontInfoDesc(); - if(fontInfo.IsEmpty()) - wxMessageBox("Native font info string is empty!", "Font demo", - wxOK); + if ( fontInfo.IsEmpty() ) + { + wxLogError(wxT("Native font info string is empty!")); + } else { - wxNativeFontInfo info; - info.FromString(fontInfo); - wxFont font(info); - if(fontInfo == font.GetNativeFontInfo().ToString()) - wxMessageBox("wxNativeFontInfo ToString()/FromString() works!", - "Font demo", wxOK); + wxFont *font = wxFont::New(fontInfo); + if ( fontInfo != font->GetNativeFontInfoDesc() ) + wxLogError(wxT("wxNativeFontInfo ToString()/FromString() broken!")); else - wxMessageBox("wxNativeFontInfo ToString()/FromString() doesn't work!", - "Font demo", wxOK); + wxLogError(wxT("wxNativeFontInfo works: %s"), fontInfo.c_str()); + delete font; } } @@ -453,7 +451,7 @@ void MyFrame::DoResizeFont(int diff) void MyFrame::DoChangeFont(const wxFont& font, const wxColour& col) { - Resize(GetSize(), font); + Resize(GetClientSize(), font); m_canvas->SetTextFont(font); if ( col.Ok() ) @@ -528,7 +526,7 @@ void MyFrame::OnViewMsg(wxCommandEvent& WXUNUSED(event)) if ( line.Left(len) == prefix ) { // found! - const char *pc = line.c_str() + len; + const wxChar *pc = line.c_str() + len; if ( *pc == '"' ) pc++; @@ -543,7 +541,7 @@ void MyFrame::OnViewMsg(wxCommandEvent& WXUNUSED(event)) if ( !charset ) { - wxLogError("The file '%s' doesn't contain charset information.", + wxLogError(wxT("The file '%s' doesn't contain charset information."), filename.c_str()); return; @@ -553,20 +551,21 @@ void MyFrame::OnViewMsg(wxCommandEvent& WXUNUSED(event)) wxFontEncoding fontenc = wxTheFontMapper->CharsetToEncoding(charset); if ( fontenc == wxFONTENCODING_SYSTEM ) { - wxLogError("Charset '%s' is unsupported.", charset.c_str()); + wxLogError(wxT("Charset '%s' is unsupported."), charset.c_str()); return; } m_textctrl->LoadFile(filename); - if (!wxTheFontMapper->IsEncodingAvailable(fontenc)) + if ( fontenc == wxFONTENCODING_UTF8 || + !wxTheFontMapper->IsEncodingAvailable(fontenc) ) { // try to find some similar encoding: wxFontEncoding encAlt; if ( wxTheFontMapper->GetAltForEncoding(fontenc, &encAlt) ) { wxEncodingConverter conv; - + if (conv.Init(fontenc, encAlt)) { fontenc = encAlt; @@ -574,13 +573,13 @@ void MyFrame::OnViewMsg(wxCommandEvent& WXUNUSED(event)) } else { - wxLogWarning("Cannot convert from '%s' to '%s'.", + wxLogWarning(wxT("Cannot convert from '%s' to '%s'."), wxFontMapper::GetEncodingDescription(fontenc).c_str(), wxFontMapper::GetEncodingDescription(encAlt).c_str()); } } else - wxLogWarning("No fonts for encoding '%s' on this system.", + wxLogWarning(wxT("No fonts for encoding '%s' on this system."), wxFontMapper::GetEncodingDescription(fontenc).c_str()); } @@ -596,7 +595,7 @@ void MyFrame::OnViewMsg(wxCommandEvent& WXUNUSED(event)) } else { - wxLogWarning("No fonts for encoding '%s' on this system.", + wxLogWarning(wxT("No fonts for encoding '%s' on this system."), wxFontMapper::GetEncodingDescription(fontenc).c_str()); } } @@ -612,9 +611,7 @@ void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event)) void MyFrame::OnSize(wxSizeEvent& event) { - wxSize size = event.GetSize(); - - Resize(size); + Resize(GetClientSize()); event.Skip(); } @@ -670,7 +667,7 @@ void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) ) // output the font name/info wxString fontInfo; - fontInfo.Printf("Font size is %d points, family is %s, style %s, weight %s", + fontInfo.Printf(wxT("Font size is %d points, family is %s, style %s, weight %s"), m_font.GetPointSize(), m_font.GetFamilyString().c_str(), m_font.GetStyleString().c_str(), @@ -678,11 +675,12 @@ void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) ) dc.DrawText(fontInfo, 5, 5); - if(m_font.Ok()) + if ( m_font.Ok() ) { - dc.SetFont(wxFont(m_font.GetNativeFontInfo())); - fontInfo.Printf("Native font info: %s", m_font.GetNativeFontInfo().ToString().GetData()); - dc.DrawText(fontInfo, 5, 5 + dc.GetCharHeight()); + wxString fontDesc = m_font.GetNativeFontInfoDesc(); + dc.SetFont(m_font); + fontInfo.Printf(wxT("Native font info: %s"), fontDesc.c_str()); + dc.DrawText(fontInfo, 5, 5 + dc.GetCharHeight()); } // prepare to draw the font @@ -702,7 +700,7 @@ void MyCanvas::OnPaint( wxPaintEvent &WXUNUSED(event) ) { for ( int j = 0; j < 32; j++ ) { - dc.DrawText(char(32*i + j), x + w*j, y + h*i); + dc.DrawText(wxChar(32*i + j), x + w*j, y + h*i); } }