]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/dib.cpp
Cured last focus bug (I hope); some wxMotif mods
[wxWidgets.git] / src / msw / dib.cpp
index 58d92874cb8414cff42d29526835624d256809c9..bd573f27910963350071f1a67628e7980c7959eb 100644 (file)
@@ -26,7 +26,6 @@
  *******************************************************************************/
 
 // For compilers that support precompilation, includes "wx.h".
  *******************************************************************************/
 
 // For compilers that support precompilation, includes "wx.h".
-#define IN_WX_MAIN_CPP
 #include "wx/wxprec.h"
 
 #if defined(__BORLANDC__)
 #include "wx/wxprec.h"
 
 #if defined(__BORLANDC__)
 #ifndef WX_PRECOMP
 #include "wx/setup.h"
 #include "wx/defs.h"
 #ifndef WX_PRECOMP
 #include "wx/setup.h"
 #include "wx/defs.h"
+#include "wx/bitmap.h"
 #endif
 
 #include <windows.h>
 #include <stdio.h>
 #include <stdlib.h>
 #endif
 
 #include <windows.h>
 #include <stdio.h>
 #include <stdlib.h>
+
+#if !defined(__MWERKS__) && !defined(__SALFORDC__)
 #include <memory.h>
 #include <memory.h>
+#endif
 
 #include "wx/msw/dib.h"
 
 
 #include "wx/msw/dib.h"
 
+#ifndef __TWIN32__
 #ifdef __GNUWIN32__
 #include "wx/msw/gnuwin32/extra.h"
 #endif
 #ifdef __GNUWIN32__
 #include "wx/msw/gnuwin32/extra.h"
 #endif
+#endif
 
 #ifndef SEEK_CUR
 /* flags for _lseek */
 
 #ifndef SEEK_CUR
 /* flags for _lseek */
@@ -256,7 +261,7 @@ HANDLE DibFromBitmap(HBITMAP hbm, DWORD biStyle, WORD biBits, HPALETTE hpal)
 
        dwLen = bi.biSize + PaletteSize(&bi);
 
 
        dwLen = bi.biSize + PaletteSize(&bi);
 
-       hdc = GetDC(NULL);
+       hdc = GetDC((HWND) NULL);
        hpal = SelectPalette(hdc, hpal, FALSE);
        RealizePalette(hdc);
 
        hpal = SelectPalette(hdc, hpal, FALSE);
        RealizePalette(hdc);
 
@@ -324,7 +329,7 @@ HANDLE DibFromBitmap(HBITMAP hbm, DWORD biStyle, WORD biBits, HPALETTE hpal)
                GlobalUnlock(hdib);
                hdib = NULL;
                SelectPalette(hdc, hpal, FALSE);
                GlobalUnlock(hdib);
                hdib = NULL;
                SelectPalette(hdc, hpal, FALSE);
-               ReleaseDC(NULL, hdc);
+               ReleaseDC((HWND) NULL, hdc);
                return NULL;
                }
 
                return NULL;
                }
 
@@ -474,7 +479,8 @@ BOOL ReadDIB(LPSTR lpFileName, HBITMAP *bitmap, HPALETTE *palette)
            goto ErrExit;
     }
 
            goto ErrExit;
     }
 
-    if (!(nNumColors = (WORD)lpbi->biClrUsed))
+    nNumColors = (WORD)lpbi->biClrUsed;
+    if ( nNumColors == 0 )
     {
        /* no color table for 24-bit, default size otherwise */
        if (lpbi->biBitCount != 24)
     {
        /* no color table for 24-bit, default size otherwise */
        if (lpbi->biBitCount != 24)
@@ -595,7 +601,8 @@ BOOL PASCAL MakeBitmapAndPalette(HDC hDC, HANDLE hDIB,
     lpInfo = (LPBITMAPINFOHEADER) GlobalLock(hDIB);
 #endif
 
     lpInfo = (LPBITMAPINFOHEADER) GlobalLock(hDIB);
 #endif
 
-    if ((hPalette = MakeDIBPalette(lpInfo)))
+    hPalette = MakeDIBPalette(lpInfo);
+    if ( hPalette )
     {
        // Need to realize palette for converting DIB to bitmap.
        hOldPal = SelectPalette(hDC, hPalette, TRUE);
     {
        // Need to realize palette for converting DIB to bitmap.
        hOldPal = SelectPalette(hDC, hPalette, TRUE);
@@ -682,10 +689,10 @@ HPALETTE MakeDIBPalette(LPBITMAPINFOHEADER lpInfo)
     ** some good color choices.
     */
     else
     ** some good color choices.
     */
     else
-       return(GetStockObject(DEFAULT_PALETTE));
+       return((HPALETTE) GetStockObject(DEFAULT_PALETTE));
 }
 
 }
 
-bool wxLoadIntoBitmap(char *filename, wxBitmap *bitmap, wxColourMap **pal)
+bool wxLoadIntoBitmap(char *filename, wxBitmap *bitmap, wxPalette **pal)
 {
   HBITMAP hBitmap;
   HPALETTE hPalette;
 {
   HBITMAP hBitmap;
   HPALETTE hPalette;
@@ -702,7 +709,7 @@ bool wxLoadIntoBitmap(char *filename, wxBitmap *bitmap, wxColourMap **pal)
   {
     if (pal)
     {
   {
     if (pal)
     {
-      *pal = new wxColourMap;
+      *pal = new wxPalette;
       (*pal)->SetHPALETTE((WXHPALETTE) hPalette);
     }
     else
       (*pal)->SetHPALETTE((WXHPALETTE) hPalette);
     }
     else
@@ -726,7 +733,7 @@ bool wxLoadIntoBitmap(char *filename, wxBitmap *bitmap, wxColourMap **pal)
   else return FALSE;
 }
 
   else return FALSE;
 }
 
-wxBitmap *wxLoadBitmap(char *filename, wxColourMap **pal)
+wxBitmap *wxLoadBitmap(char *filename, wxPalette **pal)
 {
   wxBitmap *bitmap = new wxBitmap;
   if (wxLoadIntoBitmap(filename, bitmap, pal))
 {
   wxBitmap *bitmap = new wxBitmap;
   if (wxLoadIntoBitmap(filename, bitmap, pal))
@@ -915,7 +922,7 @@ HANDLE BitmapToDIB (HBITMAP hBitmap, HPALETTE hPal)
    return hDIB;
 }
 
    return hDIB;
 }
 
-bool wxSaveBitmap(char *filename, wxBitmap *bitmap, wxColourMap *colourmap)
+bool wxSaveBitmap(char *filename, wxBitmap *bitmap, wxPalette *colourmap)
 {
   HPALETTE hPalette = 0;
   if (colourmap)
 {
   HPALETTE hPalette = 0;
   if (colourmap)