]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/curico.cpp
Added missing files to filelist.txt and regenerated makefiles.
[wxWidgets.git] / src / msw / curico.cpp
index 9338e438fd4beca6c7ed2ba86ea82f6c2bc95065..5bd16e67a0867a723c2a7cfef1e51587e2424dc0 100644 (file)
 #endif
 
 #ifndef __TWIN32__
 #endif
 
 #ifndef __TWIN32__
-#ifdef __GNUWIN32__
+#if defined (__GNUWIN32__) && !defined(wxUSE_NORLANDER_HEADERS)
 #include "wx/msw/gnuwin32/extra.h"
 #endif
 #endif
 
 #include "wx/msw/gnuwin32/extra.h"
 #endif
 #endif
 
+#include "wx/wxchar.h"
 #include "wx/msw/curicop.h"
 #include "wx/msw/curico.h"
 #include "wx/msw/curicop.h"
 #include "wx/msw/curico.h"
+#include "wx/string.h"
 
 //*****************************************************************************
 //* Function : ReadIconFile()                                                 *
 
 //*****************************************************************************
 //* Function : ReadIconFile()                                                 *
@@ -42,7 +44,7 @@
 //*            be created for any reason.                                     *
 //*****************************************************************************
 
 //*            be created for any reason.                                     *
 //*****************************************************************************
 
-HICON ReadIconFile( char *szFileName, HINSTANCE hInst, int *W, int *H)
+HICON ReadIconFile( wxChar *szFileName, HINSTANCE hInst, int *W, int *H)
 { HICON   hIcon;
   HANDLE  hDIB;
 
 { HICON   hIcon;
   HANDLE  hDIB;
 
@@ -65,7 +67,7 @@ HICON ReadIconFile( char *szFileName, HINSTANCE hInst, int *W, int *H)
 //*            monochrome.                                                    *
 //*****************************************************************************
 
 //*            monochrome.                                                    *
 //*****************************************************************************
 
-HICON CursorToIcon( char *szFileName, HINSTANCE hInst, int *W, int *H)
+HICON CursorToIcon( wxChar *szFileName, HINSTANCE hInst, int *W, int *H)
 { HANDLE  hDIB;     // Handle to DIB memory
   HICON   hIcon;    // Handle to Icon
 
 { HANDLE  hDIB;     // Handle to DIB memory
   HICON   hIcon;    // Handle to Icon
 
@@ -85,7 +87,7 @@ HICON CursorToIcon( char *szFileName, HINSTANCE hInst, int *W, int *H)
 //*            is corrupt or if memory cannot be allocated for the DIB info.  *
 //*****************************************************************************
 
 //*            is corrupt or if memory cannot be allocated for the DIB info.  *
 //*****************************************************************************
 
-HANDLE ReadIcon( char *szFileName, int *W, int *H)
+HANDLE ReadIcon( wxChar *szFileName, int *W, int *H)
 { ICONFILEHEADER iconFileHead;   // ICON file header structure
   ICONFILERES    iconFileRes;    // ICON file resource
   WORD           cbHead,
 { ICONFILEHEADER iconFileHead;   // ICON file header structure
   ICONFILERES    iconFileRes;    // ICON file resource
   WORD           cbHead,
@@ -99,7 +101,7 @@ HANDLE ReadIcon( char *szFileName, int *W, int *H)
                  nDirEntries = 0;
 
    // Open and read the .ICO file header and the first ICONFILERES
                  nDirEntries = 0;
 
    // Open and read the .ICO file header and the first ICONFILERES
-  hFile  = _lopen( szFileName, OF_READ);
+  hFile  = _lopen( wxFNCONV(szFileName), OF_READ);
   cbHead = _lread( hFile, (LPSTR)&iconFileHead, sizeof(ICONFILEHEADER));
   cbRes  = _lread( hFile, (LPSTR)&iconFileRes, sizeof(ICONFILERES));
   ++nDirEntries;
   cbHead = _lread( hFile, (LPSTR)&iconFileHead, sizeof(ICONFILEHEADER));
   cbRes  = _lread( hFile, (LPSTR)&iconFileRes, sizeof(ICONFILERES));
   ++nDirEntries;
@@ -216,7 +218,7 @@ HICON MakeIcon( HANDLE hDIB, HINSTANCE hInst)
                             lpDIB->bmiHeader.biBitCount)));
 
   // Get a hDC so we can create a bitmap compatible with it
                             lpDIB->bmiHeader.biBitCount)));
 
   // Get a hDC so we can create a bitmap compatible with it
