]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/pnghand.cpp
better wxGetUserId/Name
[wxWidgets.git] / src / msw / pnghand.cpp
index 01309d2b84dd749beef4e5734b7e078712bd11ba..c855358dd708bfc872ee791312d44ccb9efcef23 100644 (file)
@@ -38,7 +38,7 @@
 #include <wx/msw/dibutils.h>
 
 extern "C" {
 #include <wx/msw/dibutils.h>
 
 extern "C" {
-#include "png.h"
+#include "../png/png.h"
 }
 
 extern "C" void png_read_init PNGARG((png_structp png_ptr));
 }
 
 extern "C" void png_read_init PNGARG((png_structp png_ptr));
@@ -93,7 +93,7 @@ wxPNGReader::wxPNGReader(void)
   imageOK = FALSE;
 }
 
   imageOK = FALSE;
 }
 
-wxPNGReader::wxPNGReader ( char* ImageFileName )
+wxPNGReader::wxPNGReader ( wxChar* ImageFileName )
 {
   imageOK = FALSE;
   filetype = 0;
 {
   imageOK = FALSE;
   filetype = 0;
@@ -130,7 +130,8 @@ wxPNGReader::Create(int width, int height, int depth, int colortype)
   }
   RawImage = 0;
   Palette = 0;
   }
   RawImage = 0;
   Palette = 0;
-  if (lpbi = DibCreate(Depth, Width, Height))  {
+  lpbi = DibCreate(Depth, Width, Height);
+  if (lpbi)  {
     RawImage = (ImagePointerType)DibPtr(lpbi);
     EfeWidth = (long)(((long)Width*Depth + 31) / 32) * 4;
         imageOK = TRUE;
     RawImage = (ImagePointerType)DibPtr(lpbi);
     EfeWidth = (long)(((long)Width*Depth + 31) / 32) * 4;
         imageOK = TRUE;
@@ -291,7 +292,7 @@ bool wxPNGReader::InstantiateBitmap(wxBitmap *bitmap)
 
         if ( Palette )
         {
 
         if ( Palette )
         {
-            HPALETTE oldPal = ::SelectPalette(dc, (HPALETTE) Palette->GetHPALETTE(), FALSE);
+            ::SelectPalette(dc, (HPALETTE) Palette->GetHPALETTE(), FALSE);
         ::RealizePalette(dc);
         }
 
         ::RealizePalette(dc);
         }
 
@@ -382,12 +383,12 @@ wxMask *wxPNGReader::CreateMask(void)
     return mask;
 }
 
     return mask;
 }
 
-bool wxPNGReader::ReadFile(char * ImageFileName)
+bool wxPNGReader::ReadFile(wxChar * ImageFileName)
 {
   int number_passes;
 
   if (ImageFileName)
 {
   int number_passes;
 
   if (ImageFileName)
-   strcpy(filename, ImageFileName);
+   wxStrcpy(filename, ImageFileName);
 
   FILE *fp;
   png_struct *png_ptr;
 
   FILE *fp;
   png_struct *png_ptr;
@@ -395,7 +396,7 @@ bool wxPNGReader::ReadFile(char * ImageFileName)
   wxPNGReaderIter iter(this);
 
   /* open the file */
   wxPNGReaderIter iter(this);
 
   /* open the file */
-  fp = fopen(filename, "rb");
+  fp = fopen(wxConvFile.cWX2MB(filename), "rb");
   if (!fp)
     return FALSE;
 
   if (!fp)
     return FALSE;
 
@@ -524,10 +525,10 @@ bool wxPNGReader::ReadFile(char * ImageFileName)
 
 /* write a png file */
 
 
 /* write a png file */
 
-bool wxPNGReader::SaveFile(char * ImageFileName)
+bool wxPNGReader::SaveFile(wxChar * ImageFileName)
 {
   if (ImageFileName)
 {
   if (ImageFileName)
-   strcpy(filename, ImageFileName);
+   wxStrcpy(filename, ImageFileName);
 
   wxPNGReaderIter iter(this);
   FILE *fp;
 
   wxPNGReaderIter iter(this);
   FILE *fp;
@@ -535,7 +536,7 @@ bool wxPNGReader::SaveFile(char * ImageFileName)
   png_info *info_ptr;
 
    /* open the file */
   png_info *info_ptr;
 
    /* open the file */
-  fp = fopen(filename, "wb");
+  fp = fopen(wxConvFile.cWX2MB(filename), "wb");
   if (!fp)
     return FALSE;
 
   if (!fp)
     return FALSE;
 
@@ -692,14 +693,14 @@ static void DecToHex(int dec, char *buf)
 }
 
 
 }
 
 
-bool wxPNGReader::SaveXPM(char *filename, char *name)
+bool wxPNGReader::SaveXPM(wxChar *filename, wxChar *name)
 {
 {
-    char nameStr[256];
+    wxChar nameStr[256];
     if ( name )
     if ( name )
-        strcpy(nameStr, name);
+        wxStrcpy(nameStr, name);
     else
     {
     else
     {
-        strcpy(nameStr, filename);
+        wxStrcpy(nameStr, filename);
         wxStripExtension(nameStr);
     }
 
         wxStripExtension(nameStr);
     }
 
@@ -712,7 +713,7 @@ bool wxPNGReader::SaveXPM(char *filename, char *name)
     if ( !GetPalette() )
         return FALSE;
 
     if ( !GetPalette() )
         return FALSE;
 
-    ofstream str(filename);
+    ofstream str(wxConvFile.cWX2MB(filename));
     if ( str.bad() )
         return FALSE;
 
     if ( str.bad() )
         return FALSE;
 
@@ -769,7 +770,7 @@ bool wxPNGFileHandler::LoadFile(wxBitmap *bitmap, const wxString& name, long fla
     int desiredWidth, int desiredHeight)
 {
     wxPNGReader reader;
     int desiredWidth, int desiredHeight)
 {
     wxPNGReader reader;
-    if (reader.ReadFile((char*) (const char*) name))
+    if (reader.ReadFile(WXSTRINGCAST name))
     {
         return reader.InstantiateBitmap(bitmap);
     }
     {
         return reader.InstantiateBitmap(bitmap);
     }