]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/png/pngdemo.cpp
overflow fix
[wxWidgets.git] / samples / png / pngdemo.cpp
index 0d88f11699226c48808d27b709e503b60085f0a7..7100fd22bd129764d1b5628cf8d631ca78d51556 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     04/01/98
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart and Markus Holzem
-// Licence:    wxWindows license
+// Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
 #ifdef __GNUG__
@@ -38,7 +38,7 @@ bool MyApp::OnInit(void)
   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);
@@ -47,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);
@@ -68,7 +68,7 @@ bool MyApp::OnInit(void)
 
   frame->Show(TRUE);
 
-  frame->SetStatusText("Hello, wxWindows");
+  frame->SetStatusText(_T("Hello, wxWindows"));
 
   return TRUE;
 }
@@ -87,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);
@@ -94,8 +104,8 @@ 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))
@@ -104,7 +114,7 @@ void MyFrame::OnSaveFile(wxCommandEvent& WXUNUSED(event))
                                (const wxChar *)NULL,
                                wxT("png"), wxT("PNG files (*.png)|*.png") );
 
-  if (f == "")  return;
+  if (f == _T(""))  return;
   
   wxBitmap *backstore = new wxBitmap( 150, 150 );
   
@@ -117,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 );
   
@@ -128,16 +138,17 @@ void MyFrame::OnSaveFile(wxCommandEvent& WXUNUSED(event))
 
 void MyFrame::OnLoadFile(wxCommandEvent& WXUNUSED(event))
 {
-       // Show file selector.
-       wxString f = wxFileSelector(wxT("Open Image"), (const wxChar *) NULL,
+    // 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())
     {