]> git.saurik.com Git - wxWidgets.git/commitdiff
1. fixed (?) blitting bitmaps with mask
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 26 Jan 2000 00:01:27 +0000 (00:01 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 26 Jan 2000 00:01:27 +0000 (00:01 +0000)
2. fixed wxWindowBase compilation (oops)
3. fixed kbd handling in wxScrolledWindow under MSW

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5660 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/wincmn.cpp
src/generic/scrolwin.cpp
src/msw/bitmap.cpp
src/msw/dc.cpp
src/msw/dib.cpp

index d6f16b309ee8ab0e96e72f74c39692c9ef69b55b..693d9ebe708b6fdba878c39fc6d3b34b373423a8 100644 (file)
@@ -748,7 +748,7 @@ bool wxWindowBase::TransferDataToWindow()
 
         if ( recurse )
         {
-            if ( !child->TransferToWindow() )
+            if ( !child->TransferDataToWindow() )
             {
                 // warning already given
                 return FALSE;
@@ -780,7 +780,7 @@ bool wxWindowBase::TransferDataFromWindow()
 
         if ( recurse )
         {
-            if ( !child->TransferFromWindow() )
+            if ( !child->TransferDataFromWindow() )
             {
                 // warning already given
                 return FALSE;
index 066e25a2f2fc55b33079140891169eab42d0c527..513cb292f225dcf9da449d04cb32ff048c8adb56 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     01/02/97
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart and Markus Holzem
-// Licence:           wxWindows license
+// Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
@@ -106,10 +106,11 @@ bool wxScrolledWindow::Create(wxWindow *parent,
     m_yScrollLinesPerPage = 0;
     m_scaleX = 1.0;
     m_scaleY = 1.0;
-    
+
     m_targetWindow = this;
 
-    return wxPanel::Create(parent, id, pos, size, style, name);
+    // we need wxWANTS_CHARS to process arrows ourselves
+    return wxPanel::Create(parent, id, pos, size, style | wxWANTS_CHARS, name);
 }
 
 wxScrolledWindow::~wxScrolledWindow()
@@ -139,7 +140,7 @@ void wxScrolledWindow::SetScrollbars (int pixelsPerUnitX, int pixelsPerUnitY,
       (pixelsPerUnitX != m_xScrollPixelsPerLine) ||
       (pixelsPerUnitY != m_yScrollPixelsPerLine)
     );
-      
+
     m_xScrollPixelsPerLine = pixelsPerUnitX;
     m_yScrollPixelsPerLine = pixelsPerUnitY;
     m_xScrollPosition = xPos;
@@ -179,12 +180,12 @@ void wxScrolledWindow::SetScrollbars (int pixelsPerUnitX, int pixelsPerUnitY,
 
     }
 #endif // Motif
-      
+
     AdjustScrollbars();
-   
-    if (do_refresh && !noRefresh) 
-        m_targetWindow->Refresh(); 
-   
+
+    if (do_refresh && !noRefresh)
+        m_targetWindow->Refresh();
+
 #ifdef __WXMSW__
     // GRG: if this turns out to be really necessary, we could
     //   at least move it to the above if { ... } so that it is
@@ -245,7 +246,7 @@ void wxScrolledWindow::OnScroll(wxScrollWinEvent& event)
     {
         m_yScrollPosition += nScrollInc;
     }
-  
+
     if (orient == wxHORIZONTAL)
     {
        if (m_xScrollingEnabled)
@@ -331,7 +332,7 @@ int wxScrolledWindow::CalcScrollInc(wxScrollWinEvent& event)
 
     if (orient == wxHORIZONTAL)
     {
-        if (m_xScrollPixelsPerLine > 0) 
+        if (m_xScrollPixelsPerLine > 0)
         {
             int w, h;
             m_targetWindow->GetClientSize(&w, &h);
@@ -351,16 +352,16 @@ int wxScrolledWindow::CalcScrollInc(wxScrollWinEvent& event)
     }
     else
     {
-        if (m_yScrollPixelsPerLine > 0) 
+        if (m_yScrollPixelsPerLine > 0)
         {
             int w, h;
             m_targetWindow->GetClientSize(&w, &h);
-      
+
             int nMaxHeight = m_yScrollLines*m_yScrollPixelsPerLine;
             int noPositions = (int) ( ((nMaxHeight - h)/(double)m_yScrollPixelsPerLine) + 0.5 );
             if (noPositions < 0)
                 noPositions = 0;
-      
+
             if ( (m_yScrollPosition + nScrollInc) < 0 )
                 nScrollInc = -m_yScrollPosition; // As -ve as we can go
             else if ( (m_yScrollPosition + nScrollInc) > noPositions )
@@ -378,7 +379,7 @@ void wxScrolledWindow::AdjustScrollbars()
 {
     int w, h;
     m_targetWindow->GetClientSize(&w, &h);
-    
+
     int oldXScroll = m_xScrollPosition;
     int oldYScroll = m_yScrollPosition;
 
@@ -399,11 +400,11 @@ void wxScrolledWindow::AdjustScrollbars()
         SetScrollPageSize(wxHORIZONTAL, noPagePositions);
     }
     else
-    { 
+    {
         m_xScrollPosition = 0;
-        SetScrollbar (wxHORIZONTAL, 0, 0, 0, FALSE);  
+        SetScrollbar (wxHORIZONTAL, 0, 0, 0, FALSE);
     }
-    
+
     if (m_yScrollLines > 0)
     {
             // Calculate page size i.e. number of scroll units you get on the
@@ -423,9 +424,9 @@ void wxScrolledWindow::AdjustScrollbars()
     else
     {
         m_yScrollPosition = 0;
-        SetScrollbar (wxVERTICAL, 0, 0, 0, FALSE); 
+        SetScrollbar (wxVERTICAL, 0, 0, 0, FALSE);
     }
-    
+
     if (oldXScroll != m_xScrollPosition)
     {
        if (m_xScrollingEnabled)
@@ -433,7 +434,7 @@ void wxScrolledWindow::AdjustScrollbars()
        else
             m_targetWindow->Refresh();
     }
-    
+
     if (oldYScroll != m_yScrollPosition)
     {
         if (m_yScrollingEnabled)
@@ -447,7 +448,7 @@ void wxScrolledWindow::AdjustScrollbars()
 // automatically change the origin according to the scroll position.
 void wxScrolledWindow::PrepareDC(wxDC& dc)
 {
-    dc.SetDeviceOrigin( -m_xScrollPosition * m_xScrollPixelsPerLine, 
+    dc.SetDeviceOrigin( -m_xScrollPosition * m_xScrollPixelsPerLine,
                         -m_yScrollPosition * m_yScrollPixelsPerLine );
     dc.SetUserScale( m_scaleX, m_scaleY );
 }
@@ -497,9 +498,9 @@ void wxScrolledWindow::SetScrollPageSize(int orient, int pageSize)
  */
 void wxScrolledWindow::Scroll( int x_pos, int y_pos )
 {
-    if (((x_pos == -1) || (x_pos == m_xScrollPosition)) && 
+    if (((x_pos == -1) || (x_pos == m_xScrollPosition)) &&
         ((y_pos == -1) || (y_pos == m_yScrollPosition))) return;
-  
+
     int w, h;
     m_targetWindow->GetClientSize(&w, &h);
 
@@ -507,7 +508,7 @@ void wxScrolledWindow::Scroll( int x_pos, int y_pos )
     {
         int old_x = m_xScrollPosition;
         m_xScrollPosition = x_pos;
-    
+
             // Calculate page size i.e. number of scroll units you get on the
             // current client window
         int noPagePositions = (int) ( (w/(double)m_xScrollPixelsPerLine) + 0.5 );
@@ -517,16 +518,16 @@ void wxScrolledWindow::Scroll( int x_pos, int y_pos )
             // the visible portion of it or if below zero
         m_xScrollPosition = wxMin( m_xScrollLines-noPagePositions, m_xScrollPosition );
         m_xScrollPosition = wxMax( 0, m_xScrollPosition );
-      
+
         m_targetWindow->SetScrollPos( wxHORIZONTAL, m_xScrollPosition, TRUE );
-        
+
             m_targetWindow->ScrollWindow( (old_x-m_xScrollPosition)*m_xScrollPixelsPerLine, 0 );
     }
     if (y_pos != -1)
     {
         int old_y = m_yScrollPosition;
         m_yScrollPosition = y_pos;
-        
+
             // Calculate page size i.e. number of scroll units you get on the
             // current client window
         int noPagePositions = (int) ( (h/(double)m_yScrollPixelsPerLine) + 0.5 );
@@ -536,13 +537,13 @@ void wxScrolledWindow::Scroll( int x_pos, int y_pos )
             // the visible portion of it or if below zero
         m_yScrollPosition = wxMin( m_yScrollLines-noPagePositions, m_yScrollPosition );
         m_yScrollPosition = wxMax( 0, m_yScrollPosition );
-        
+
         m_targetWindow->SetScrollPos( wxVERTICAL, m_yScrollPosition, TRUE );
-        
+
         m_targetWindow->ScrollWindow( 0, (old_y-m_yScrollPosition)*m_yScrollPixelsPerLine );
     }
-    
-    
+
+
 #ifdef __WXMAC__
     m_targetWindow->MacUpdateImmediately() ;
 #endif
index 3cf541d3c793a56df12d7e4dedfe8e7c133c27bf..f0e07174d5c8785230c186515b3aff85ad3d2058 100644 (file)
@@ -582,15 +582,15 @@ wxMask::~wxMask()
 // Create a mask from a mono bitmap (copies the bitmap).
 bool wxMask::Create(const wxBitmap& bitmap)
 {
+    wxCHECK_MSG( bitmap.Ok() && bitmap.GetDepth() == 1, FALSE,
+                 _T("can't create mask from invalid or not monochrome bitmap") );
+
     if ( m_maskBitmap )
     {
         ::DeleteObject((HBITMAP) m_maskBitmap);
         m_maskBitmap = 0;
     }
-    if (!bitmap.Ok() || bitmap.GetDepth() != 1)
-    {
-        return FALSE;
-    }
+
     m_maskBitmap = (WXHBITMAP) CreateBitmap(
                                             bitmap.GetWidth(),
                                             bitmap.GetHeight(),
index 0efde7e988f38c273094060571607fa684464e44..f8c01f727dfc8cd9eb051c5b8dd750c2c5e7a9da 100644 (file)
@@ -23,7 +23,6 @@
 
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
-#include "wx/msw/private.h" // needs to be before #include <commdlg.h>
 
 #ifdef __BORLANDC__
     #pragma hdrstop
@@ -46,6 +45,8 @@
 #include <string.h>
 #include <math.h>
 
+#include "wx/msw/private.h" // needs to be before #include <commdlg.h>
+
 #if wxUSE_COMMON_DIALOGS
 #if wxUSE_NORLANDER_HEADERS
     #include <windows.h>
@@ -57,7 +58,7 @@
     #include <print.h>
 #endif
 
-    IMPLEMENT_ABSTRACT_CLASS(wxDC, wxObject)
+IMPLEMENT_ABSTRACT_CLASS(wxDC, wxObject)
 
 // ---------------------------------------------------------------------------
 // constants
@@ -1254,7 +1255,7 @@ bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest,
         const wxBitmap& bmp = source->m_selectedBitmap;
         mask = bmp.GetMask();
 
-        wxCHECK_MSG( bmp.Ok() && mask, FALSE,
+        wxCHECK_MSG( bmp.Ok() && mask && mask->GetMaskBitmap(), FALSE,
                      _T("can't blit with mask without mask") );
     }
 
@@ -1288,16 +1289,24 @@ bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest,
     if (useMask)
     {
 #ifdef __WIN32__
-        if ( ::MaskBlt(GetHdc(), xdest, ydest,
-                       (int)width, (int)height,
-                       GetHdcOf(*source), xsrc, ysrc,
-                       (HBITMAP) mask->GetMaskBitmap(),
-                       0, 0, MAKEROP4(SRCCOPY, PATCOPY)) != 0 )
-        {
-            // Success
-            success = TRUE;
-        }
-        else
+        HBITMAP hbmpMask = wxInvertMask((HBITMAP)mask->GetMaskBitmap());
+
+        // we want the part of the image corresponding to the mask to be
+        // transparent, i.e. do PATCOPY there and apply dwRop elsewhere
+        const wxColour& colBg = m_backgroundBrush.GetColour();
+        HBRUSH hbrBg = (HBRUSH)::CreateSolidBrush(wxColourToRGB(colBg));
+        HBRUSH hbrOld = (HBRUSH)::SelectObject(GetHdc(), hbrBg);
+
+        success = ::MaskBlt(GetHdc(), xdest, ydest, width, height,
+                            GetHdcOf(*source), xsrc, ysrc,
+                            hbmpMask, 0, 0,
+                            MAKEROP4(PATCOPY, dwRop)) != 0;
+
+        (void)::SelectObject(GetHdc(), hbrOld);
+        ::DeleteObject(hbrOld);
+        ::DeleteObject(hbmpMask);
+
+        if ( !success )
 #endif // Win32
         {
             // Blit bitmap with mask
index 2bc530afeb94a35a662617f1134c3b693eff0165..a62948302212ef72720a89b97c62d1d51e7d1363 100644 (file)
@@ -1,28 +1,28 @@
 /*******************************************************************************
- *                                                                            *
- * MODULE      : DIB.CC                                                       *
- *                                                                            *
+ *                                                                               *
+ * MODULE        : DIB.CC                                                        *
+ *                                                                               *
  *  DESCRIPTION : Routines for dealing with Device Independent Bitmaps.        *
- *                                                                            *
- *  FUNCTIONS  :                                                              *
- *                                                                            *
+ *                                                                               *
+ *  FUNCTIONS        :                                                              *
+ *                                                                               *
  *                wxReadDIB()           - Reads a DIB                            *
- *                                                                            *
- *               WriteDIB()          - Writes a global handle in CF_DIB format*
- *                                     to a file.                             *
- *                                                                            *
- *               wxPaletteSize()       - Calculates the palette size in bytes   *
- *                                     of given DIB                           *
- *                                                                            *
- *               DibNumColors()      - Determines the number of colors in DIB *
- *                                                                            *
- *               DibFromBitmap()     - Creates a DIB repr. the DDB passed in. *
- *                                                                            *
- *                                                                            *
- *               lread()             - Private routine to read more than 64k  *
- *                                                                            *
- *               lwrite()            - Private routine to write more than 64k *
- *                                                                            *
+ *                                                                               *
+ *                  WriteDIB()              - Writes a global handle in CF_DIB format*
+ *                                        to a file.                               *
+ *                                                                               *
+ *                  wxPaletteSize()       - Calculates the palette size in bytes   *
+ *                                        of given DIB                               *
+ *                                                                               *
+ *                  DibNumColors()      - Determines the number of colors in DIB *
+ *                                                                               *
+ *                  DibFromBitmap()     - Creates a DIB repr. the DDB passed in. *
+ *                                                                               *
+ *                                                                               *
+ *                  lread()              - Private routine to read more than 64k  *
+ *                                                                               *
+ *                  lwrite()              - Private routine to write more than 64k *
+ *                                                                               *
  *******************************************************************************/
 
 // For compilers that support precompilation, includes "wx.h".
 
 #ifndef SEEK_CUR
 /* flags for _lseek */
-#define        SEEK_CUR 1
-#define        SEEK_END 2
-#define        SEEK_SET 0
+#define        SEEK_CUR 1
+#define        SEEK_END 2
+#define        SEEK_SET 0
 #endif
 
-#define MAXREAD  32768                          /* Number of bytes to be read during */
-                                                /* each read operation.                         */
+#define MAXREAD  32768                                 /* Number of bytes to be read during */
+                                                 /* each read operation.                         */
 
 /* Header signatutes for various resources */
-#define BFT_ICON        0x4349  /* 'IC' */
-#define BFT_BITMAP 0x4d42       /* 'BM' */
-#define BFT_CURSOR 0x5450       /* 'PT(' */
+#define BFT_ICON         0x4349         /* 'IC' */
+#define BFT_BITMAP 0x4d42         /* 'BM' */
+#define BFT_CURSOR 0x5450         /* 'PT(' */
 
 /* macro to determine if resource is a DIB */
 #define ISDIB(bft) ((bft) == BFT_BITMAP)
 
 /* Macro to align given value to the closest DWORD (unsigned long ) */
-#define ALIGNULONG(i)  ((i+3)/4*4)
+#define ALIGNULONG(i)        ((i+3)/4*4)
 
 /* Macro to determine to round off the given value to the closest byte */
-#define WIDTHBYTES(i)  ((i+31)/32*4)
+#define WIDTHBYTES(i)        ((i+31)/32*4)
 
-#define PALVERSION             0x300
-#define MAXPALETTE     256       /* max. # supported palette entries */
+#define PALVERSION                0x300
+#define MAXPALETTE        256          /* max. # supported palette entries */
 
 static DWORD PASCAL lread(int fh, VOID FAR *pv, DWORD ul);
 static DWORD PASCAL lwrite(int fh, VOID FAR *pv, DWORD ul);
 
-static BOOL    WriteDIB (LPTSTR szFile,HANDLE hdib);
-WORD   wxPaletteSize (VOID FAR * pv); // This is non-static as some apps use it externally
-static WORD    DibNumColors (VOID FAR * pv);
-// HANDLE      DibFromBitmap (HBITMAP hbm, DWORD biStyle, WORD biBits, HPALETTE hpal);
+static BOOL        WriteDIB (LPTSTR szFile,HANDLE hdib);
+WORD        wxPaletteSize (VOID FAR * pv); // This is non-static as some apps use it externally
+static WORD        DibNumColors (VOID FAR * pv);
+// HANDLE        DibFromBitmap (HBITMAP hbm, DWORD biStyle, WORD biBits, HPALETTE hpal);
 static BOOL PASCAL MakeBitmapAndPalette(HDC,HANDLE,HPALETTE *,HBITMAP *);
 
 /****************************************************************************
- *                                                                         *
- *  FUNCTION   : WriteDIB(LPSTR szFile,HANDLE hdib)                        *
- *                                                                         *
- *  PURPOSE    : Write a global handle in CF_DIB format to a file.         *
- *                                                                         *
- *  RETURNS    : TRUE  - if successful.                                    *
- *              FALSE - otherwise                                          *
- *                                                                         *
+ *                                                                            *
+ *  FUNCTION   : WriteDIB(LPSTR szFile,HANDLE hdib)                            *
+ *                                                                            *
+ *  PURPOSE    : Write a global handle in CF_DIB format to a file.            *
+ *                                                                            *
+ *  RETURNS    : TRUE  - if successful.                                     *
+ *                 FALSE - otherwise                                            *
+ *                                                                            *
  ****************************************************************************/
 
 static BOOL WriteDIB(LPTSTR szFile, HANDLE hdib)
 {
-       BITMAPFILEHEADER        hdr;
-       LPBITMAPINFOHEADER  lpbi;
-       int                 fh;
-       OFSTRUCT            of;
+        BITMAPFILEHEADER        hdr;
+        LPBITMAPINFOHEADER  lpbi;
+        int                 fh;
+        OFSTRUCT            of;
 
-       if (!hdib)
-               return FALSE;
+        if (!hdib)
+                return FALSE;
 
-       fh = OpenFile(wxFNCONV(szFile), &of, OF_CREATE | OF_READWRITE);
-       if (fh == -1)
-               return FALSE;
+        fh = OpenFile(wxFNCONV(szFile), &of, OF_CREATE | OF_READWRITE);
+        if (fh == -1)
+                return FALSE;
 
 #ifdef __WINDOWS_386__
         lpbi = (LPBITMAPINFOHEADER) MK_FP32(GlobalLock(hdib));
@@ -123,284 +123,284 @@ static BOOL WriteDIB(LPTSTR szFile, HANDLE hdib)
         lpbi = (LPBITMAPINFOHEADER) GlobalLock(hdib);
 #endif
     /* Fill in the fields of the file header */
-       hdr.bfType = BFT_BITMAP;
-       hdr.bfSize = GlobalSize(hdib) + sizeof(BITMAPFILEHEADER);
-       hdr.bfReserved1 = 0;
-       hdr.bfReserved2 = 0;
-       hdr.bfOffBits = (DWORD) sizeof(BITMAPFILEHEADER) + lpbi->biSize +
-                wxPaletteSize(lpbi);
+        hdr.bfType = BFT_BITMAP;
+        hdr.bfSize = GlobalSize(hdib) + sizeof(BITMAPFILEHEADER);
+        hdr.bfReserved1 = 0;
+        hdr.bfReserved2 = 0;
+        hdr.bfOffBits = (DWORD) sizeof(BITMAPFILEHEADER) + lpbi->biSize +
+                 wxPaletteSize(lpbi);
 
     /* Write the file header */
-       _lwrite(fh, (LPSTR) &hdr, sizeof(BITMAPFILEHEADER));
+        _lwrite(fh, (LPSTR) &hdr, sizeof(BITMAPFILEHEADER));
 
     /* Write the DIB header and the bits */
-       lwrite(fh, (LPSTR) lpbi, GlobalSize(hdib));
+        lwrite(fh, (LPSTR) lpbi, GlobalSize(hdib));
 
-       GlobalUnlock(hdib);
-       _lclose(fh);
-       return TRUE;
+        GlobalUnlock(hdib);
+        _lclose(fh);
+        return TRUE;
 }
 
 /****************************************************************************
- *                                                                         *
- *  FUNCTION   :  wxPaletteSize(VOID FAR * pv)                             *
- *                                                                         *
+ *                                                                            *
+ *  FUNCTION   :  wxPaletteSize(VOID FAR * pv)                                    *
+ *                                                                            *
  *  PURPOSE    :  Calculates the palette size in bytes. If the info. block  *
- *               is of the BITMAPCOREHEADER type, the number of colors is  *
- *               multiplied by 3 to give the palette size, otherwise the   *
- *               number of colors is multiplied by 4.                                                          *
- *                                                                         *
- *  RETURNS    :  Palette size in number of bytes.                         *
- *                                                                         *
+ *                  is of the BITMAPCOREHEADER type, the number of colors is  *
+ *                  multiplied by 3 to give the palette size, otherwise the   *
+ *                  number of colors is multiplied by 4.                                                                *
+ *                                                                            *
+ *  RETURNS    :  Palette size in number of bytes.                            *
+ *                                                                            *
  ****************************************************************************/
 
 WORD wxPaletteSize(VOID FAR * pv)
 {
-       LPBITMAPINFOHEADER lpbi;
-       WORD           NumColors;
+        LPBITMAPINFOHEADER lpbi;
+        WORD               NumColors;
 
-       lpbi = (LPBITMAPINFOHEADER) pv;
-       NumColors = DibNumColors(lpbi);
+        lpbi = (LPBITMAPINFOHEADER) pv;
+        NumColors = DibNumColors(lpbi);
 
-       if (lpbi->biSize == sizeof(BITMAPCOREHEADER))
-               return NumColors * sizeof(RGBTRIPLE);
-       else
-               return NumColors * sizeof(RGBQUAD);
+        if (lpbi->biSize == sizeof(BITMAPCOREHEADER))
+                return NumColors * sizeof(RGBTRIPLE);
+        else
+                return NumColors * sizeof(RGBQUAD);
 }
 
 /****************************************************************************
- *                                                                         *
- *  FUNCTION   : DibNumColors(VOID FAR * pv)                               *
- *                                                                         *
+ *                                                                            *
+ *  FUNCTION   : DibNumColors(VOID FAR * pv)                                    *
+ *                                                                            *
  *  PURPOSE    : Determines the number of colors in the DIB by looking at   *
- *              the BitCount filed in the info block.                      *
- *                                                                         *
- *  RETURNS    : The number of colors in the DIB.                          *
- *                                                                         *
+ *                 the BitCount filed in the info block.                            *
+ *                                                                            *
+ *  RETURNS    : The number of colors in the DIB.                            *
+ *                                                                            *
  ****************************************************************************/
 
 static WORD DibNumColors(VOID FAR *pv)
 {
-       int             bits;
-       BITMAPINFOHEADER        *lpbi;
-       BITMAPCOREHEADER        *lpbc;
+        int                 bits;
+        BITMAPINFOHEADER        *lpbi;
+        BITMAPCOREHEADER        *lpbc;
 
-       lpbi = ((BITMAPINFOHEADER*) pv);
-       lpbc = ((BITMAPCOREHEADER*) pv);
+        lpbi = ((BITMAPINFOHEADER*) pv);
+        lpbc = ((BITMAPCOREHEADER*) pv);
 
-    /* With the BITMAPINFO format headers, the size of the palette
-     * is in biClrUsed, whereas in the BITMAPCORE - style headers, it
-     * is dependent on the bits per pixel ( = 2 raised to the power of
-     * bits/pixel).
+    /*        With the BITMAPINFO format headers, the size of the palette
+     *        is in biClrUsed, whereas in the BITMAPCORE - style headers, it
+     *        is dependent on the bits per pixel ( = 2 raised to the power of
+     *        bits/pixel).
      */
-       if (lpbi->biSize != sizeof(BITMAPCOREHEADER)) {
-               if (lpbi->biClrUsed != 0)
-                       return (WORD) lpbi->biClrUsed;
-               bits = lpbi->biBitCount;
-               }
-       else
-               bits = lpbc->bcBitCount;
-
-       switch (bits) {
+        if (lpbi->biSize != sizeof(BITMAPCOREHEADER)) {
+                if (lpbi->biClrUsed != 0)
+                        return (WORD) lpbi->biClrUsed;
+                bits = lpbi->biBitCount;
+                }
+        else
+                bits = lpbc->bcBitCount;
+
+        switch (bits) {
   case 1:
-               return 2;
+                return 2;
   case 4:
-               return 16;
+                return 16;
   case 8:
-               return 256;
+                return 256;
   default:
-               /* A 24 bitcount DIB has no color table */
-               return 0;
-               }
+                /* A 24 bitcount DIB has no color table */
+                return 0;
+                }
 }
 
 /****************************************************************************
- *                                                                         *
- *  FUNCTION   : DibFromBitmap()                                           *
- *                                                                         *
- *  PURPOSE    : Will create a global memory block in DIB format that      *
- *              represents the Device-dependent bitmap (DDB) passed in.    *
- *                                                                         *
- *  RETURNS    : A handle to the DIB                                       *
- *                                                                         *
+ *                                                                            *
+ *  FUNCTION   : DibFromBitmap()                                            *
+ *                                                                            *
+ *  PURPOSE    : Will create a global memory block in DIB format that            *
+ *                 represents the Device-dependent bitmap (DDB) passed in.    *
+ *                                                                            *
+ *  RETURNS    : A handle to the DIB                                            *
+ *                                                                            *
  ****************************************************************************/
 
 #if NOTHING
 static HANDLE DibFromBitmap(HBITMAP hbm, DWORD biStyle, WORD biBits, HPALETTE hpal)
 {
-       BITMAP               bm;
-       BITMAPINFOHEADER     bi;
-       BITMAPINFOHEADER FAR *lpbi;
-       DWORD                dwLen;
-       HANDLE               hdib;
-       HANDLE               h;
-       HDC                  hdc;
-
-       if (!hbm)
-               return NULL;
-
-       if (hpal == NULL)
-               hpal = GetStockObject(DEFAULT_PALETTE);
-
-       GetObject(hbm, sizeof (bm), (LPSTR) &bm);
-
-       if (biBits == 0)
-               biBits = bm.bmPlanes * bm.bmBitsPixel;
-
-       bi.biSize = sizeof(BITMAPINFOHEADER);
-       bi.biWidth = bm.bmWidth;
-       bi.biHeight = bm.bmHeight;
-       bi.biPlanes = 1;
-       bi.biBitCount = biBits;
-       bi.biCompression = biStyle;
-       bi.biSizeImage = 0;
-       bi.biXPelsPerMeter = 0;
-       bi.biYPelsPerMeter = 0;
-       bi.biClrUsed = 0;
-       bi.biClrImportant = 0;
-
-       dwLen = bi.biSize + wxPaletteSize(&bi);
-
-       hdc = GetDC((HWND) NULL);
-       hpal = SelectPalette(hdc, hpal, FALSE);
-       RealizePalette(hdc);
-
-       hdib = GlobalAlloc(GHND, dwLen);
-
-       if (!hdib) {
-               SelectPalette(hdc, hpal, FALSE);
-               ReleaseDC(NULL, hdc);
-               return NULL;
-               }
+        BITMAP               bm;
+        BITMAPINFOHEADER     bi;
+        BITMAPINFOHEADER FAR *lpbi;
+        DWORD                dwLen;
+        HANDLE               hdib;
+        HANDLE               h;
+        HDC                  hdc;
+
+        if (!hbm)
+                return NULL;
+
+        if (hpal == NULL)
+                hpal = GetStockObject(DEFAULT_PALETTE);
+
+        GetObject(hbm, sizeof (bm), (LPSTR) &bm);
+
+        if (biBits == 0)
+                biBits = bm.bmPlanes * bm.bmBitsPixel;
+
+        bi.biSize = sizeof(BITMAPINFOHEADER);
+        bi.biWidth = bm.bmWidth;
+        bi.biHeight = bm.bmHeight;
+        bi.biPlanes = 1;
+        bi.biBitCount = biBits;
+        bi.biCompression = biStyle;
+        bi.biSizeImage = 0;
+        bi.biXPelsPerMeter = 0;
+        bi.biYPelsPerMeter = 0;
+        bi.biClrUsed = 0;
+        bi.biClrImportant = 0;
+
+        dwLen = bi.biSize + wxPaletteSize(&bi);
+
+        hdc = GetDC((HWND) NULL);
+        hpal = SelectPalette(hdc, hpal, FALSE);
+        RealizePalette(hdc);
+
+        hdib = GlobalAlloc(GHND, dwLen);
+
+        if (!hdib) {
+                SelectPalette(hdc, hpal, FALSE);
+                ReleaseDC(NULL, hdc);
+                return NULL;
+                }
 
 #ifdef __WINDOWS_386__
-       lpbi = (BITMAPINFOHEADER FAR *) MK_FP32(GlobalLock(hdib));
+        lpbi = (BITMAPINFOHEADER FAR *) MK_FP32(GlobalLock(hdib));
 #else
-       lpbi = (BITMAPINFOHEADER FAR *) GlobalLock(hdib);
+        lpbi = (BITMAPINFOHEADER FAR *) GlobalLock(hdib);
 #endif
 
-       *lpbi = bi;
+        *lpbi = bi;
 
-    /* call GetDIBits with a NULL lpBits param, so it will calculate the
+    /*        call GetDIBits with a NULL lpBits param, so it will calculate the
      *  biSizeImage field for us
      */
-       GetDIBits(hdc, hbm, 0, (WORD) bi.biHeight,
-                NULL, (LPBITMAPINFO) lpbi, DIB_RGB_COLORS);
+        GetDIBits(hdc, hbm, 0, (WORD) bi.biHeight,
+                 NULL, (LPBITMAPINFO) lpbi, DIB_RGB_COLORS);
 
-       bi = *lpbi;
-       GlobalUnlock(hdib);
+        bi = *lpbi;
+        GlobalUnlock(hdib);
 
     /* If the driver did not fill in the biSizeImage field, make one up */
-       if (bi.biSizeImage == 0) {
-               bi.biSizeImage = WIDTHBYTES((DWORD)bm.bmWidth * biBits) * bm.bmHeight;
-
-               if (biStyle != BI_RGB)
-                       bi.biSizeImage = (bi.biSizeImage * 3) / 2;
-               }
-
-    /* realloc the buffer big enough to hold all the bits */
-       dwLen = bi.biSize + wxPaletteSize(&bi) + bi.biSizeImage;
-       if (h = GlobalReAlloc(hdib, dwLen, 0))
-               hdib = h;
-       else {
-               GlobalFree(hdib);
-               hdib = NULL;
-
-               SelectPalette(hdc, hpal, FALSE);
-               ReleaseDC(NULL, hdc);
-               return hdib;
-               }
-
-    /* call GetDIBits with a NON-NULL lpBits param, and actualy get the
+        if (bi.biSizeImage == 0) {
+                bi.biSizeImage = WIDTHBYTES((DWORD)bm.bmWidth * biBits) * bm.bmHeight;
+
+                if (biStyle != BI_RGB)
+                        bi.biSizeImage = (bi.biSizeImage * 3) / 2;
+                }
+
+    /*        realloc the buffer big enough to hold all the bits */
+        dwLen = bi.biSize + wxPaletteSize(&bi) + bi.biSizeImage;
+        if (h = GlobalReAlloc(hdib, dwLen, 0))
+                hdib = h;
+        else {
+                GlobalFree(hdib);
+                hdib = NULL;
+
+                SelectPalette(hdc, hpal, FALSE);
+                ReleaseDC(NULL, hdc);
+                return hdib;
+                }
+
+    /*        call GetDIBits with a NON-NULL lpBits param, and actualy get the
      *  bits this time
      */
 #ifdef __WINDOWS_386__
-       lpbi = (BITMAPINFOHEADER FAR *) MK_FP32(GlobalLock(hdib));
+        lpbi = (BITMAPINFOHEADER FAR *) MK_FP32(GlobalLock(hdib));
 #else
-       lpbi = (BITMAPINFOHEADER FAR *) GlobalLock(hdib);
+        lpbi = (BITMAPINFOHEADER FAR *) GlobalLock(hdib);
 #endif
 
-       if (GetDIBits(hdc,
-                hbm,
-                0,
-                (WORD) bi.biHeight,
-                (LPSTR) lpbi + (WORD) lpbi->biSize + wxPaletteSize(lpbi),
-                (LPBITMAPINFO) lpbi, DIB_RGB_COLORS) == 0) {
-               GlobalUnlock(hdib);
-               hdib = NULL;
-               SelectPalette(hdc, hpal, FALSE);
-               ReleaseDC((HWND) NULL, hdc);
-               return NULL;
-               }
-
-       bi = *lpbi;
-       GlobalUnlock(hdib);
-
-       SelectPalette(hdc, hpal, FALSE);
-       ReleaseDC(NULL, hdc);
-       return hdib;
+        if (GetDIBits(hdc,
+                 hbm,
+                 0,
+                 (WORD) bi.biHeight,
+                 (LPSTR) lpbi + (WORD) lpbi->biSize + wxPaletteSize(lpbi),
+                 (LPBITMAPINFO) lpbi, DIB_RGB_COLORS) == 0) {
+                GlobalUnlock(hdib);
+                hdib = NULL;
+                SelectPalette(hdc, hpal, FALSE);
+                ReleaseDC((HWND) NULL, hdc);
+                return NULL;
+                }
+
+        bi = *lpbi;
+        GlobalUnlock(hdib);
+
+        SelectPalette(hdc, hpal, FALSE);
+        ReleaseDC(NULL, hdc);
+        return hdib;
 }
 #endif
 
  /************* PRIVATE ROUTINES TO READ/WRITE MORE THAN 64K ***************/
 /****************************************************************************
- *                                                                         *
- *  FUNCTION   : lread(int fh, VOID FAR *pv, DWORD ul)                     *
- *                                                                         *
+ *                                                                            *
+ *  FUNCTION   : lread(int fh, VOID FAR *pv, DWORD ul)                            *
+ *                                                                            *
  *  PURPOSE    : Reads data in steps of 32k till all the data has been read.*
- *                                                                         *
- *  RETURNS    : 0 - If read did not proceed correctly.                    *
- *              number of bytes read otherwise.                            *
- *                                                                         *
+ *                                                                            *
+ *  RETURNS    : 0 - If read did not proceed correctly.                     *
+ *                 number of bytes read otherwise.                            *
+ *                                                                            *
  ****************************************************************************/
 
 static DWORD PASCAL lread(int fh, void far *pv, DWORD ul)
 {
-       DWORD     ulT = ul;
+        DWORD     ulT = ul;
 #if defined(WINNT) || defined(__WIN32__) || defined(__WIN32__) || defined(__WXWINE__)
-       BYTE *hp = (BYTE *) pv;
+        BYTE *hp = (BYTE *) pv;
 #else
-       BYTE huge *hp = (BYTE huge *) pv;
+        BYTE huge *hp = (BYTE huge *) pv;
 #endif
-       while (ul > (DWORD) MAXREAD) {
-               if (_lread(fh, (LPSTR) hp, (WORD) MAXREAD) != MAXREAD)
-                       return 0;
-               ul -= MAXREAD;
-               hp += MAXREAD;
-               }
-       if (_lread(fh, (LPSTR) hp, (WORD) ul) != (WORD) ul)
-               return 0;
-       return ulT;
+        while (ul > (DWORD) MAXREAD) {
+                if (_lread(fh, (LPSTR) hp, (WORD) MAXREAD) != MAXREAD)
+                        return 0;
+                ul -= MAXREAD;
+                hp += MAXREAD;
+                }
+        if (_lread(fh, (LPSTR) hp, (WORD) ul) != (WORD) ul)
+                return 0;
+        return ulT;
 }
 
 /****************************************************************************
- *                                                                         *
- *  FUNCTION   : lwrite(int fh, VOID FAR *pv, DWORD ul)                    *
- *                                                                         *
+ *                                                                            *
+ *  FUNCTION   : lwrite(int fh, VOID FAR *pv, DWORD ul)                     *
+ *                                                                            *
  *  PURPOSE    : Writes data in steps of 32k till all the data is written.  *
- *                                                                         *
- *  RETURNS    : 0 - If write did not proceed correctly.                   *
- *              number of bytes written otherwise.                         *
- *                                                                         *
+ *                                                                            *
+ *  RETURNS    : 0 - If write did not proceed correctly.                    *
+ *                 number of bytes written otherwise.                            *
+ *                                                                            *
  ****************************************************************************/
 
 static DWORD PASCAL lwrite(int fh, VOID FAR *pv, DWORD ul)
 {
-       DWORD     ulT = ul;
+        DWORD     ulT = ul;
 #if defined(WINNT) || defined(__WIN32__) || defined(__WIN32__) || defined(__WXWINE__)
-       BYTE *hp = (BYTE *) pv;
+        BYTE *hp = (BYTE *) pv;
 #else
-       BYTE huge *hp = (BYTE huge *) pv;
+        BYTE huge *hp = (BYTE huge *) pv;
 #endif
-       while (ul > MAXREAD) {
-               if (_lwrite(fh, (LPSTR) hp, (WORD) MAXREAD) != MAXREAD)
-                       return 0;
-               ul -= MAXREAD;
-               hp += MAXREAD;
-               }
-       if (_lwrite(fh, (LPSTR) hp, (WORD) ul) != (WORD) ul)
-               return 0;
-       return ulT;
+        while (ul > MAXREAD) {
+                if (_lwrite(fh, (LPSTR) hp, (WORD) MAXREAD) != MAXREAD)
+                        return 0;
+                ul -= MAXREAD;
+                hp += MAXREAD;
+                }
+        if (_lwrite(fh, (LPSTR) hp, (WORD) ul) != (WORD) ul)
+                return 0;
+        return ulT;
 }
 
 /****************************************************************************
@@ -408,25 +408,24 @@ static DWORD PASCAL lwrite(int fh, VOID FAR *pv, DWORD ul)
  *  FUNCTION   : ReadDIB(hWnd)
  *
  *  PURPOSE    : Reads a DIB from a file, obtains a handle to its
- *              BITMAPINFO struct. and loads the DIB.  Once the DIB
+ *                 BITMAPINFO struct. and loads the DIB.  Once the DIB
  *               is loaded, the function also creates a bitmap and
  *               palette out of the DIB for a device-dependent form.
  *
  *  RETURNS    : TRUE  - DIB loaded and bitmap/palette created
  *                       The DIBINIT structure pointed to by pInfo is
  *                       filled with the appropriate handles.
- *              FALSE - otherwise
+ *                 FALSE - otherwise
  *
  ****************************************************************************/
 BOOL wxReadDIB(LPTSTR lpFileName, HBITMAP *bitmap, HPALETTE *palette)
 {
     int fh;
     LPBITMAPINFOHEADER lpbi;
-    OFSTRUCT          of;
+    OFSTRUCT               of;
     BITMAPFILEHEADER   bf;
-    WORD               nNumColors;
+    WORD                nNumColors;
     BOOL result = FALSE;
-    wxChar str[128];
     WORD offBits;
     HDC hDC;
     BOOL bCoreHead = FALSE;
@@ -436,15 +435,14 @@ BOOL wxReadDIB(LPTSTR lpFileName, HBITMAP *bitmap, HPALETTE *palette)
 
     fh = OpenFile (wxFNCONV(lpFileName), &of, OF_READ);
     if (fh == -1) {
-        wsprintf(str,wxT("Can't open file '%s'"), lpFileName);
-       MessageBox(NULL, str, wxT("Error"), MB_ICONSTOP | MB_OK);
-       return (0);
+        wxLogError(_("Can't open file '%s'"), lpFileName);
+        return (0);
     }
 
     hDIB = GlobalAlloc(GHND, (DWORD)(sizeof(BITMAPINFOHEADER) +
-                                       256 * sizeof(RGBQUAD)));
+                                            256 * sizeof(RGBQUAD)));
     if (!hDIB)
-       return(0);
+        return(0);
 
 #ifdef __WINDOWS_386__
     lpbi = (LPBITMAPINFOHEADER)MK_FP32(GlobalLock(hDIB));
@@ -454,56 +452,56 @@ BOOL wxReadDIB(LPTSTR lpFileName, HBITMAP *bitmap, HPALETTE *palette)
 
     /* read the BITMAPFILEHEADER */
     if (sizeof (bf) != _lread (fh, (LPSTR)&bf, sizeof (bf)))
-       goto ErrExit;
+        goto ErrExit;
 
-    if (bf.bfType != 0x4d42)   /* 'BM' */
-       goto ErrExit;
+    if (bf.bfType != 0x4d42)        /* 'BM' */
+        goto ErrExit;
 
     if (sizeof(BITMAPCOREHEADER) != _lread (fh, (LPSTR)lpbi, sizeof(BITMAPCOREHEADER)))
-       goto ErrExit;
+        goto ErrExit;
 
     if (lpbi->biSize == sizeof(BITMAPCOREHEADER))
     {
-       lpbi->biSize = sizeof(BITMAPINFOHEADER);
-       lpbi->biBitCount = ((LPBITMAPCOREHEADER)lpbi)->bcBitCount;
-       lpbi->biPlanes = ((LPBITMAPCOREHEADER)lpbi)->bcPlanes;
-       lpbi->biHeight = ((LPBITMAPCOREHEADER)lpbi)->bcHeight;
-       lpbi->biWidth = ((LPBITMAPCOREHEADER)lpbi)->bcWidth;
-       bCoreHead = TRUE;
+        lpbi->biSize = sizeof(BITMAPINFOHEADER);
+        lpbi->biBitCount = ((LPBITMAPCOREHEADER)lpbi)->bcBitCount;
+        lpbi->biPlanes = ((LPBITMAPCOREHEADER)lpbi)->bcPlanes;
+        lpbi->biHeight = ((LPBITMAPCOREHEADER)lpbi)->bcHeight;
+        lpbi->biWidth = ((LPBITMAPCOREHEADER)lpbi)->bcWidth;
+        bCoreHead = TRUE;
     }
     else
     {
-       // get to the start of the header and read INFOHEADER
+            // get to the start of the header and read INFOHEADER
         _llseek(fh,sizeof(BITMAPFILEHEADER),SEEK_SET);
-       if (sizeof(BITMAPINFOHEADER) != _lread (fh, (LPSTR)lpbi, sizeof(BITMAPINFOHEADER)))
-           goto ErrExit;
+        if (sizeof(BITMAPINFOHEADER) != _lread (fh, (LPSTR)lpbi, sizeof(BITMAPINFOHEADER)))
+            goto ErrExit;
     }
 
     nNumColors = (WORD)lpbi->biClrUsed;
     if ( nNumColors == 0 )
     {
-       /* no color table for 24-bit, default size otherwise */
-       if (lpbi->biBitCount != 24)
-           nNumColors = 1 << lpbi->biBitCount; /* standard size table */
+        /* no color table for 24-bit, default size otherwise */
+        if (lpbi->biBitCount != 24)
+            nNumColors = 1 << lpbi->biBitCount;        /* standard size table */
     }
 
-    /* fill in some default values if they are zero */
+    /*        fill in some default values if they are zero */
     if (lpbi->biClrUsed == 0)
-       lpbi->biClrUsed = nNumColors;
+        lpbi->biClrUsed = nNumColors;
 
     if (lpbi->biSizeImage == 0)
     {
-       lpbi->biSizeImage = ((((lpbi->biWidth * (DWORD)lpbi->biBitCount) + 31) & ~31) >> 3)
-                        * lpbi->biHeight;
+        lpbi->biSizeImage = ((((lpbi->biWidth * (DWORD)lpbi->biBitCount) + 31) & ~31) >> 3)
+                         * lpbi->biHeight;
     }
 
     /* get a proper-sized buffer for header, color table and bits */
     GlobalUnlock(hDIB);
     hDIB = GlobalReAlloc(hDIB, lpbi->biSize +
-                                       nNumColors * sizeof(RGBQUAD) +
-                                       lpbi->biSizeImage, 0);
-    if (!hDIB) /* can't resize buffer for loading */
-       goto ErrExit2;
+                                            nNumColors * sizeof(RGBQUAD) +
+                                        lpbi->biSizeImage, 0);
+    if (!hDIB)        /* can't resize buffer for loading */
+        goto ErrExit2;
 
 #ifdef __WINDOWS_386__
     lpbi = (LPBITMAPINFOHEADER)MK_FP32(GlobalLock(hDIB));
@@ -513,24 +511,24 @@ BOOL wxReadDIB(LPTSTR lpFileName, HBITMAP *bitmap, HPALETTE *palette)
 
     /* read the color table */
     if (!bCoreHead)
-       _lread(fh, (LPSTR)(lpbi) + lpbi->biSize, nNumColors * sizeof(RGBQUAD));
+        _lread(fh, (LPSTR)(lpbi) + lpbi->biSize, nNumColors * sizeof(RGBQUAD));
     else
     {
-       signed int i;
-       RGBQUAD FAR *pQuad;
-       RGBTRIPLE FAR *pTriple;
-
-       _lread(fh, (LPSTR)(lpbi) + lpbi->biSize, nNumColors * sizeof(RGBTRIPLE));
-
-       pQuad = (RGBQUAD FAR *)((LPSTR)lpbi + lpbi->biSize);
-       pTriple = (RGBTRIPLE FAR *) pQuad;
-       for (i = nNumColors - 1; i >= 0; i--)
-       {
-           pQuad[i].rgbRed = pTriple[i].rgbtRed;
-           pQuad[i].rgbBlue = pTriple[i].rgbtBlue;
-           pQuad[i].rgbGreen = pTriple[i].rgbtGreen;
-           pQuad[i].rgbReserved = 0;
-       }
+        signed int i;
+        RGBQUAD FAR *pQuad;
+        RGBTRIPLE FAR *pTriple;
+
+        _lread(fh, (LPSTR)(lpbi) + lpbi->biSize, nNumColors * sizeof(RGBTRIPLE));
+
+        pQuad = (RGBQUAD FAR *)((LPSTR)lpbi + lpbi->biSize);
+        pTriple = (RGBTRIPLE FAR *) pQuad;
+        for (i = nNumColors - 1; i >= 0; i--)
+        {
+            pQuad[i].rgbRed = pTriple[i].rgbtRed;
+            pQuad[i].rgbBlue = pTriple[i].rgbtBlue;
+            pQuad[i].rgbGreen = pTriple[i].rgbtGreen;
+            pQuad[i].rgbReserved = 0;
+        }
     }
 
     /* offset to the bits from start of DIB header */
@@ -543,28 +541,28 @@ BOOL wxReadDIB(LPTSTR lpFileName, HBITMAP *bitmap, HPALETTE *palette)
 
     if (lpbi->biSizeImage == lread(fh, (LPSTR)lpbi + offBits, lpbi->biSizeImage))
     {
-       GlobalUnlock(hDIB);
-
-       hDC = GetDC(NULL);
-       if (!MakeBitmapAndPalette(hDC, hDIB, palette,
-                                       bitmap))
-       {
-           ReleaseDC(NULL,hDC);
-           goto ErrExit2;
-       }
-       else
-       {
-           ReleaseDC(NULL,hDC);
+        GlobalUnlock(hDIB);
+
+        hDC = GetDC(NULL);
+        if (!MakeBitmapAndPalette(hDC, hDIB, palette,
+                                        bitmap))
+        {
+            ReleaseDC(NULL,hDC);
+            goto ErrExit2;
+        }
+        else
+        {
+            ReleaseDC(NULL,hDC);
             GlobalFree(hDIB);
-           result = TRUE;
-       }
+            result = TRUE;
+        }
     }
     else
     {
 ErrExit:
-       GlobalUnlock(hDIB);
+        GlobalUnlock(hDIB);
 ErrExit2:
-       GlobalFree(hDIB);
+        GlobalFree(hDIB);
     }
 
     _lclose(fh);
@@ -587,7 +585,7 @@ ErrExit2:
  *
  ****************************************************************************/
 static BOOL PASCAL MakeBitmapAndPalette(HDC hDC, HANDLE hDIB,
-                       HPALETTE * phPal, HBITMAP * phBitmap)
+                        HPALETTE * phPal, HBITMAP * phBitmap)
 {
     LPBITMAPINFOHEADER lpInfo;
     BOOL result = FALSE;
@@ -604,41 +602,41 @@ static BOOL PASCAL MakeBitmapAndPalette(HDC hDC, HANDLE hDIB,
     hPalette = wxMakeDIBPalette(lpInfo);
     if ( hPalette )
     {
-       // Need to realize palette for converting DIB to bitmap.
-       hOldPal = SelectPalette(hDC, hPalette, TRUE);
-       RealizePalette(hDC);
-
-       lpBits = (LPSTR)lpInfo + (WORD)lpInfo->biSize +
-               (WORD)lpInfo->biClrUsed * sizeof(RGBQUAD);
-       hBitmap = CreateDIBitmap(hDC, lpInfo, CBM_INIT, lpBits,
-                               (LPBITMAPINFO)lpInfo, DIB_RGB_COLORS);
-
-       SelectPalette(hDC, hOldPal, TRUE);
-       RealizePalette(hDC);
-
-       if (!hBitmap)
-           DeleteObject(hPalette);
-       else
-       {
-           *phBitmap = hBitmap;
-           *phPal = hPalette;
-           result = TRUE;
-       }
+        // Need to realize palette for converting DIB to bitmap.
+        hOldPal = SelectPalette(hDC, hPalette, TRUE);
+        RealizePalette(hDC);
+
+        lpBits = (LPSTR)lpInfo + (WORD)lpInfo->biSize +
+                (WORD)lpInfo->biClrUsed * sizeof(RGBQUAD);
+        hBitmap = CreateDIBitmap(hDC, lpInfo, CBM_INIT, lpBits,
+                                (LPBITMAPINFO)lpInfo, DIB_RGB_COLORS);
+
+        SelectPalette(hDC, hOldPal, TRUE);
+        RealizePalette(hDC);
+
+        if (!hBitmap)
+            DeleteObject(hPalette);
+        else
+        {
+            *phBitmap = hBitmap;
+            *phPal = hPalette;
+            result = TRUE;
+        }
     }
     return(result);
 }
 
 /****************************************************************************
- *                                                                         *
- *  FUNCTION   : wxMakeDIBPalette(lpInfo)                                          *
- *                                                                         *
+ *                                                                            *
+ *  FUNCTION   : wxMakeDIBPalette(lpInfo)                                            *
+ *                                                                            *
  *  PURPOSE    : Given a BITMAPINFOHEADER, create a palette based on
- *              the color table.
+ *                 the color table.
  *
- *                                                                         *
+ *                                                                            *
  *  RETURNS    : non-zero - handle of a corresponding palette
- *              zero - unable to create palette
- *                                                                         *
+ *                 zero - unable to create palette
+ *                                                                            *
  ****************************************************************************/
 HPALETTE wxMakeDIBPalette(LPBITMAPINFOHEADER lpInfo)
 {
@@ -656,34 +654,34 @@ HPALETTE wxMakeDIBPalette(LPBITMAPINFOHEADER lpInfo)
     if (lpInfo->biClrUsed)
     {
 /*
-       npPal = (NPLOGPALETTE)LocalAlloc(LMEM_FIXED, sizeof(LOGPALETTE) +
-                               (WORD)lpInfo->biClrUsed * sizeof(PALETTEENTRY));
+        npPal = (NPLOGPALETTE)LocalAlloc(LMEM_FIXED, sizeof(LOGPALETTE) +
+                                (WORD)lpInfo->biClrUsed * sizeof(PALETTEENTRY));
 */
-       npPal = (LPLOGPALETTE)malloc(sizeof(LOGPALETTE) +
-                               (WORD)lpInfo->biClrUsed * sizeof(PALETTEENTRY));
+        npPal = (LPLOGPALETTE)malloc(sizeof(LOGPALETTE) +
+                                (WORD)lpInfo->biClrUsed * sizeof(PALETTEENTRY));
         if (!npPal)
-           return(FALSE);
+            return(FALSE);
 
-       npPal->palVersion = 0x300;
-       npPal->palNumEntries = (WORD)lpInfo->biClrUsed;
+        npPal->palVersion = 0x300;
+        npPal->palNumEntries = (WORD)lpInfo->biClrUsed;
 
-       /* get pointer to the color table */
-       lpRGB = (RGBQUAD FAR *)((LPSTR)lpInfo + lpInfo->biSize);
+        /* get pointer to the color table */
+        lpRGB = (RGBQUAD FAR *)((LPSTR)lpInfo + lpInfo->biSize);
 
-       /* copy colors from the color table to the LogPalette structure */
-       for (i = 0; i < lpInfo->biClrUsed; i++, lpRGB++)
-       {
-           npPal->palPalEntry[i].peRed = lpRGB->rgbRed;
-           npPal->palPalEntry[i].peGreen = lpRGB->rgbGreen;
-           npPal->palPalEntry[i].peBlue = lpRGB->rgbBlue;
-           npPal->palPalEntry[i].peFlags = 0;
-       }
+        /* copy colors from the color table to the LogPalette structure */
+        for (i = 0; i < lpInfo->biClrUsed; i++, lpRGB++)
+        {
+            npPal->palPalEntry[i].peRed = lpRGB->rgbRed;
+            npPal->palPalEntry[i].peGreen = lpRGB->rgbGreen;
+            npPal->palPalEntry[i].peBlue = lpRGB->rgbBlue;
+            npPal->palPalEntry[i].peFlags = 0;
+        }
 
-       hLogPal = CreatePalette((LPLOGPALETTE)npPal);
-//     LocalFree((HANDLE)npPal);
+        hLogPal = CreatePalette((LPLOGPALETTE)npPal);
+//        LocalFree((HANDLE)npPal);
         free(npPal);
 
-       return(hLogPal);
+        return(hLogPal);
     }
 
     /* 24-bit DIB with no color table.  return default palette.  Another
@@ -691,7 +689,7 @@ HPALETTE wxMakeDIBPalette(LPBITMAPINFOHEADER lpInfo)
     ** some good color choices.
     */
     else
-       return((HPALETTE) GetStockObject(DEFAULT_PALETTE));
+        return((HPALETTE) GetStockObject(DEFAULT_PALETTE));
 #endif
 
 }