From f2bb16493d89e72ba4cfb0149c5ae1e40a068e82 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 23 Mar 2003 14:27:34 +0000 Subject: [PATCH] removed GetBitmapForDC() and supporting functions git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/msw/bitmap.h | 14 --------- include/wx/msw/dib.h | 5 ---- src/msw/bitmap.cpp | 64 ----------------------------------------- 3 files changed, 83 deletions(-) diff --git a/include/wx/msw/bitmap.h b/include/wx/msw/bitmap.h index 22b8a1bb16..536a62b307 100644 --- a/include/wx/msw/bitmap.h +++ b/include/wx/msw/bitmap.h @@ -179,20 +179,6 @@ public: wxDC *GetSelectedInto() const; #endif // __WXDEBUG__ - // Creates a bitmap that matches the device context's depth, from an - // arbitray bitmap. At present, the original bitmap must have an associated - // palette. (TODO: use a default palette if no palette exists.) This - // function is necessary for you to Blit an arbitrary bitmap (which may - // have the wrong depth). wxDC::SelectObject will compare the depth of the - // bitmap with the DC's depth, and create a new bitmap if the depths - // differ. Eventually we should perhaps make this a public API function so - // that an app can efficiently produce bitmaps of the correct depth. The - // Windows solution is to use SetDibBits to blit an arbotrary DIB directly - // to a DC, but this is too Windows-specific, hence this solution of - // quietly converting the wxBitmap. Contributed by Frederic Villeneuve - // - wxBitmap GetBitmapForDC(wxDC& dc) const; - protected: // common part of all ctors void Init(); diff --git a/include/wx/msw/dib.h b/include/wx/msw/dib.h index de8271285f..a72122254a 100644 --- a/include/wx/msw/dib.h +++ b/include/wx/msw/dib.h @@ -191,11 +191,6 @@ inline wxDIB::~wxDIB() // 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); diff --git a/src/msw/bitmap.cpp b/src/msw/bitmap.cpp index 139c60f331..1e88064683 100644 --- a/src/msw/bitmap.cpp +++ b/src/msw/bitmap.cpp @@ -1193,70 +1193,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 // ---------------------------------------------------------------------------- -- 2.45.2