X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e7222d659b1d1c73d192f1fcfbf0fdcb32c1ef41..e736b21a8c9295b42a528d76863559a4265dab02:/src/msw/bitmap.cpp diff --git a/src/msw/bitmap.cpp b/src/msw/bitmap.cpp index bac7a9c0ca..37e69a0e5c 100644 --- a/src/msw/bitmap.cpp +++ b/src/msw/bitmap.cpp @@ -275,13 +275,7 @@ bool wxBitmap::CopyFromCursor(const wxCursor& cursor) if ( !cursor.Ok() ) return FALSE; -#ifdef __WIN16__ - wxFAIL_MSG( _T("don't know how to convert cursor to bitmap") ); - - return FALSE; -#else return CopyFromIconOrCursor(cursor); -#endif // Win16 } bool wxBitmap::CopyFromIcon(const wxIcon& icon) @@ -291,37 +285,7 @@ bool wxBitmap::CopyFromIcon(const wxIcon& icon) if ( !icon.Ok() ) return FALSE; - // GetIconInfo() doesn't exist under Win16 and I don't know any other way - // to create a bitmap from icon there - but using this way we won't have - // the mask (FIXME) -#ifdef __WIN16__ - int width = icon.GetWidth(), - height = icon.GetHeight(); - - // copy the icon to the bitmap - ScreenHDC hdcScreen; - HDC hdc = ::CreateCompatibleDC(hdcScreen); - HBITMAP hbitmap = ::CreateCompatibleBitmap(hdcScreen, width, height); - HBITMAP hbmpOld = (HBITMAP)::SelectObject(hdc, hbitmap); - - ::DrawIcon(hdc, 0, 0, GetHiconOf(icon)); - - ::SelectObject(hdc, hbmpOld); - ::DeleteDC(hdc); - - wxBitmapRefData *refData = new wxBitmapRefData; - m_refData = refData; - - refData->m_width = width; - refData->m_height = height; - refData->m_depth = wxDisplayDepth(); - - refData->m_hBitmap = (WXHBITMAP)hbitmap; - - return TRUE; -#else // Win32 return CopyFromIconOrCursor(icon); -#endif // Win16/Win32 } #if wxUSE_WXDIB @@ -429,7 +393,11 @@ wxBitmap::wxBitmap(const char bits[], int width, int height, int depth) } // Create from XPM data +#if wxUSE_IMAGE && wxUSE_XPM bool wxBitmap::CreateFromXpm(const char **data) +#else +bool wxBitmap::CreateFromXpm(const char **WXUNUSED(data)) +#endif { #if wxUSE_IMAGE && wxUSE_XPM Init(); @@ -520,10 +488,6 @@ bool wxBitmap::DoCreate(int w, int h, int d, WXHDC hdc) else // create a DDB #endif { - if ( d == -1 ) - d = wxDisplayDepth(); - - GetBitmapData()->m_depth = d; #ifndef __WXMICROWIN__ if ( d > 0 ) @@ -1510,20 +1474,20 @@ void wxBitmap::UngetRawData(wxPixelDataBase& dataBase) p = rowStart; p.OffsetY(data, 1); } + } - // if we're a DDB we need to convert DIB back to DDB now to make the - // changes made via raw bitmap access effective - if ( !GetBitmapData()->m_isDIB ) - { - wxDIB *dib = GetBitmapData()->m_dib; - GetBitmapData()->m_dib = NULL; + // if we're a DDB we need to convert DIB back to DDB now to make the + // changes made via raw bitmap access effective + if ( !GetBitmapData()->m_isDIB ) + { + wxDIB *dib = GetBitmapData()->m_dib; + GetBitmapData()->m_dib = NULL; - // TODO: convert + // TODO: convert - delete dib; - } + delete dib; } -#endif +#endif // wxUSE_WXDIB } #endif // #ifdef wxHAVE_RAW_BITMAP @@ -1762,14 +1726,11 @@ bool wxCreateDIB(long xSize, long ySize, long bitsPerPixel, HPALETTE hPal, LPBITMAPINFO* lpDIBHeader) { unsigned long i, headerSize; - LPBITMAPINFO lpDIBheader = NULL; - LPPALETTEENTRY lpPe = NULL; - // Allocate space for a DIB header headerSize = (sizeof(BITMAPINFOHEADER) + (256 * sizeof(PALETTEENTRY))); - lpDIBheader = (BITMAPINFO *) malloc(headerSize); - lpPe = (PALETTEENTRY *)((BYTE*)lpDIBheader + sizeof(BITMAPINFOHEADER)); + LPBITMAPINFO lpDIBheader = (BITMAPINFO *) malloc(headerSize); + LPPALETTEENTRY lpPe = (PALETTEENTRY *)((BYTE*)lpDIBheader + sizeof(BITMAPINFOHEADER)); GetPaletteEntries(hPal, 0, 256, lpPe);