X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/925e9792d32e353233985f53a4845f154e455a58..9c8cfcb9c56798ebd29184e40227451a194c0c49:/samples/png/pngdemo.cpp diff --git a/samples/png/pngdemo.cpp b/samples/png/pngdemo.cpp index 5ae070ba07..20faa8d94d 100644 --- a/samples/png/pngdemo.cpp +++ b/samples/png/pngdemo.cpp @@ -9,10 +9,6 @@ // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ -#pragma implementation "pngdemo.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -110,40 +106,43 @@ void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event)) void MyFrame::OnSaveFile(wxCommandEvent& WXUNUSED(event)) { - wxString f = wxFileSelector( wxT("Save Image"), (const wxChar *)NULL, - (const wxChar *)NULL, - wxT("png"), wxT("PNG files (*.png)|*.png") ); - - if (f == _T("")) return; - - wxBitmap *backstore = new wxBitmap( 150, 150 ); - - wxMemoryDC memDC; - memDC.SelectObject( *backstore ); - memDC.Clear(); - memDC.SetBrush( *wxBLACK_BRUSH ); - memDC.SetPen( *wxWHITE_PEN ); - memDC.DrawRectangle( 0, 0, 150, 150 ); - memDC.SetPen( *wxBLACK_PEN ); - memDC.DrawLine( 0, 0, 0, 10 ); - memDC.SetTextForeground( *wxWHITE ); - memDC.DrawText( _T("This is a memory dc."), 10, 10 ); +#if wxUSE_FILEDLG + wxString f = wxFileSelector( wxT("Save Image"), (const wxChar *)NULL, + (const wxChar *)NULL, + wxT("png"), wxT("PNG files (*.png)|*.png") ); - memDC.SelectObject( wxNullBitmap ); + if (f.empty()) return; - backstore->SaveFile( f, wxBITMAP_TYPE_PNG, (wxPalette*)NULL ); + wxBitmap *backstore = new wxBitmap( 150, 150 ); - delete backstore; + wxMemoryDC memDC; + memDC.SelectObject( *backstore ); + memDC.Clear(); + memDC.SetBrush( *wxBLACK_BRUSH ); + memDC.SetPen( *wxWHITE_PEN ); + memDC.DrawRectangle( 0, 0, 150, 150 ); + memDC.SetPen( *wxBLACK_PEN ); + memDC.DrawLine( 0, 0, 0, 10 ); + memDC.SetTextForeground( *wxWHITE ); + memDC.DrawText( _T("This is a memory dc."), 10, 10 ); + + memDC.SelectObject( wxNullBitmap ); + + backstore->SaveFile( f, wxBITMAP_TYPE_PNG, (wxPalette*)NULL ); + + delete backstore; +#endif // wxUSE_FILEDLG } void MyFrame::OnLoadFile(wxCommandEvent& WXUNUSED(event)) { +#if wxUSE_FILEDLG // Show file selector. wxString f = wxFileSelector(wxT("Open Image"), (const wxChar *) NULL, (const wxChar *) NULL, wxT("png"), wxT("PNG files (*.png)|*.png")); - if (f == _T("")) + if (f.empty()) return; if ( g_TestBitmap ) @@ -157,6 +156,7 @@ void MyFrame::OnLoadFile(wxCommandEvent& WXUNUSED(event)) } canvas->Refresh(); +#endif // wxUSE_FILEDLG } BEGIN_EVENT_TABLE(MyCanvas, wxScrolledWindow) @@ -172,41 +172,39 @@ MyCanvas::MyCanvas(wxWindow *parent, const wxPoint& pos, const wxSize& size): // Define the repainting behaviour void MyCanvas::OnPaint(wxPaintEvent& WXUNUSED(event)) { - wxPaintDC dc(this); - dc.SetPen(* wxRED_PEN); - - int i; - for ( i = 0; i < 500; i += 10) - { - dc.DrawLine(0, i, 800, i); - } - if ( g_TestBitmap && g_TestBitmap->Ok() ) - { - wxMemoryDC memDC; - if ( g_TestBitmap->GetPalette() ) + wxPaintDC dc(this); + dc.SetPen(* wxRED_PEN); + + int i; + for ( i = 0; i < 500; i += 10) { - memDC.SetPalette(* g_TestBitmap->GetPalette()); - dc.SetPalette(* g_TestBitmap->GetPalette()); + dc.DrawLine(0, i, 800, i); + } + if ( g_TestBitmap && g_TestBitmap->Ok() ) + { + wxMemoryDC memDC; + if ( g_TestBitmap->GetPalette() ) + { + memDC.SetPalette(* g_TestBitmap->GetPalette()); + dc.SetPalette(* g_TestBitmap->GetPalette()); + } + memDC.SelectObject(* g_TestBitmap); + + // Normal, non-transparent blitting + dc.Blit(20, 20, g_TestBitmap->GetWidth(), g_TestBitmap->GetHeight(), & memDC, 0, 0, wxCOPY, false); + + memDC.SelectObject(wxNullBitmap); } - memDC.SelectObject(* g_TestBitmap); - - // Normal, non-transparent blitting - dc.Blit(20, 20, g_TestBitmap->GetWidth(), g_TestBitmap->GetHeight(), & memDC, 0, 0, wxCOPY, false); - - memDC.SelectObject(wxNullBitmap); - } - if ( g_TestBitmap && g_TestBitmap->Ok() ) - { - wxMemoryDC memDC; - memDC.SelectObject(* g_TestBitmap); + if ( g_TestBitmap && g_TestBitmap->Ok() ) + { + wxMemoryDC memDC; + memDC.SelectObject(* g_TestBitmap); - // Transparent blitting if there's a mask in the bitmap - dc.Blit(20 + g_TestBitmap->GetWidth() + 20, 20, g_TestBitmap->GetWidth(), g_TestBitmap->GetHeight(), & memDC, - 0, 0, wxCOPY, true); + // Transparent blitting if there's a mask in the bitmap + dc.Blit(20 + g_TestBitmap->GetWidth() + 20, 20, g_TestBitmap->GetWidth(), g_TestBitmap->GetHeight(), & memDC, + 0, 0, wxCOPY, true); - memDC.SelectObject(wxNullBitmap); - } + memDC.SelectObject(wxNullBitmap); + } } - -