=== modified file 'src/FuriusMoon/FuriusMoonScreenlet.py' --- src/FuriusMoon/FuriusMoonScreenlet.py 2011-01-05 21:53:21 +0000 +++ src/FuriusMoon/FuriusMoonScreenlet.py 2011-02-08 06:47:06 +0000 @@ -41,6 +41,7 @@ __timeout = None srcdir = argv[0][:argv[0].find('FuriusMoonScreenlet.py')].strip() + phase = '0' moon_image = '' hover = 'True' src_height= 96 @@ -51,10 +52,10 @@ screenlets.Screenlet.__init__(self, width=self.src_width, height=self.src_height, uses_theme=True, **keyword_args) self.theme_name = "default" - self.add_default_menuitems() self.__timeout = gobject.timeout_add(3600000, self.update) def on_init (self): + self.add_default_menuitems() self.get_moon() def get_moon(self): @@ -103,7 +104,7 @@ date = "%s%s%s" % (today.strftime("%d"), months[int(today.strftime("%m"))-1], today.strftime("%Y")) days_into_phase = int(days_into_phase) - + self.phase = '%d' % days_into_phase self.moon_image = self.srcdir + "moons/%s.png" %days_into_phase @@ -119,19 +120,26 @@ def on_draw (self, ctx): - d = decimal.Decimal - ctx.scale(self.scale, self.scale) - ctx.save() - try: - src = cairo.ImageSurface.create_from_png(self.moon_image) - - self.src_height = src.get_height() - self.src_width = src.get_width() - ctx.set_source_surface(src, 0, 0) - ctx.paint() - - except: - pass + + if self.theme: + # set scale rel. to scale-attribute + ctx.scale(self.scale, self.scale) + # TEST: render example-bg into context (either PNG or SVG) + self.theme.render(ctx, self.phase) + else: + d = decimal.Decimal + ctx.scale(self.scale, self.scale) + ctx.save() + try: + src = cairo.ImageSurface.create_from_png(self.moon_image) + + self.src_height = src.get_height() + self.src_width = src.get_width() + ctx.set_source_surface(src, 0, 0) + ctx.paint() + + except: + pass def on_draw_shape (self, ctx): self.on_draw(ctx)