Fixed handling of transparent background in borderless wxBitmapButton (patch #1477883)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53340 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2008-04-24 23:20:08 +00:00
parent 4f3d5bc061
commit 6d55ca7cb1

View File

@@ -14,6 +14,7 @@
#if wxUSE_BMPBUTTON
#include "wx/bmpbuttn.h"
#include "wx/image.h"
#ifndef WX_PRECOMP
#include "wx/dcmemory.h"
@@ -63,14 +64,12 @@ static wxBitmap wxMakeStdSizeBitmap(const wxBitmap& bitmap)
wxASSERT_MSG( width <= sizeStd && height <= sizeStd,
_T("bitmap shouldn't be cropped") );
newBmp.Create(sizeStd, sizeStd);
wxMemoryDC dcMem;
dcMem.SelectObject(newBmp);
dcMem.Clear();
dcMem.DrawBitmap(bitmap,
(sizeStd - width)/2, (sizeStd-height)/2,
true);
wxImage square_image = bitmap.ConvertToImage();
newBmp = square_image.Size
(
wxSize(sizeStd, sizeStd),
wxPoint((sizeStd - width)/2, (sizeStd-height)/2)
);
}
}
//else: let the system rescale the bitmap