typo in GTK version caching code fixed
[wxWidgets.git] / samples / png / pngdemo.cpp
index d97f4058ddbc31139610bd5f3c0ab9e241b8df2c..473340a6e95e51fd39794423d36c31388eb2e47d 100644 (file)
@@ -20,9 +20,7 @@
 #pragma hdrstop
 #endif
 
-#ifdef __WXMSW__
-#include <wx/pnghand.h>
-#endif
+#include "wx/image.h"
 
 #include "pngdemo.h"
 
@@ -37,9 +35,7 @@ MyApp::MyApp()
 
 bool MyApp::OnInit(void)
 {
-#ifdef __WXMSW__
-  wxBitmap::AddHandler(new wxPNGFileHandler);
-#endif
+  wxImage::AddHandler(new wxPNGHandler);
 
   // Create the main frame window
   frame = new MyFrame((wxFrame *) NULL, "wxPNGBitmap Demo", wxPoint(0, 0), wxSize(300, 300));
@@ -104,10 +100,10 @@ void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
 
 void MyFrame::OnSaveFile(wxCommandEvent& WXUNUSED(event))
 {
-  char *f = wxFileSelector( "Save Image", (const char *)NULL, (const char *)NULL, 
+  wxString f = wxFileSelector( "Save Image", (const char *)NULL, (const char *)NULL,
                             "png", "PNG files (*.png)|*.png" );
 
-  if (!f)  return;
+  if (f == "")  return;
   
   wxBitmap *backstore = new wxBitmap( 150, 150 );
   
@@ -132,10 +128,10 @@ 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",
+       wxString f = wxFileSelector("Open Image", (const char *) NULL, (const char *) NULL,"png",
                  "PNG files (*.png)|*.png");
 
-       if (!f)
+       if (f == "")
          return;
 
     if ( g_TestBitmap )
@@ -168,7 +164,7 @@ MyCanvas::~MyCanvas(void)
 void MyCanvas::OnPaint(wxPaintEvent& WXUNUSED(event))
 {
   wxPaintDC dc(this);
-  dc.SetPen(wxRED_PEN);
+  dc.SetPen(wxRED_PEN);
 
   int i;
   for ( i = 0; i < 500; i += 10)
@@ -178,12 +174,12 @@ void MyCanvas::OnPaint(wxPaintEvent& WXUNUSED(event))
   if ( g_TestBitmap && g_TestBitmap->Ok() )
   {
     wxMemoryDC memDC;
-    if ( g_TestBitmap->GetColourMap() )
+    if ( g_TestBitmap->GetPalette() )
     {
-        memDC.SetColourMap(g_TestBitmap->GetColourMap());
-        dc.SetColourMap(g_TestBitmap->GetColourMap());
+        memDC.SetPalette(* g_TestBitmap->GetPalette());
+        dc.SetPalette(* g_TestBitmap->GetPalette());
     }
-    memDC.SelectObject(g_TestBitmap);
+    memDC.SelectObject(g_TestBitmap);
 
     // Normal, non-transparent blitting
     dc.Blit(20, 20, g_TestBitmap->GetWidth(), g_TestBitmap->GetHeight(), & memDC, 0, 0, wxCOPY, FALSE);
@@ -194,7 +190,7 @@ void MyCanvas::OnPaint(wxPaintEvent& WXUNUSED(event))
   if ( g_TestBitmap && g_TestBitmap->Ok() )
   {
     wxMemoryDC memDC;
-    memDC.SelectObject(g_TestBitmap);
+    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,
@@ -204,12 +200,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;
-}