Add Python snippets for the BitmapBundle docs

This commit is contained in:
Robin Dunn
2022-05-17 18:49:36 -07:00
parent 0a771ad404
commit 04cc18fbe8
3 changed files with 35 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
# In __init__ for a wx.Frame
...
toolBar = self.CreateToolBar()
bitmaps = [ wx.Bitmap('open_32x32.png'),
wx.Bitmap('open_32x32.png'),
wx.Bitmap('open_32x32.png') ]
toolBar.AddTool(wx.ID_OPEN, wx.BitmapBundle.FromBitmaps(bitmaps))

View File

@@ -0,0 +1,2 @@
# RC resources are not supported in wxPython

View File

@@ -0,0 +1,25 @@
class MyCustomBitmapBundleImpl(wx.BitmapBundleImpl):
def __init__(self):
super().__init__()
self.img = wx.Image(pngFile)
self.size = self.img.GetSize()
def GetDefaultSize(self):
# Report the best or default size for the bitmap
return self.size
def GetPreferredBitmapSizeAtScale(self, scale):
# Return the size of the bitmap at the given display scale. It
# doesn't need to be size*scale if there are unscaled bitmaps
# near that size.
return self.size * scale
def GetBitmap(self, size):
# Return the version of the bitmap at the desired size
img = self.img.Scale(size.width, size.height)
return wx.Bitmap(img)
toolBar.AddTool(wx.ID_OPEN, wx.BitmapBundle.FromImpl(MyCustomBitmapBundleImpl())