Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/pynxc/waxy/imagepanel.py
blob: d04609c8e3700fa5f6aa1e854fb56db0f0ed5dfb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import wx

class ImagePanel(wx.Panel):

    def __init__(self,parent,id,size=(200,200),image=None,pos=(0,0)):
    
        wx.Panel.__init__(self,parent, id,size=size,pos=pos)
       
        self.image=image
        
        self.bitmap=wx.StaticBitmap(self, -1, image.ConvertToBitmap(),
                                    style=wx.TAB_TRAVERSAL|wx.SIMPLE_BORDER)
        self.update()

    def SetImage(self,image):
        self.image=image
        self.update()

    def update(self):
    
        size=self.GetSizeTuple()
        imsize=(self.image.GetWidth(),self.image.GetHeight())
        
        if (float(imsize[0])/float(size[0]))>(float(imsize[1])/float(size[1])):
            scale=(float(imsize[0])/float(size[0]))
        else:
            scale=(float(imsize[1])/float(size[1]))
            
        newsize=(int(imsize[0]/scale),int(imsize[1]/scale))
        newpos=( (size[0]-newsize[0])/2, (size[1]-newsize[1])/2)
        self.bitmap.SetBitmap(self.image.Rescale(newsize[0],newsize[1]).ConvertToBitmap())
        self.bitmap.SetPosition(newpos);