mirror of
https://github.com/wxWidgets/Phoenix.git
synced 2026-01-04 19:10:09 +01:00
Add Python snippets for the BitmapBundle docs
This commit is contained in:
@@ -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))
|
||||
@@ -0,0 +1,2 @@
|
||||
|
||||
# RC resources are not supported in wxPython
|
||||
@@ -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())
|
||||
Reference in New Issue
Block a user