Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
plushkatze
foobarpay
Commits
e0fa48f9
Commit
e0fa48f9
authored
Apr 20, 2016
by
anthraxx
Browse files
screensaver: adding welcome screensaver and cycle through all
parent
92d9b315
Changes
1
Hide whitespace changes
Inline
Side-by-side
foobarpay/screensaver.py
View file @
e0fa48f9
from
time
import
sleep
from
random
import
randint
class
Screensaver
(
object
):
def
__init__
(
self
,
display
,
tick_time
):
self
.
display
=
display
self
.
screensavers
=
[
PacmanScreensaver
(
display
,
tick_time
)]
self
.
active_screensaver
=
self
.
screensavers
[
0
]
self
.
screensavers
=
[
WelcomeScreensaver
(
display
,
tick_time
),
PacmanScreensaver
(
display
,
tick_time
)
]
self
.
active_screensaver
=
1
def
get_active_screensaver
(
self
):
return
self
.
screensavers
[
self
.
active_screensaver
]
.
reset
()
return
self
.
screensavers
[
self
.
active_screensaver
]
def
reset
(
self
):
self
.
active_screensaver
.
reset
()
self
.
get_
active_screensaver
()
.
reset
()
def
tick
(
self
):
if
not
self
.
active_screensaver
.
tick
():
self
.
active_screensaver
.
reset
()
screensaver
=
self
.
get_active_screensaver
()
if
screensaver
.
tick
():
return
screensaver
.
reset
()
if
self
.
active_screensaver
>
0
:
self
.
active_screensaver
=
0
else
:
self
.
active_screensaver
=
randint
(
1
,
len
(
self
.
screensavers
)
-
1
)
class
WelcomeScreensaver
(
object
):
def
__init__
(
self
,
display
,
tick_time
):
self
.
display
=
display
self
.
sleep_duration
=
0.5
self
.
duration
=
20
/
self
.
sleep_duration
self
.
tick_time
=
tick_time
self
.
reset
()
def
reset
(
self
):
self
.
display
.
clear
()
self
.
current_tick
=
0
def
tick
(
self
):
self
.
display
.
show_welcome
(
clear
=
False
)
self
.
current_tick
+=
1
sleep
(
self
.
sleep_duration
-
self
.
tick_time
)
return
self
.
current_tick
<=
self
.
duration
class
PacmanScreensaver
(
object
):
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment