]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/dib.h
don't use GetSelectedInto() in release build
[wxWidgets.git] / include / wx / msw / dib.h
index 8ba5cc6e1f1d9b75d991b5d45a8c1541bd54a5f3..dd68491a029810b9add169d8abd23f5b905c8f12 100644 (file)
@@ -1,22 +1,50 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        dib.h
+// Name:        wx/msw/dib.h
 // Purpose:     Routines for loading and saving DIBs
 // Author:      Various
 // Modified by:
 // Created:     01/02/97
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart
-// Licence:    wxWindows licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
+#ifndef _WX_DIB_H_
+#define _WX_DIB_H_
+
+class WXDLLEXPORT wxBitmap;
+class WXDLLEXPORT wxPalette;
+
+// WARNING: these functions are private to wxWindows and shouldn't be used
+//          by the user code, they risk to disappear in the next versions!
+
+// ----------------------------------------------------------------------------
+// Functions for working with DIBs
+// ----------------------------------------------------------------------------
+
+// VZ: we have 3 different sets of functions: from bitmap.cpp (wxCreateDIB and
+//     wxFreeDIB), from dib.cpp and from dataobj.cpp - surely there is some
+//     redundancy between them? (FIXME)
+
+// defined in bitmap.cpp
+extern bool wxCreateDIB(long xSize, long ySize, long bitsPerPixel,
+                       HPALETTE hPal, LPBITMAPINFO* lpDIBHeader);
+extern void wxFreeDIB(LPBITMAPINFO lpDIBHeader);
+
+// defined in ole/dataobj.cpp
+extern WXDLLEXPORT size_t wxConvertBitmapToDIB(LPBITMAPINFO pbi, const wxBitmap& bitmap);
+extern WXDLLEXPORT wxBitmap wxConvertDIBToBitmap(const LPBITMAPINFO pbi);
+
+// the rest is defined in dib.cpp
+
 // Save (device dependent) wxBitmap as a DIB
-bool             wxSaveBitmap(wxChar *filename, wxBitmap *bitmap, wxColourMap *colourmap = NULL);
+bool wxSaveBitmap(wxChar *filename, wxBitmap *bitmap, wxPalette *colourmap = NULL);
 
 // Load device independent bitmap into device dependent bitmap
-wxBitmap         *wxLoadBitmap(wxChar *filename, wxColourMap **colourmap = NULL);
+wxBitmap *wxLoadBitmap(wxChar *filename, wxPalette **colourmap = NULL);
 
 // Load into existing bitmap;
-bool wxLoadIntoBitmap(wxChar *filename, wxBitmap *bitmap, wxColourMap **pal = NULL);
+bool wxLoadIntoBitmap(wxChar *filename, wxBitmap *bitmap, wxPalette **pal = NULL);
 
 HANDLE wxBitmapToDIB (HBITMAP hBitmap, HPALETTE hPal);
 BOOL   wxReadDIB(LPTSTR lpFileName, HBITMAP *bitmap, HPALETTE *palette);
@@ -24,3 +52,5 @@ HANDLE wxReadDIB2(LPTSTR lpFileName);
 LPSTR wxFindDIBBits (LPSTR lpbi);
 HPALETTE wxMakeDIBPalette(LPBITMAPINFOHEADER lpInfo);
 
+#endif // _WX_DIB_H_
+