X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b0ea5d96038f143169458ba032451427bbf93b3a..d0b50ad93942338301a318eda78f7d3999a93fab:/src/msw/bitmap.cpp diff --git a/src/msw/bitmap.cpp b/src/msw/bitmap.cpp index 139c60f331..8cc1e1b180 100644 --- a/src/msw/bitmap.cpp +++ b/src/msw/bitmap.cpp @@ -487,7 +487,6 @@ bool wxBitmap::DoCreate(int w, int h, int d, WXHDC hdc) hbmp = dib.Detach(); GetBitmapData()->m_depth = d; - GetBitmapData()->m_hasAlpha = d == 32; // 32bpp DIBs have alpha channel } else // create a DDB { @@ -1193,70 +1192,6 @@ bool wxBitmap::GetRawData(wxRawBitmapData *data) return TRUE; } -// ---------------------------------------------------------------------------- -// TODO: to be replaced by something better -// ---------------------------------------------------------------------------- - -// Creates a bitmap that matches the device context, from -// an arbitray bitmap. At present, the original bitmap must have an -// associated palette. TODO: use a default palette if no palette exists. -// Contributed by Frederic Villeneuve -wxBitmap wxBitmap::GetBitmapForDC(wxDC& dc) const -{ -#ifdef __WXMICROWIN__ - return *this; -#else - wxMemoryDC memDC; - wxBitmap tmpBitmap(GetWidth(), GetHeight(), dc.GetDepth()); - HPALETTE hPal = (HPALETTE) NULL; - LPBITMAPINFO lpDib; - void *lpBits = (void*) NULL; - -#if wxUSE_PALETTE - if( GetPalette() && GetPalette()->Ok() ) - { - tmpBitmap.SetPalette(*GetPalette()); - memDC.SelectObject(tmpBitmap); - memDC.SetPalette(*GetPalette()); - hPal = (HPALETTE)GetPalette()->GetHPALETTE(); - } - else - { - hPal = (HPALETTE) ::GetStockObject(DEFAULT_PALETTE); - wxPalette palette; - palette.SetHPALETTE( (WXHPALETTE)hPal ); - tmpBitmap.SetPalette( palette ); - memDC.SelectObject(tmpBitmap); - memDC.SetPalette( palette ); - } -#else // !wxUSE_PALETTE - hPal = (HPALETTE) ::GetStockObject(DEFAULT_PALETTE); -#endif // wxUSE_PALETTE/!wxUSE_PALETTE - - // set the height negative because in a DIB the order of the lines is - // reversed - if ( !wxCreateDIB(GetWidth(), -GetHeight(), GetDepth(), hPal, &lpDib) ) - { - return wxNullBitmap; - } - - lpBits = malloc(lpDib->bmiHeader.biSizeImage); - - ::GetBitmapBits(GetHbitmap(), lpDib->bmiHeader.biSizeImage, lpBits); - - ::SetDIBitsToDevice(GetHdcOf(memDC), 0, 0, - GetWidth(), GetHeight(), - 0, 0, 0, GetHeight(), - lpBits, lpDib, DIB_RGB_COLORS); - - free(lpBits); - - wxFreeDIB(lpDib); - - return tmpBitmap; -#endif -} - // ---------------------------------------------------------------------------- // wxMask // ----------------------------------------------------------------------------