-  hDC = CreateDC( "DISPLAY", NULL, NULL, NULL);
+  hDC = CreateDC( _T("DISPLAY"), NULL, NULL, NULL);
 
   // 5) Create a device dependent bitmap with the XOR bits.
   hbmXor = CreateDIBitmap( hDC, (LPBITMAPINFOHEADER)&(lpDIB->bmiHeader),
 
   // 5) Create a device dependent bitmap with the XOR bits.
   hbmXor = CreateDIBitmap( hDC, (LPBITMAPINFOHEADER)&(lpDIB->bmiHeader),
@@ -277,7 +279,7 @@ HICON MakeIcon( HANDLE hDIB, HINSTANCE hInst)
 //*            be created for any reason.                                     *
 //*****************************************************************************
 
 //*            be created for any reason.                                     *
 //*****************************************************************************
 
-HCURSOR ReadCursorFile( char *szFileName, HINSTANCE hInst, int *W, int *H,
+HCURSOR ReadCursorFile( wxChar *szFileName, HINSTANCE hInst, int *W, int *H,
                         int *XHot, int *YHot)
 { HANDLE    hDIB;    // Handle to DIB memory
   HCURSOR   hCursor;
                         int *XHot, int *YHot)
 { HANDLE    hDIB;    // Handle to DIB memory
   HCURSOR   hCursor;
@@ -306,7 +308,7 @@ HCURSOR ReadCursorFile( char *szFileName, HINSTANCE hInst, int *W, int *H,
 //*            monochrome.                                                    *
 //*****************************************************************************
 
 //*            monochrome.                                                    *
 //*****************************************************************************
 
-HCURSOR IconToCursor( char *szFileName, HINSTANCE hInst, int XHot, int YHot,
+HCURSOR IconToCursor( wxChar *szFileName, HINSTANCE hInst, int XHot, int YHot,
                       int  *W, int *H)
 { HCURSOR   hCursor;
   HANDLE    hDIB;
                       int  *W, int *H)
 { HCURSOR   hCursor;
   HANDLE    hDIB;
@@ -332,7 +334,7 @@ HCURSOR IconToCursor( char *szFileName, HINSTANCE hInst, int XHot, int YHot,
 //*            is corrupt or if memory cannot be allocated for the DIB info.  *
 //*****************************************************************************
 
 //*            is corrupt or if memory cannot be allocated for the DIB info.  *
 //*****************************************************************************
 
-HANDLE ReadCur( char *szFileName, LPPOINT lpptHotSpot, int *W, int *H)
+HANDLE ReadCur( wxChar *szFileName, LPPOINT lpptHotSpot, int *W, int *H)
 { CURFILEHEADER   curFileHead;  // CURSOR file header structure
   CURFILERES      curFileRes;   // CURSOR file resource
   WORD            cbHead,
 { CURFILEHEADER   curFileHead;  // CURSOR file header structure
   CURFILERES      curFileRes;   // CURSOR file resource
   WORD            cbHead,
@@ -346,7 +348,7 @@ HANDLE ReadCur( char *szFileName, LPPOINT lpptHotSpot, int *W, int *H)
                   nDirEntries = 0;
 
   // Open and read the .ICO file header and the first ICONFILERES
                   nDirEntries = 0;
 
   // Open and read the .ICO file header and the first ICONFILERES
-  hFile  = _lopen( szFileName, OF_READ);
+  hFile  = _lopen( wxFNCONV(szFileName), OF_READ);
   cbHead = _lread( hFile,  (LPSTR )&curFileHead, sizeof( CURFILEHEADER));
   cbRes  = _lread( hFile,  (LPSTR )&curFileRes,  sizeof( CURFILERES));
   ++nDirEntries;
   cbHead = _lread( hFile,  (LPSTR )&curFileHead, sizeof( CURFILEHEADER));
   cbRes  = _lread( hFile,  (LPSTR )&curFileRes,  sizeof( CURFILERES));
   ++nDirEntries;
@@ -577,7 +579,7 @@ HCURSOR MakeCursor( HANDLE hDIB, LPPOINT lpptHotSpot, HINSTANCE hInst)
                            lpDIB->bmiHeader.biBitCount)));
 
   // Get a hDC so we can create a bitmap compatible with it
                            lpDIB->bmiHeader.biBitCount)));
 
   // Get a hDC so we can create a bitmap compatible with it
-  hDC = CreateDC( "DISPLAY", NULL, NULL, NULL);
+  hDC = CreateDC( _T("DISPLAY"), NULL, NULL, NULL);
 
   // 5) Create a device dependent bitmap with the XOR bits.
   hbmXor = CreateBitmap( (int )lpDIB->bmiHeader.biWidth,
 
   // 5) Create a device dependent bitmap with the XOR bits.
   hbmXor = CreateBitmap( (int )lpDIB->bmiHeader.biWidth,
@@ -698,7 +700,7 @@ WORD DIBNumColors ( LPSTR pv)
 
 #if 0
 // ******************************************************************
 
 #if 0
 // ******************************************************************
-BOOL fGetXPixmap( BOOL fIsIcon, char *szFileName, HINSTANCE hInst,
+BOOL fGetXPixmap( BOOL fIsIcon, wxChar *szFileName, HINSTANCE hInst,
                   char cData[], int &width, int &height)
 { HDC       hdc,
             hdcMemory;
                   char cData[], int &width, int &height)
 { HDC       hdc,
             hdcMemory;
@@ -820,10 +822,17 @@ HCURSOR MakeCursorFromBitmap(HINSTANCE hInst, HBITMAP hBitmap, POINT *pPoint)
   DeleteObject(hXorBmp);
   ReleaseDC(NULL, hDC);
 #ifndef __WIN32__
   DeleteObject(hXorBmp);
   ReleaseDC(NULL, hDC);
 #ifndef __WIN32__
+#ifdef STRICT
+  LocalUnlock(LocalHandle((void NEAR*) andBits));
+  LocalUnlock(LocalHandle((void NEAR*) xorBits));
+  LocalFree(LocalHandle((void NEAR*) andBits));
+  LocalFree(LocalHandle((void NEAR*) xorBits));
+#else
   LocalUnlock(LocalHandle((WORD) andBits));
   LocalUnlock(LocalHandle((WORD) xorBits));
   LocalFree(LocalHandle((WORD) andBits));
   LocalFree(LocalHandle((WORD) xorBits));
   LocalUnlock(LocalHandle((WORD) andBits));
   LocalUnlock(LocalHandle((WORD) xorBits));
   LocalFree(LocalHandle((WORD) andBits));
   LocalFree(LocalHandle((WORD) xorBits));
+#endif
 #else
   LocalUnlock(LocalHandle((LPCVOID) andBits));
   LocalUnlock(LocalHandle((LPCVOID) xorBits));
 #else
   LocalUnlock(LocalHandle((LPCVOID) andBits));
   LocalUnlock(LocalHandle((LPCVOID) xorBits));
@@ -891,10 +900,17 @@ HICON MakeIconFromBitmap(HINSTANCE hInst, HBITMAP hBitmap)
   DeleteObject(hXorBmp);
   ReleaseDC((HWND) NULL, hDC);
 #ifndef __WIN32__
   DeleteObject(hXorBmp);
   ReleaseDC((HWND) NULL, hDC);
 #ifndef __WIN32__
+#ifdef STRICT
+  LocalUnlock(LocalHandle((void NEAR*) andBits));
+  LocalUnlock(LocalHandle((void NEAR*) xorBits));
+  LocalFree(LocalHandle((void NEAR*) andBits));
+  LocalFree(LocalHandle((void NEAR*) xorBits));
+#else
   LocalUnlock(LocalHandle((WORD) andBits));
   LocalUnlock(LocalHandle((WORD) xorBits));
   LocalFree(LocalHandle((WORD) andBits));
   LocalFree(LocalHandle((WORD) xorBits));
   LocalUnlock(LocalHandle((WORD) andBits));
   LocalUnlock(LocalHandle((WORD) xorBits));
   LocalFree(LocalHandle((WORD) andBits));
   LocalFree(LocalHandle((WORD) xorBits));
+#endif
 #else
   LocalUnlock(LocalHandle((LPCVOID) andBits));
   LocalUnlock(LocalHandle((LPCVOID) xorBits));
 #else
   LocalUnlock(LocalHandle((LPCVOID) andBits));
   LocalUnlock(LocalHandle((LPCVOID) xorBits));