X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2fd284a4a09793c29078296529d3e9db5acd0a0f..1e52188741389278cd99abf79218162c87024ba3:/samples/png/pngdemo.cpp diff --git a/samples/png/pngdemo.cpp b/samples/png/pngdemo.cpp index 07d19ac4a5..989b005dc1 100644 --- a/samples/png/pngdemo.cpp +++ b/samples/png/pngdemo.cpp @@ -5,8 +5,8 @@ // Modified by: // Created: 04/01/98 // RCS-ID: $Id$ -// Copyright: (c) Julian Smart and Markus Holzem -// Licence: wxWindows license +// Copyright: (c) Julian Smart +// Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// #ifdef __GNUG__ @@ -20,10 +20,7 @@ #pragma hdrstop #endif -#ifdef __WXMSW__ -#include -// #include -#endif +#include "wx/image.h" #include "pngdemo.h" @@ -38,14 +35,10 @@ MyApp::MyApp() bool MyApp::OnInit(void) { -#ifdef __WXMSW__ - wxBitmap::AddHandler(new wxPNGFileHandler); -// wxBitmap::AddHandler(new wxXPMFileHandler); -// wxBitmap::AddHandler(new wxXPMDataHandler); -#endif + wxImage::AddHandler(new wxPNGHandler); // Create the main frame window - frame = new MyFrame((wxFrame *) NULL, "wxPNGBitmap Demo", wxPoint(0, 0), wxSize(300, 300)); + frame = new MyFrame((wxFrame *) NULL, _T("wxPNGBitmap Demo"), wxPoint(0, 0), wxSize(300, 300)); // Give it a status line frame->CreateStatusBar(2); @@ -54,15 +47,15 @@ bool MyApp::OnInit(void) wxMenu *file_menu = new wxMenu; wxMenu *help_menu = new wxMenu; - file_menu->Append(PNGDEMO_LOAD_FILE, "&Load file", "Load file"); - file_menu->Append(PNGDEMO_SAVE_FILE, "&Save file", "Save file"); - file_menu->Append(PNGDEMO_QUIT, "E&xit", "Quit program"); - help_menu->Append(PNGDEMO_ABOUT, "&About", "About PNG demo"); + file_menu->Append(PNGDEMO_LOAD_FILE, _T("&Load file"), _T("Load file")); + file_menu->Append(PNGDEMO_SAVE_FILE, _T("&Save file"), _T("Save file")); + file_menu->Append(PNGDEMO_QUIT, _T("E&xit"), _T("Quit program")); + help_menu->Append(PNGDEMO_ABOUT, _T("&About"), _T("About PNG demo")); wxMenuBar *menu_bar = new wxMenuBar; - menu_bar->Append(file_menu, "&File"); - menu_bar->Append(help_menu, "&Help"); + menu_bar->Append(file_menu, _T("&File")); + menu_bar->Append(help_menu, _T("&Help")); // Associate the menu bar with the frame frame->SetMenuBar(menu_bar); @@ -75,7 +68,7 @@ bool MyApp::OnInit(void) frame->Show(TRUE); - frame->SetStatusText("Hello, wxWindows"); + frame->SetStatusText(_T("Hello, wxWindows")); return TRUE; } @@ -94,6 +87,16 @@ MyFrame::MyFrame(wxFrame *frame, const wxString& title, const wxPoint& pos, cons canvas = (MyCanvas *) NULL; } +// frame destructor +MyFrame::~MyFrame() +{ + if (g_TestBitmap) + { + delete g_TestBitmap; + g_TestBitmap = (wxBitmap *) NULL; + } +} + void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event)) { Close(TRUE); @@ -101,16 +104,17 @@ void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event)) void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event)) { - (void)wxMessageBox("PNG demo\nJulian Smart (c) 1998", - "About PNG Demo", wxOK); + (void)wxMessageBox(_T("PNG demo\nJulian Smart (c) 1998"), + _T("About PNG Demo"), wxOK); } void MyFrame::OnSaveFile(wxCommandEvent& WXUNUSED(event)) { - char *f = wxFileSelector( "Save Image", (const char *)NULL, (const char *)NULL, - "png", "PNG files (*.png)|*.png" ); + wxString f = wxFileSelector( wxT("Save Image"), (const wxChar *)NULL, + (const wxChar *)NULL, + wxT("png"), wxT("PNG files (*.png)|*.png") ); - if (!f) return; + if (f == _T("")) return; wxBitmap *backstore = new wxBitmap( 150, 150 ); @@ -123,7 +127,7 @@ void MyFrame::OnSaveFile(wxCommandEvent& WXUNUSED(event)) memDC.SetPen( *wxBLACK_PEN ); memDC.DrawLine( 0, 0, 0, 10 ); memDC.SetTextForeground( *wxWHITE ); - memDC.DrawText( "This is a memory dc.", 10, 10 ); + memDC.DrawText( _T("This is a memory dc."), 10, 10 ); memDC.SelectObject( wxNullBitmap ); @@ -134,15 +138,17 @@ void MyFrame::OnSaveFile(wxCommandEvent& WXUNUSED(event)) void MyFrame::OnLoadFile(wxCommandEvent& WXUNUSED(event)) { - // Show file selector. - char *f = wxFileSelector("Open Image", (const char *) NULL, (const char *) NULL,"png", - "PNG files (*.png)|*.png"); + // Show file selector. + wxString f = wxFileSelector(wxT("Open Image"), (const wxChar *) NULL, + (const wxChar *) NULL, wxT("png"), + wxT("PNG files (*.png)|*.png")); - if (!f) - return; + if (f == _T("")) + return; if ( g_TestBitmap ) delete g_TestBitmap; + g_TestBitmap = new wxBitmap(f, wxBITMAP_TYPE_PNG); if (!g_TestBitmap->Ok()) { @@ -207,12 +213,4 @@ void MyCanvas::OnPaint(wxPaintEvent& WXUNUSED(event)) } } -// Define the behaviour for the frame closing -// - must delete all frames except for the main one. -bool MyFrame::OnClose(void) -{ - Show(FALSE); - - return TRUE; -}