Esempio n. 1
0
    def paint(self, surface):
        surface.fill(0)
        surface.center_text(self.font, self.title, y=2)
        surface.hline(11)

        # Lame multi-line text rendering:
        words = self.episode_title.split()
        line1 = ' '.join(words[:len(words) / 2])
        line2 = ' '.join(words[len(words) / 2:])

        surface.center_text(self.font, line1, y=22)
        surface.center_text(self.font, line2, y=32)

        ui.render_progressbar(surface, 0, 48, surface.width, 14,
                              self.audio_service.playback_progress)
Esempio n. 2
0
 def addpanel(self, panel_class, config):
     self.framebuffer.fill(0)
     ui.render_progressbar(self.framebuffer,
                           2, self.framebuffer.height / 2 - 8,
                           self.framebuffer.width - 2 * 2, 16,
                           len(self.panels) / float(len(self.panel_defs)))
     self.framebuffer.center_text(self.font, panel_class.__name__,
                                  rop=graphics.rop_xor)
     self.lcd_update()
     lcd.readkeys()
     logging.info('Initializing %s', panel_class.__name__)
     try:
         instance = self.broker.instantiate(panel_class, config)
         self.panels.append(instance)
         self.backing_stores[instance] = graphics.Surface(lcd.LCD_WIDTH,
                                                          lcd.LCD_HEIGHT)
     except Exception as e:
         logging.error('Failed to initialize panel %s',
                       panel_class.__name__)
         logging.exception(e)
Esempio n. 3
0
 def addpanel(self, panel_class, config):
     self.framebuffer.fill(0)
     ui.render_progressbar(self.framebuffer, 2,
                           self.framebuffer.height / 2 - 8,
                           self.framebuffer.width - 2 * 2, 16,
                           len(self.panels) / float(len(self.panel_defs)))
     self.framebuffer.center_text(self.font,
                                  panel_class.__name__,
                                  rop=graphics.rop_xor)
     self.lcd_update()
     lcd.readkeys()
     logging.info('Initializing %s', panel_class.__name__)
     try:
         instance = self.broker.instantiate(panel_class, config)
         self.panels.append(instance)
         self.backing_stores[instance] = graphics.Surface(
             lcd.LCD_WIDTH, lcd.LCD_HEIGHT)
     except Exception as e:
         logging.error('Failed to initialize panel %s',
                       panel_class.__name__)
         logging.exception(e)