Make wxBitmapBundleImpl public and show how to use it

Show how a custom implementation of wxBitmapBundleImpl can be defined in
the toolbar sample.
This commit is contained in:
Vadim Zeitlin
2021-10-02 16:33:49 +01:00
parent fe3e0c558e
commit 0216654272
4 changed files with 155 additions and 34 deletions

View File

@@ -10,34 +10,7 @@
#ifndef _WX_PRIVATE_BMPBNDL_H_
#define _WX_PRIVATE_BMPBNDL_H_
#include "wx/object.h"
// ----------------------------------------------------------------------------
// wxBitmapBundleImpl is the base class for all wxBitmapBundle implementations
// ----------------------------------------------------------------------------
// This class inherits from wxRefCounter to make it possible to use it with
// wxObjectDataPtr in wxBitmapBundle.
class wxBitmapBundleImpl : public wxRefCounter
{
public:
// Return the size of the bitmaps represented by this bundle in the default
// DPI (a.k.a. 100% resolution).
//
// Must always return a valid size.
virtual wxSize GetDefaultSize() const = 0;
// Retrieve the bitmap of exactly the given size.
//
// Note that this function is non-const because it may generate the bitmap
// on demand and cache it.
virtual wxBitmap GetBitmap(const wxSize size) = 0;
#ifdef __WXOSX__
// returns the native representation of the bitmap bundle
virtual WXImage OSXGetImage() const { return NULL; }
#endif
};
#include "wx/bmpbndl.h"
#ifdef __WXOSX__