コード例 #1
0
 def applet_set_full_icon(self, pixbuf):
     size = self.get_size()
     icon = IconFactory().load_icon(self.config['icon_full'], size)
     if self.config['composite_icon'] \
             and isinstance(icon, gtk.gdk.Pixbuf) \
             and isinstance(pixbuf, gtk.gdk.Pixbuf):
         pixbuf = IconFactory().scale_to_bounded(pixbuf, 0.9 * size)
         cx = (size-pixbuf.get_width())/2
         cy = (size-pixbuf.get_height())/2
         trans = gdk.Pixbuf(
                 pixbuf.get_colorspace(),
                 True,
                 pixbuf.get_bits_per_sample(),
                 size,
                 size)
         trans.fill(0x00000000)
         pixbuf.composite(
                 trans,
                 cx, cy,
                 pixbuf.get_width(),
                 pixbuf.get_height(),
                 cx, cy, 1, 1,
                 gtk.gdk.INTERP_BILINEAR, 255)
         icon.composite(
                 trans, 0,0,
                 size, size,
                 0, 0, 1, 1,
                 gtk.gdk.INTERP_BILINEAR, 255)
         icon = trans
     if icon: self.set_icon_pixbuf(icon)