+ def realize(self):
+ screen = self.get_screen()
+ colormap = screen.get_rgba_colormap()
+ self.set_colormap(colormap)
+ return None
+
+ def do_expose_event(widget, event):
+ cr = widget.window.cairo_create()
+ cr.set_operator(cairo.OPERATOR_OVER)
+ widget.draw(widget.e_up, imagedir + "up0-48x48.png")
+ widget.draw(widget.e_down, imagedir + "down0-48x48.png")
+ widget.draw(widget.e_prev, imagedir + "left0-48x48.png")
+ widget.draw(widget.e_next, imagedir + "right0-48x48.png")
+ widget.draw(widget.e_switch, imagedir + "star0-48x48.png")
+ region = gtk.gdk.region_rectangle(event.area)
+ cr.region(region)
+ bg_color=gtk.gdk.color_parse('#000000')
+ cr.set_source_rgba (0.0, 0.0, 0.0, 0.7)
+ cr.fill()
+ return False
+
+ def draw(self, target, pic):
+ cr_e = target.window.cairo_create()
+ cr_e.set_source_rgba(0.0, 0.0, 0.0, 0.7) # Transparent
+ cr_e.set_operator(cairo.OPERATOR_SOURCE)
+ cr_e.paint()
+ if pic != None:
+ cr_e.set_operator(cairo.OPERATOR_OVER)
+ image = cairo.ImageSurface.create_from_png(pic)
+ cr_e.set_source_surface(image, 0, 0)
+ cr_e.paint()
+