123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- # -*- coding: utf-8 -*-
- from datetime import datetime, timedelta
- import os
- import sys
- import time
- if os.getcwd() not in sys.path:
- sys.path.insert(0, os.getcwd())
- from pie_time import PieTime
- from pie_time.cards import ClockCard
- from pie_time.card import AbstractCard
- import pygame
- class ExampleCard(AbstractCard):
- def initialize(self):
- self.sprite = pygame.surface.Surface((20, 20))
- self.sprite.fill((255, 0, 0))
- self.orig_sprite_rect = self.sprite.get_rect()
- self.orig_speed = [2, 2]
- self.sprite_rect = self.orig_sprite_rect
- self.speed = self.orig_speed
- def show(self):
- self.sprite_rect = self.orig_sprite_rect
- self.speed = self.orig_speed
- def tick(self):
- self.sprite_rect = self.sprite_rect.move(self.speed)
- if self.sprite_rect.left < 0 or self.sprite_rect.right > self.width:
- self.speed[0] = -self.speed[0]
- if self.sprite_rect.top < 0 or self.sprite_rect.bottom > self.height:
- self.speed[1] = -self.speed[1]
- self.surface.fill(self.background_color)
- self.surface.blit(self.sprite, self.sprite_rect)
- class CustomApp(PieTime):
- def __init__(self, *args, **kwargs):
- super(CustomApp, self).__init__(*args, **kwargs)
- self._ctt_region_prev = pygame.Rect(0, 0, 160, 240)
- self._ctt_region_next = pygame.Rect(160, 0, 160, 240)
- def will_blank(self):
- self.logger.debug('CustomApp.will_blank')
- def will_unblank(self):
- self.logger.debug('CustomApp.will_unblank')
- deck = [
- (ClockCard, 10),
- (ExampleCard, 10),
- ]
- app = CustomApp(
- deck, verbose=True, fps=40,
- blanker_schedule=(
- timedelta(hours=23), timedelta(hours=6)
- ),
- click_to_unblank_interval=10
- )
- if __name__ == '__main__':
- app.run()
|