]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/png/pngdemo.cpp
made operator==() and \!=() const (still doesn't make them correct probably)
[wxWidgets.git] / samples / png / pngdemo.cpp
index 07d19ac4a5269e4f23d5f875acf486284852136a..186d3c90ac752fb56b46f8b81388c82c692307da 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     04/01/98
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart and Markus Holzem
 // Created:     04/01/98
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart and Markus Holzem
-// Licence:    wxWindows license
+// Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
 #ifdef __GNUG__
 /////////////////////////////////////////////////////////////////////////////
 
 #ifdef __GNUG__
 #pragma hdrstop
 #endif
 
 #pragma hdrstop
 #endif
 
-#ifdef __WXMSW__
-#include <wx/pnghand.h>
-// #include <wx/xpmhand.h>
-#endif
+#include "wx/image.h"
 
 #include "pngdemo.h"
 
 
 #include "pngdemo.h"
 
@@ -38,11 +35,7 @@ MyApp::MyApp()
 
 bool MyApp::OnInit(void)
 {
 
 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));
 
   // Create the main frame window
   frame = new MyFrame((wxFrame *) NULL, "wxPNGBitmap Demo", wxPoint(0, 0), wxSize(300, 300));
@@ -94,6 +87,16 @@ MyFrame::MyFrame(wxFrame *frame, const wxString& title, const wxPoint& pos, cons
   canvas = (MyCanvas *) NULL;
 }
 
   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);
 void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
 {
     Close(TRUE);
@@ -107,10 +110,11 @@ void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
 
 void MyFrame::OnSaveFile(wxCommandEvent& WXUNUSED(event))
 {
 
 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 == "")  return;
   
   wxBitmap *backstore = new wxBitmap( 150, 150 );
   
   
   wxBitmap *backstore = new wxBitmap( 150, 150 );
   
@@ -134,15 +138,17 @@ void MyFrame::OnSaveFile(wxCommandEvent& WXUNUSED(event))
 
 void MyFrame::OnLoadFile(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 == "")
+        return;
 
     if ( g_TestBitmap )
         delete g_TestBitmap;
 
     if ( g_TestBitmap )
         delete g_TestBitmap;
+
     g_TestBitmap = new wxBitmap(f, wxBITMAP_TYPE_PNG);
     if (!g_TestBitmap->Ok())
     {
     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;
-}