Fix BitmapComboBox for wxWidgets 3.3 (wxBitmap -> wxBitmapBundle)

In wxWidgets 3.3, wxBitmapComboBoxBase::OnAddBitmap changed its
parameter from const wxBitmap& to const wxBitmapBundle&, and m_bitmaps
was replaced by m_bitmapbundles. Update OnAddBitmap signature and
OnDrawItem to use wxBitmapBundle, extracting wxBitmap via
GetBitmap(GetDefaultSize()) where needed.
This commit is contained in:
SoftFever
2026-03-25 11:26:32 +08:00
parent 85390a9da0
commit 5f365b5c6b
2 changed files with 5 additions and 3 deletions

View File

@@ -91,8 +91,9 @@ BitmapComboBox::~BitmapComboBox()
}
#ifdef __APPLE__
bool BitmapComboBox::OnAddBitmap(const wxBitmap& bitmap)
bool BitmapComboBox::OnAddBitmap(const wxBitmapBundle& bundle)
{
wxBitmap bitmap = bundle.GetBitmap(bundle.GetDefaultSize());
if (bitmap.IsOk())
{
// we should use scaled! size values of bitmap
@@ -131,7 +132,8 @@ void BitmapComboBox::OnDrawItem(wxDC& dc,
int item,
int flags) const
{
const wxBitmap& bmp = *(static_cast<wxBitmap*>(m_bitmaps[item]));
const wxBitmapBundle& bundle = m_bitmapbundles[item];
wxBitmap bmp = bundle.GetBitmap(bundle.GetDefaultSize());
if (bmp.IsOk())
{
// we should use scaled! size values of bitmap

View File

@@ -47,7 +47,7 @@ protected:
* For this purpose control drawing methods and
* control size calculation methods (virtual) are overridden.
**/
bool OnAddBitmap(const wxBitmap& bitmap) override;
bool OnAddBitmap(const wxBitmapBundle& bitmap) override;
void OnDrawItem(wxDC& dc, const wxRect& rect, int item, int flags) const override;
#endif